将定制状态报告添加到安装脚本
无人参与文件中建议的预定义宏报告最终操作系统部署状态,并报告下载和运行后安装脚本时的状态。可在安装后脚本中包含其他状态报告。
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. 定制安装后脚本错误
注:对于 Lenovo XClarity Administrator 用于报告状态的 HTTPS URL,curl 命令使用预定义的宏(predefined.otherSettings.statusSettings.urlStatus);对于包含首次引导时从主机操作系统访问 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
对于 Windows,可导入 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#)。
以下示例是一个 PowerShell 安装脚本,该脚本将安装 Java 并在安装失败时报告错误
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."