Pular para o conteúdo principal

Adicionando relatório de status personalizado aos scripts de instalação

As macros predefinidas recomendadas no arquivo sem supervisão reportam o status de implantação do sistema operacional final e o status ao baixar e executar scripts pós-instalação. Você pode incluir relatórios de status adicionais nos scripts pós-instalação.

Linux

No Linux, é possível usar o comando curl a seguir para relatar status.
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

Em que <status_ID> pode ser um dos valores a seguir.

  • 44. Implantação de carga de trabalho bem-sucedida

  • 45. Implantação de carga de trabalho em execução com aviso

  • 46. Falha na implantação da carga de trabalho

  • 47. Mensagem de implantação da carga de trabalho

  • 48. Erro de script pós-instalação personalizado

Observe que o comando curl usa macros predefinidas para a URL HTTPS URL que o Lenovo XClarity Administrator usa para relatório de status (predefined.otherSettings.statusSettings.urlStatus) e para a pasta que contém os certificados necessários para acessar o serviço Web urlStatus do SO do host na primeira inicialização (predefined.otherSettings.statusSettings.certLocation). O exemplo a seguir relata um erro no script pós-instalação.

O exemplo a seguir relata que ocorreu um erro no script pós-instalação.
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

No Windows, é possível importar o script LXCA.psm1 e chamar os seguintes comandos para relatar status.

  • initializeRestClient

    Inicializa o cliente REST. Use a seguinte sintaxe para executar este comando. Esse comando é necessário antes de executar os comandos de geração de relatórios.

    initializeRestClient
  • testLXCAConnection

    Verifica se o XClarity Administrator pode se conectar ao servidor host. Use a seguinte sintaxe para executar este comando. Esse comando é opcional, mas recomendado no script de instalação antes de executar os comandos de geração de relatórios.

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

    Relata uma mensagem de conclusão bem-sucedida para ser registrada no log de tarefas doXClarity Administrator. Use a seguinte sintaxe para executar este comando.

    Dica
    se a macro #predefined.unattendSettings.reportWorkloadNotComplete# for incluída em um arquivo sem supervisão personalizado ou em um script pós-instalação, inclua o comando reportWorkloadDeploymentSucceeded no script pós-instalação para indicar a conclusão bem-sucedida. Caso contrário, XClarity Administrator reportará automaticamente um status concluído depois que todos os scripts pós-instalação forem executados.
    reportWorkloadDeploymentSucceeded -masterIP "#predefined.otherSettings.lxcaIp#" 
    -UUID "#predefined.hostPlatforms.uuid#"
  • reportWorkloadDeploymentRunningWithWarning

    Relata uma mensagem de aviso para ser registrada no log de tarefas doXClarity Administrator. Use a seguinte sintaxe para executar este comando.

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

    Relata uma mensagem de falha para ser registrada no log de tarefas doXClarity Administrator. Use a seguinte sintaxe para executar este comando.

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

    Relata uma mensagem de scrip pós-instalação para ser registrada no log de tarefas doXClarity Administrator. Use a seguinte sintaxe para executar este comando.

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

    Relata uma mensagem geral para ser registrada no log de tarefas do XClarity Administrator sem afetar o estado da implantação. Use a seguinte sintaxe para executar este comando.

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

Em que <message_text> é a mensagem para a qual você deseja retornar XClarity Administrator para cada condição de status.

Observe que esses comandos usam macros predefinidas para o endereço IP da instância do XClarity Administrator (#predefined.otherSettings.lxcaIp#) e para o UUID do servidor de host ao qual o sistema operacional deve ser implantado (#predefined.hostPlatforms.uuid#).

O exemplo a seguir é um script de instalação do PowerShell que instala Java e relata um erro se a instalação falhar

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