Aller au contenu principal

Ajout de rapport d'état personnalisé aux scripts d’installation

Les macros prédéfinies recommandées dans le fichier sans opérateur indiquent l'état de déploiement de système d'exploitation final et l'état lors du téléchargement et de l'exécution de scripts de post-installation. Vous pouvez inclure un rapport d'état personnalisé dans les scripts de post-installation.

Linux

Pour Linux, vous pouvez utiliser la commande curl suivante pour indiquer l'état.
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

<status_ID> peut être l'une des valeurs suivantes.

  • 44. Le déploiement de la charge de travail a réussi

  • 45. Le déploiement de la charge de travail s’exécute avec un avertissement

  • 46. Le déploiement de la charge de travail a échoué

  • 47. Message de déploiement de charge de travail

  • 48. Erreur de script de post-installation personnalisé

Notez que la commande curl utilise des macros prédéfinies pour l'URL HTTPS utilisée par Lenovo XClarity Administrator pour la production de rapports d'état (predefined.otherSettings.statusSettings.urlStatus) et pour le dossier contenant les certificats qui sont nécessaires pour accéder au service Web urlStatus depuis le SE hôte au premier amorçage (predefined.otherSettings.statusSettings.certLocation). L'exemple suivant indique qu'une erreur s'est produite dans le script de post-installation.

L’exemple suivant indique qu’une erreur s’est produite dans le script de post-installation.
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

Pour Windows, vous pouvez importer le script LXCA.psm1, puis appeler les commandes suivantes pour indiquer l'état.

  • initializeRestClient

    Initialise le client REST. Utilisez la syntaxe suivante pour exécuter cette commande. Cette commande est requise avant l'exécution des commandes de génération de rapports.

    initializeRestClient
  • testLXCAConnection

    Vérifie que XClarity Administrator peut se connecter au serveur hôte. Utilisez la syntaxe suivante pour exécuter cette commande. Cette commande est facultative mais elle est recommandée dans le script d'installation avant l’exécution des commandes de génération de rapports.

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

    Indique un message d'achèvement à consigner dans le journal des travaux de XClarity Administrator. Utilisez la syntaxe suivante pour exécuter cette commande.

    Conseil
    Si la macro #predefined.unattendSettings.reportWorkloadNotComplete# est incluse dans un fichier sans opérateur personnalisé ou un script de post-installation, incluez la commande reportWorkloadDeploymentSucceeded dans le script de post-installation afin d'indiquer une opération réussie. Dans le cas contraire, XClarity Administrator indique automatiquement un état d'achèvement une fois tous les scripts de post-installation exécutés.
    reportWorkloadDeploymentSucceeded -masterIP "#predefined.otherSettings.lxcaIp#" 
    -UUID "#predefined.hostPlatforms.uuid#"
  • reportWorkloadDeploymentRunningWithWarning

    Indique un message d'avertissement à consigner dans le journal des travaux de XClarity Administrator. Utilisez la syntaxe suivante pour exécuter cette commande.

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

    Indique un message d'échec à consigner dans le journal des travaux de XClarity Administrator. Utilisez la syntaxe suivante pour exécuter cette commande.

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

    Indique un message d'erreur de script de post-installation à consigner dans le journal des travaux de XClarity Administrator. Utilisez la syntaxe suivante pour exécuter cette commande.

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

    Indique un message général à consigner dans le journal des travaux de XClarity Administrator sans que cela n'ait d'incidence sur l'état du déploiement. Utilisez la syntaxe suivante pour exécuter cette commande.

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

<message_text> est le message que vous souhaitez renvoyer à XClarity Administratorpour chaque condition d'état.

Notez que ces commandes utilisent des macros prédéfinies pour l’adresse IP de l'instance de XClarity Administrator (#predefined.otherSettings.lxcaIp#) et pour l'UUID du serveur hôte sur lequel le système d'exploitation doit être déployé (#predefined.hostPlatforms.uuid#).

L’exemple suivant est un script d'installation PowerShell qui installe Java et signale une erreur en cas d’échec de l’installation

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