インストール・スクリプトに報告するカスタム・ステータスの追加
ポスト・インストール・スクリプトがダウンロードおよび実行されると、無人ファイル内の推奨される事前定義済みマクロによって、オペレーティング・システムのデプロイメントの最終的なステータスが報告されます。ポスト・インストール・スクリプトに追加のステータス報告を含めることができます。
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
<status_ID> は以下のいずれかの値です。
44. ワークロードのデプロイメントが成功しました
45. ワークロードのデプロイメントが警告ありで実行中です。
46. ワークロードのデプロイメントが失敗しました
47. ワークロード・デプロイメント・メッセージ
48. カスタム・ポスト・インストール・スクリプト・エラー
curl コマンドは、Lenovo XClarity Administrator がステータスをレポートするために使用する HTTPS URL (predefined.otherSettings.statusSettings.urlStatus)、および最初のブート時にホスト OS から urlStatus Web サービスにアクセスするために必要な証明書を含むフォルダー (predefined.otherSettings.statusSettings.certLocation) に、事前定義済みマクロを使用します。次の例では、ポスト・インストール・スクリプトで発生したエラーを報告します。
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
Wiindows の場合、LXCA.psm1 スクリプトをインポートして次のコマンドを呼び出し、ステータスを報告できます。
initializeRestClient
REST クライアントを初期化します。このコマンドを実行するには、次の構文を使用します。このコマンドは、レポーティング・コマンドを実行する前に必要です。
initializeRestClient
testLXCAConnection
XClarity Administrator がホスト・サーバーに接続できることを検証します。このコマンドを実行するには、次の構文を使用します。このコマンドはオプションですが、レポーティング・コマンドを実行する前にインストール・スクリプト内で推奨されます。
testLXCAConnection –masterIP "#predefined.otherSettings.lxcaIp#"
reportWorkloadDeploymentSucceeded
正常完了メッセージが XClarity Administrator ジョブ・ログに記録されたことを報告します。このコマンドを実行するには、次の構文を使用します。
ヒント#predefined.unattendSettings.reportWorkloadNotComplete# マクロがカスタム無人ファイルまたはポスト・インストール・スクリプトに含まれている場合、reportWorkloadDeploymentSucceeded コマンドをポスト・インストール・スクリプトに含めて正常に完了した信号を送信します。その他の場合は、XClarity Administrator によってポスト・インストール・スクリプトの実行後に自動的に完了ステータスが報告されます。reportWorkloadDeploymentSucceeded -masterIP "#predefined.otherSettings.lxcaIp#"
-UUID "#predefined.hostPlatforms.uuid#"reportWorkloadDeploymentRunningWithWarning
警告メッセージが XClarity Administrator ジョブ・ログに記録されたことを報告します。このコマンドを実行するには、次の構文を使用します。
reportWorkloadDeploymentRunningWithWarning -masterIP "#predefined.otherSettings.lxcaIp#"
-UUID "#predefined.hostPlatforms.uuid#" –WarningMessage "<message_text>"reportWorkloadDeploymentFailed
失敗メッセージが XClarity Administrator ジョブ・ログに記録されたことを報告します。このコマンドを実行するには、次の構文を使用します。
reportWorkloadDeploymentFailed -masterIP "#predefined.otherSettings.lxcaIp#"
-UUID "#predefined.hostPlatforms.uuid#" -ErrorMessage "<message_text>"reportCustomPostInstallScriptError
ポスト・インストール・スクリプト・エラー・メッセージが XClarity Administrator ジョブ・ログに記録されたことを報告します。このコマンドを実行するには、次の構文を使用します。
reportCustomPostInstallScriptError -masterIP "#predefined.otherSettings.lxcaIp#"
-UUID "#predefined.hostPlatforms.uuid#" -Message "<message_text>"reportWorkloadDeploymentMessage
一般メッセージが XClarity Administrator ジョブ・ログに記録されたことを報告します。デプロイメントの状態には影響しません。このコマンドを実行するには、次の構文を使用します。
reportWorkloadDeploymentMessage -masterIP "#predefined.otherSettings.lxcaIp#"
-UUID "#predefined.hostPlatforms.uuid#" -Message "<message_text>"
ここで <message_text> は各ステータス状況で XClarity Administrator に返すメッセージです。
これらのコマンドは XClarity Administrator インスタンスの IP アドレス (#predefined.otherSettings.lxcaIp#) およびオペレーティング・システムがデプロイされるホスト・サーバーの UUID (#predefined.hostPlatforms.uuid#) に事前定義済みマクロを使用することに注意してください。
次の例は、Java をインストールし、インストールが失敗した場合はエラーを報告する、PowerShell インストール スクリプトです。
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."