Saltar al contenido principal

Agregar informes de estado personalizados a los scripts de instalación

Las macros predefinidas recomendadas en el archivo de instalación desatendida informan el estado del despliegue del sistema operativo final y el estado de informe cuando descarga y ejecuta scripts posteriores a la instalación. Puede incluir informes de estado adicionales en los scripts posteriores a la instalación.

Linux

En Linux, puede utilizar los siguientes comandos curl para informar el estado.
curl -X PUT -globoff #predefined.otherSettings.statusSettings.urlStatus#
-H "Content-Type: application/json" -d '{"deployStatus":{"id":"<status_ID>"}}'
-cert #predefined.otherSettings.statusSettings.certLocation#/cert.pem
-key #predefined.otherSettings.statusSettings.certLocation#/key.pem
-cacert #predefined.otherSettings.statusSettings.certLocation#/ca-bundle.crt

Donde <status_ID> puede ser uno de los siguientes valores.

  • 44. El despliegue de carga de trabajo tuvo éxito

  • 45. El despliegue de la carga de trabajo se está ejecutando con una advertencia

  • 46. El despliegue de carga de trabajo falló

  • 47. Mensaje de despliegue de carga de trabajo

  • 48. Error en el script posterior a la instalación personalizada

Tenga en cuenta que el comando curl usa macros predefinidos para la URL HTTPS que Lenovo XClarity Administrator usa para informar estados (predefined.otherSettings.statusSettings.urlStatus) y para la carpeta que contiene los certificados que se necesitan para acceder al servicio web urlStatus desde el SO host en el primer inicio (predefined.otherSettings.statusSettings.certLocation). El siguiente ejemplo informa que el error ocurrió en el script posterior a la instalación.

El ejemplo siguiente informa de que se produjo un error en el script posterior a la instalación.
curl -X PUT -globoff #predefined.otherSettings.statusSettings.urlStatus#
-H "Content-Type: application/json" -d '{"deployStatus":{"id":"48"}}'
-cert #predefined.otherSettings.statusSettings.certLocation#/cert.pem
-key #predefined.otherSettings.statusSettings.certLocation#/key.pem
-cacert #predefined.otherSettings.statusSettings.certLocation#/ca-bundle.crt

Windows

Para Wiindows, puede importar el script LXCA.psm1 y luego llamar los siguientes comandos para informar el estado.

  • initializeRestClient

    Inicializa al cliente REST. Utilice la siguiente sintaxis para ejecutar este comando. Este comando se requiere antes de ejecutar los comandos de generación de informes.

    initializeRestClient
  • testLXCAConnection

    Comprueba que los XClarity Administrator se pueden conectar con el servidor host. Utilice la siguiente sintaxis para ejecutar este comando. Este comando es opcional pero se recomienda en el script de instalación antes de ejecutar los comandos de generación de informes.

    testLXCAConnection –masterIP "#predefined.otherSettings.lxcaIp#"
  • reportWorkloadDeploymentSucceeded

    Notifica un mensaje de finalización correcta para iniciar sesión en el registro de trabajos de XClarity Administrator. Utilice la siguiente sintaxis para ejecutar este comando.

    Consejo
    si el macro #predefined.unattendSettings.reportWorkloadNotComplete# se incluye en un archivo de instalación desatendida personalizado o un script posterior a la instalación, incluya el comando reportWorkloadDeploymentSucceeded en el script posterior a la instalación para indicar una finalización exitosa. De lo contrario XClarity Administrator informa automáticamente un estado completo después de ejecutar los scripts posteriores a la instalación.
    reportWorkloadDeploymentSucceeded -masterIP "#predefined.otherSettings.lxcaIp#" 
    -UUID "#predefined.hostPlatforms.uuid#"
  • reportWorkloadDeploymentRunningWithWarning

    Informa de un mensaje de advertencia para iniciar sesión en el registro de trabajo XClarity Administrator. Utilice la siguiente sintaxis para ejecutar este comando.

    reportWorkloadDeploymentRunningWithWarning -masterIP "#predefined.otherSettings.lxcaIp#" 
    -UUID "#predefined.hostPlatforms.uuid#" –WarningMessage "<message_text>"
  • reportWorkloadDeploymentFailed

    Informa de un mensaje de error para iniciar sesión en el registro de trabajo XClarity Administrator. Utilice la siguiente sintaxis para ejecutar este comando.

    reportWorkloadDeploymentFailed -masterIP "#predefined.otherSettings.lxcaIp#" 
    -UUID "#predefined.hostPlatforms.uuid#" -ErrorMessage "<message_text>"
  • reportCustomPostInstallScriptError

    Informa de un mensaje de error de script posterior a la instalación para iniciar sesión en el registro de trabajo XClarity Administrator. Utilice la siguiente sintaxis para ejecutar este comando.

    reportCustomPostInstallScriptError -masterIP "#predefined.otherSettings.lxcaIp#" 
    -UUID "#predefined.hostPlatforms.uuid#" -Message "<message_text>"
  • reportWorkloadDeploymentMessage

    Informa de un mensaje general para iniciar sesión en el registro de trabajo XClarity Administrator sin afectar el estado del despliegue. Utilice la siguiente sintaxis para ejecutar este comando.

    reportWorkloadDeploymentMessage -masterIP "#predefined.otherSettings.lxcaIp#" 
    -UUID "#predefined.hostPlatforms.uuid#" -Message "<message_text>"

Donde <message_text> es el mensaje que desea arrojar a XClarity Administrator para cada condición de estado.

Tenga en cuenta que estos comandos usan macros predefinidos para la dirección IP de la instancia XClarity Administrator (#predefined.otherSettings.lxcaIp#) y para el UUID del servidor de host en el que se implementará el sistema operativo (#predefined.hostPlatforms.uuid#).

El siguiente ejemplo es un script de instalación de PowerShell que instala Java y presenta un error si la instalación falla

import-module C:\windows\system32\WindowsPowerShell\v1.0\Modules\LXCA\LXCA.psm1

initializeRestClient

testLXCAConnection –masterIP "#predefined.otherSettings.lxcaIp#"

Write-Output "Reporting status to Lenovo XClarity Administator..."
reportWorkloadDeploymentMessage -masterIP "#predefined.otherSettings.lxcaIp#"
-UUID "#predefined.hostPlatforms.uuid#" -Message "Installing Java"

Write-Output "Install Java...."
Invoke-Command -ScriptBlock {#predefined.otherSettings.deployDataAndSoftwareLocation#\jre-8u151-windows-x64.exe
[INSTALLCFG=#predefined.otherSettings.deployDataAndSoftwareLocation#\java_configfile.cfg] /s}

if ($LastExitCode -ne 0) {
reportWorkloadDeploymentFailed -masterIP "#predefined.otherSettings.lxcaIp#"
-UUID "#predefined.hostPlatforms.uuid#" -ErrorMessage "Java could not be installed"
}

Write-Output "Completed install of Java for Administrator user."