4.3 裸金属服务器生命周期管理
4.3.1 创建裸金属服务器
"href": "http://bms.xxx.com/v1/", "rel": "self"
} ],
"min_version": "", "status": "CURRENT",
"updated": "2018-09-30T00:00:00Z", "version": ""
} }
返回值
正常返回值:
返回值 说明
200 服务器已成功处理了请求。
其他返回值请参考状态码。
错误码
请参考错误码。
4.3 裸金属服务器生命周期管理
4.3.1 创建裸金属服务器
功能介绍
创建一台或多台裸金属服务器。
背景信息(设置登录鉴权方式)
裸金属服务器的登录鉴权方式包括两种:密钥对、密码。为安全起见,推荐使用密钥 对方式。
● 密钥对
指使用密钥对作为裸金属服务器的鉴权方式。
接口调用方法:使用key_name字段,指定裸金属服务器登录时使用的密钥文 件。key_name字段的使用方法请参见表4-7。
● 密码
指使用设置初始密码方式作为裸金属服务器的鉴权方式,此时,您可以通过用户 名密码方式登录裸金属服务器,Linux操作系统时为root用户的初始密码,
Windows操作系统时为Administrator用户的初始密码。
接口调用方法:
– 方法一(推荐):使用adminPass字段,指定管理员帐号的初始登录密码,
adminPass字段的使用方法请参见表4-7。
说明
此时,对于安装了Cloud-init镜像的Linux裸金属服务器,若指定user_data字段,则 该adminPass字段无效;对于安装了Cloudbase-init镜像的Windows裸金属服务器,
若指定元数据metadata字段中的admin_pass,则该adminPass字段无效。
– 方法二:
▪
对于镜像已安装Cloud-init的Linux裸金属服务器:使用user_data字段进 行注入,具体请参见表4-7。▪
对于镜像已安装Cloudbase-init的Windows裸金属服务器:使用元数据 metadata字段中的admin_pass进行注入,具体请参见表4-8。说明
公共镜像默认已安装Cloud-init或者Cloudbase-init,私有镜像需要您自行确认是否安装。
约束
● 不支持文件注入功能。
● 目前仅支持创建包周期裸金属服务器。
● 。
注意事项
● 该接口可以使用合作伙伴自身的AK/SK或者Token调用,也可以用合作伙伴子客户 的AK/SK或者Token来调用。
● 如果使用AK/SK认证方式,示例代码中的region请参考地区和终端节点中“裸金属 服务器 BMS”下“区域”的内容,serviceName(英文服务名称缩写)请指定为 BMS。
● Endpoint请参考地区和终端节点中“裸金属服务器 BMS”下“终端节点
(Endpoint)”的内容。
● 请保证帐户余额充足,此接口无法使用优惠券支付,若余额不足会报“BMS.
0216”错误码。若想使用优惠券,请将request请求中的isAutoPay字段设置为 false,然后在华为云官网页面使用优惠券进行支付或者调用“查询订单可用优惠 券”和“支付包周期产品订单”接口进行支付。
调试
您可以在API Explorer中调试该接口。
URI
POST /v1/{project_id}/baremetalservers 参数说明请参见表4-6。
表4-6 参数说明
参数 是否必选 描述
project_id 是 项目ID。
获取方式请参见获取项目 ID。
请求消息
● 请求参数
参数 是否必
选 参数类
型 描述
server 是 Object 裸金属服务器信息。详情请参见表4-7。
表4-7 server 字段数据结构说明
参数 是否必
选
参数类型 描述
imageR
ef 是 String 裸金属服务器使用的镜像ID或者镜像资源的 URL。ID格式为通用唯一识别码
(Universally Unique Identifier,简称 UUID)。
镜像ID可以从镜像服务控制台获取,或者参 考《镜像服务API参考》的“查询镜像列 表”章节查询。
在使用“查询镜像列表”API查询时,可以 添加过滤字段“?virtual_env_type=Ironic”
来筛选裸金属服务器镜像。
flavorR
ef 是 String 裸金属服务器使用的规格ID,格式为 physical.x.x。
规格ID可以从裸金属服务器控制台获取,也 可以通过查询裸金属服务器规格信息列表
(OpenStack原生)API查询。
说明
裸金属服务器规格与镜像间的约束关系请参见裸 金属服务器类型与支持的操作系统版本。
对于physical.x.x.hba类型的规格,申请的租户只 能是DeC租户,且只能挂载DESS卷。
参数 是否必 选
参数类型 描述
name 是 String 裸金属服务器名称。
取值范围:
● 只能由中文字符、英文字母(a~z,
A~Z)、数字(0~9)、下划线(_)、
中划线(-)、点(.)组成,且长度为 [1-63]个字符。
● 创建的裸金属服务器数量大于1时,为区 分不同裸金属服务器,创建过程中系统 会自动在名称后加“-0000”的类似标 记。故此时名称的长度为[1-58]个字符。
metada
ta 是 Object 裸金属服务器元数据,key和value的长度均 不大于255字节。详情请参见表4-8。
参数 是否必
echo 'root:Cloud.1234' | chpasswd ;
● 使用密码:
#!/bin/bash
echo 'root:$6$V6azyeLwcD3CHlpY
$BN3VVq18fmCkj66B4zdHLWevqcxlig' | chpasswd -e
其中,$6$V6azyeLwcD3CHlpY
$BN3VVq18fmCkj66B4zdHLWevqcxlig为密 文密码,生成方法如下:
1. 生成加密盐值
[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\
$V6azyeLwcD3CHlpY')"
参数 是否必
_groups 否 Array of
objects 指定裸金属服务器的安全组。详情请参见表
参数 是否必
vpcid 是 String 裸金属服务器所属虚拟私有云(VPC),需 要指定已有VPC的ID,UUID格式。VPC的ID 可以从网络控制台或者参考《虚拟私有云 API参考》的“查询VPC”章节获取。
publicip 否 Object 配置裸金属服务器的弹性公网IP信息,弹性 公网IP有三种配置方式:
count 否 Integer 创建裸金属服务器的数量。
约束:
lumes 否 Array of
objects 裸金属服务器对应数据盘相关配置。每一个
erHints 否 Object 裸金属服务器的调度信息。当需要在专属云 中创建裸金属服务器时,该字段必选。
详情请参见表4-15。
参数 是否必 选
参数类型 描述
server_t
ags 否 Array of
objects 裸金属服务器的标签。详情请参见表4-16。
说明
创建裸金属服务器时,一台裸金属服务器最多可 以添加10个标签。其中,__type_baremetal为系 统内部标签,因此实际能添加的标签为9个。
表4-8 metadata 字段数据结构说明 参数 是否必选 参数类型 描述 op_svc_u
serid 是 String 用户ID(登录管理控制台,进入我的凭证,
即可看到“用户ID”)。
BYOL 否 String 是否自带许可,取值“true”或“false”。
admin_p
ass 否 String 以Windows镜像创建的裸金属服务器 Administrator用户的密码,示例:cloud.
1234。
密码复杂度要求:
● 长度为8-26位。
● 密码至少必须包含大写字母、小写字 母、数字和特殊字符(!@$%^-_=+
[{}]:,./?)中的三种。
● 密码不能包含用户名或用户名的逆序,
不能包含用户名中超过两个连续字符的 部分。
agency_n
ame 否 String 委托的名称。
委托是由租户管理员在统一身份认证服务
(Identity and Access Management,
IAM)上创建的,可以作为其他租户访问此 裸金属服务器的临时凭证。
说明
委托获取、更新请参考如下步骤:
1. 使用IAM服务提供的查询指定条件下的委托 列表接口,获取有效可用的委托名称。
2. 使用更新裸金属服务器元数据接口,更新 metadata中agency_name字段为新的委托名 称。
表4-9 security_groups 字段数据结构说明
参数 是否必选 参数类型 描述
id 否 String 裸金属服务器对应的安全组ID,对创建裸金 属服务器中配置的所有网卡生效。
● 当该参数未指定时默认给裸金属服务器 绑定default安全组。
● 当该参数传值(UUID格式)时需要指定 已有安全组的ID。获取已有安全组的方 法请参见《虚拟私有云API参考》的“查 询安全组列表”章节。
表4-10 nics 字段数据结构说明
参数 是否必选 参数类型 描述
subnet_id 是 String 裸金属服务器网卡所在的子网信息。
需要指定vpcid对应VPC下已创建的子网
(subnet)的网络ID(network_id),
UUID格式。子网(subnet)的网络ID
(network_id)可以从虚拟私有云控制台或 者参考《虚拟私有云API参考》的“查询子 网列表”章节获取。
ip_addres
s 否 String 裸金属服务器网卡的IP地址,IPv4格式。
约束:
● 不填或空字符串,默认在子网中自动分 配一个未使用的IP作为网卡的IP地址。
● 若指定IP地址,该IP地址必须在子网的网 段内,且未被使用。
● 批量创建裸金属服务器时,不支持指定 IP地址。
表4-11 publicip 字段数据结构说明
参数 是否必选 参数类型 描述
id 否 String 创建裸金属服务器分配已有弹性公网IP时,
分配的弹性公网IP的ID,UUID格式。弹性 公网IP的ID可以从网络控制台或者参考《弹 性公网IP API参考》的“查询弹性公网IP列 表”章节获取。
约束:
● 只能分配状态(status)为DOWN的弹 性公网IP。
● 批量创建裸金属服务器时,不能使用已 有弹性公网IP,即不支持此参数。
eip 否 Object 配置裸金属服务器自动分配弹性公网IP时,
创建弹性公网IP的配置参数。详情请参见表 4-17。
说明
输入publicip字段数据结构中的id和eip参数值时,只能选择其中一个输入。
表4-12 root_volume 字段数据结构说明
参数 是否必
选
参数类型 描述
volumety
pe 是 String 裸金属服务器系统盘对应的磁盘类型,需要 与系统所提供的磁盘类型相匹配。
● GPSSD:通用型SSD磁盘类型
● SAS:高IO磁盘类型
● SSD:超高IO磁盘类型
size 是 Integer 系统盘大小,容量单位为GB,输入大小范 围为[40-1024]。
约束:
系统盘大小取值应不小于镜像中系统盘的最 小值(min_disk属性)。
cluster_i
d 否 String 裸金属服务器系统盘对应的存储池的ID。
说明
● 使用专属分布式存储时需要该字段。
● 存储池ID可以从管理控制台或者参考《专属 分布式存储API参考》的“获取专属分布式存 储池详情列表”章节获取。
参数 是否必 选
参数类型 描述
cluster_t
ype 否 String 裸金属服务器系统盘对应的磁盘存储类型。
磁盘存储类型枚举值:DSS(专属分布式存 储)。
说明
● 使用专属分布式存储时需要该字段。
● 存储池类型可以从管理控制台或者参考《专 属分布式存储API参考》的“获取专属分布式 存储池详情列表”章节获取。
表4-13 data_volumes 字段数据结构说明
参数 是否必选 参数类型 描述
volumety
pe 是 String 裸金属服务器数据盘对应的磁盘类型,需 要与系统所提供的磁盘类型相匹配。
● GPSSD:通用型SSD磁盘类型
● SAS:高IO磁盘类型
● SSD:超高IO磁盘类型 约束:
● 在专属云中申请裸金属服务器时,须使 用专属企业存储,此时该字段前缀必须 是DESS_。
枚举值如下:
DESS_SAS_ISCSI:普通I/O企业存储 DESS_SAS_FC:普通I/O企业存储(低 延时)
DESS_MIX_ISCSI:高I/O企业存储 DESS_MIX_FC:高I/O企业存储(低延 时)
DESS_SSD_ISCSI:超高I/O企业存储 DESS_SSD_FC:超高I/O企业存储(低 延时)
● 所有用户,包年包月场景下,不能挂载 DESS卷。
说明
企业存储支持的存储类型说明可以从管理控制 台或参考《专属企业存储服务用户指南》的
“申请专属企业存储”章节获取。
“申请专属企业存储”章节获取。