• 沒有找到結果。

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 服务器已成功处理了请求。

其他返回值请参考状态码。

错误码

请参考错误码。