4.4 裸金属服务器状态管理
4.4.2 重装裸金属服务器操作系统
功能介绍
重装裸金属服务器的操作系统。快速发放裸金属服务器支持裸金属服务器数据盘不变 的情况下,使用原镜像重装系统盘。重装操作系统支持密码或者密钥注入。
说明
确定裸金属服务器是否为快速发放,请参考查询规格详情和规格扩展信息列表API。
重装操作系统属于异步API,接口调用成功只表示请求下发成功,任务执行结果请通过查询Job 状态API获取。
约束
● 使用私有镜像创建的裸金属服务器,请确保已经安装了Cloud-init(Linux镜像)
或Cloudbase-init(Windows镜像)。如使用未安装Cloud-init或Cloudbase-init的 镜像,该接口不能注入密钥或密码。公共镜像默认已安装Cloud-init或Cloudbase-init。
● 执行重装操作系统任务时,请勿并行执行其他任务,否则可能会引起重装操作系 统失败。
● 关机状态或者重装操作系统失败的裸金属服务器,才能执行重装操作。
● 目前Windows镜像不支持注入密码,Linux镜像的user_data为加密后的密码。
调试
您可以在API Explorer中调试该接口。
URI
POST /v1/{project_id}/baremetalservers/{server_id}/reinstallos 参数说明请参见表4-48。
表4-48 参数说明
参数 是否必选 描述
project_id 是 项目ID。
获取方式请参见获取项目ID。
参数 是否必选 描述
server_id 是 裸金属服务器ID。
可以从裸金属服务器控制台查询,或者通 过调用查询裸金属服务器列表
(OpenStack原生)API获取。
请求消息
● 请求参数
参数 是否必选 参数类型 描述
os-reinstall 是 Object 标记为重装裸金属服务器操作。详 情请参见表4-49。
表4-49 os-reinstall 字段数据结构说明
参数 是否必选 参数类型 描述
adminpass 否 String 裸金属服务器管理员帐号的初始登 录密码。
其中,Linux管理员帐户为root,
Windows管理员帐户为 Administrator。
建议密码复杂度如下:
● 长度为8-26位。
● 密码至少必须包含大写字母、
小写字母、数字和特殊字符(!
@$%^-_=+[{}]:,./?)中的三 种。
● 密码不能包含用户名或用户名 的逆序。
说明
● 对于Windows裸金属服务器,不 能包含用户名中超过两个连续字符 的部分。
● 对于Linux裸金属服务器也可使用 user_data字段实现密码注入,此 时adminpass字段无效。
● adminpass和keyname不能同时有 值。
● adminpass和keyname如果同时为 空,此时,metadata中的 user_data属性必须有值。
参数 是否必选 参数类型 描述 keyname 否 String 密钥名称。
密钥可以通过创建和导入SSH密钥
(OpenStack原生)API创建,或 者使用查询SSH密钥列表
(OpenStack原生)API查询已有 的密钥。
userid 否 String 用户ID(登录管理控制台,进入我 的凭证,即可看到“用户ID”)。
metadata 否 Object 重装裸金属服务器的元数据。详情 请参见表4-50。
表4-50 metadata 字段数据结构说明
参数 是否必选 参数类型 描述
user_data 否 String 重装裸金属服务器过程中待注入的 Linux镜像root密码,用户自定义
echo 'root:Cloud.1234' | chpasswd ;
● 使用密码: d910' | chpasswd -e
● 此脚本需经base64编码方式编
[root@test linux]# python -c "import crypt, getpass, pwd;print
crypt.mksalt()"
$6$V6azyeLwcD3CHlpY
2. 根据盐值生成密文密码
[root@test linux]# python -c "import crypt, getpass, pwd;print
crypt.crypt('Cloud.1234','\$6\
POST https://{BMS Endpoint}/v1/bbf1946d374b44a0a2a95533562ba954/baremetalservers/cf2a8b97-b5c6-47ef-9714-eb27adf26e5b/reinstallos
{ "os-reinstall": {
"keyname": "KeyPair-350b",
"userid": "7e25b1da389f4697a79df3a0e5bd494e", "metadata": {
"user_data":
"IyEvYmluL2Jhc2gKZWNobyAncm9vdDokNiR0Y0pZamUkNGhhUHlNZFR4VWVHc2dTMWFmL1NsMm4 vbXZzdy5wSFdjbTVBc084OWFhUFhGNXUvVnJ5OXJiYmZZSW45SmZac2k3SlRmd2Z6djJPbTBHRFZUZTd6 RDEnIHwgY2hwYXNzd2QgLWU7"
} } }
响应消息
请参考任务Id的响应。
返回值
正常返回值:
返回值 说明
200 服务器已成功处理了请求。
其他返回值请参考状态码。
错误码
请参考错误码。