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
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.
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.
Consejosi 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."