Passa al contenuto principale

Aggiunta di report di stato personalizzato agli script di installazione

Le macro predefinite consigliate nel file di installazione automatica riportano lo stato finale di distribuzione del sistema operativo e lo stato di download ed esecuzione degli script post-installazione. È possibile includere report di stato aggiuntivi negli script post-installazione.

Linux

Per Linux, è possibile utilizzare il seguente comando curl per riportare lo stato.
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

Dove <status_ID> può essere uno dei seguenti valori.

  • 44. Distribuzione del carico di lavoro riuscita

  • 45. Distribuzione del carico di lavoro in esecuzione con avvertenza

  • 46. Distribuzione del carico di lavoro non riuscita

  • 47. Messaggio di distribuzione del carico di lavoro

  • 48. Errore dello script post-installazione personalizzato

Tenere presente che il comando curl utilizza macro predefinite per l'URL HTTPS che Lenovo XClarity Administrator usa per segnalare lo stato (predefined.otherSettings.statusSettings.urlStatus) e per la cartella contenente i certificati necessari per accedere al servizio web urlStatus dal sistema operativo host al primo avvio (predefined.otherSettings.statusSettings.certLocation). Il seguente esempio riporta un errore che si è verificato nello script post-installazione.

Il seguente esempio riporta un errore che si è verificato nello script post-installazione.
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

Per Wiindows, è possibile importare lo script LXCA.psm1 e quindi richiamare i seguenti comandi per segnalare lo stato.

  • initializeRestClient

    Inizializza il client REST. Utilizzare la seguente sintassi per eseguire questo comando. Questo comando è richiesto prima di eseguire i comandi di report.

    initializeRestClient
  • testLXCAConnection

    Verifica che XClarity Administrator può collegarsi al server host. Utilizzare la seguente sintassi per eseguire questo comando. Questo comando è facoltativo ma consigliato nello script di installazione prima di eseguire i comandi di report.

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

    Riporta un messaggio di completamento riuscito da aggiungere al log dei processi di XClarity Administrator. Utilizzare la seguente sintassi per eseguire questo comando.

    Suggerimento
    se la macro #predefined.unattendSettings.reportWorkloadNotComplete# è inclusa in un file di installazione automatica personalizzato o nello script post-installazione, includere il comando reportWorkloadDeploymentSucceeded nello script post-installazione per indicare un completamento riuscito. In caso contrario, XClarity Administrator riporta automaticamente lo stato "Completo", dopo l'esecuzione di tutti gli script post-installazione.
    reportWorkloadDeploymentSucceeded -masterIP "#predefined.otherSettings.lxcaIp#" 
    -UUID "#predefined.hostPlatforms.uuid#"
  • reportWorkloadDeploymentRunningWithWarning

    Riporta un messaggio di avvertenza da registrare nel log dei processi di XClarity Administrator. Utilizzare la seguente sintassi per eseguire questo comando.

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

    Riporta un messaggio di errore da registrare nel log dei processi di XClarity Administrator. Utilizzare la seguente sintassi per eseguire questo comando.

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

    Riporta un messaggio di errore dello script post-installazione da registrare nel log dei processi di XClarity Administrator. Utilizzare la seguente sintassi per eseguire questo comando.

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

    Riporta un messaggio generale per da registrare nel log dei processi di XClarity Administrator senza compromettere lo stato della distribuzione. Utilizzare la seguente sintassi per eseguire questo comando.

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

Dove <message_text> è il messaggio che si desidera restituire a XClarity Administrator per ogni condizione di stato.

Tenere presente che questi comandi utilizzano macro predefinite per l'indirizzo IP dell'istanza di XClarity Administrator (#predefined.otherSettings.lxcaIp#) e per l'UUID del server host su cui verrà distribuito il sistema operativo (#predefined.hostPlatforms.uuid#).

Il seguente esempio è uno script post-installazione PowerShell che installa Java e segnala un errore, se l'installazione non riesce

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