云服务器内容精选

  • 响应示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 { "server": { "tenant_id": "c685484a8cc2416b97260938705deb65", "image": { "links": [ { "rel": "bookmark", "href": "https://openstack.example.com/c685484a8cc2416b97260938705deb65/images/1a6635d8-afea-4f2b-abb6-27a202bad319" } ], "id": "1a6635d8-afea-4f2b-abb6-27a202bad319" }, "accessIPv4": "", "addresses": { "08a7715f-7de6-4ff9-a343-95ba4209f24a": [ { "addr": "192.168.0.107", "version": 4 } ] }, "metadata": { "op_svc_userid": "1311c433dd9b408886f57d695c229cbe" }, "accessIPv6": "", "created": "2017-05-24T06:14:05Z", "hostId": "e9c3ee0fcc58ab6085cf30df70b5544eab958858fb50d925f023e53e", "flavor": { "links": [ { "rel": "bookmark", "href": "https://openstack.example.com/c685484a8cc2416b97260938705deb65/flavors/physical.83.medium" } ], "id": "physical.83.medium" }, "OS-DCF:diskConfig": "MANUAL", "user_id": "1311c433dd9b408886f57d695c229cbe", "name": "new-server-test", "progress": 0, "links": [ { "rel": "self", "href": "https://openstack.example.com/v2/c685484a8cc2416b97260938705deb65/servers/95bf2490-5428-432c-ad9b-5e3406f869dd" }, { "rel": "bookmark", "href": "https://openstack.example.com/c685484a8cc2416b97260938705deb65/servers/95bf2490-5428-432c-ad9b-5e3406f869dd" } ], "id": "95bf2490-5428-432c-ad9b-5e3406f869dd", "updated": "2017-05-25T03:40:25Z", "status": "ACTIVE" } }
  • 响应参数 表3 响应参数 参数 参数类型 描述 server Object 裸金属服务器信息,详情请参见表4 表4 server字段数据结构说明 参数 参数类型 描述 name String 裸金属服务器名称。 id String 裸金属服务器唯一标识。 status String 裸金属服务器当前状态。 ACTIVE:运行中/正在关机/删除中 BUILD:创建中 ERROR:故障 HARD_REBOOT:强制重启中 REBOOT:重启中 SHUTOFF:关机/正在开机/删除中/重建中/重装操作系统中/重装操作系统失败/冻结 created String 裸金属服务器创建时间。 时间戳格式为ISO 8601:YYYY-MM-DDTHH:MM:SSZ,例如:2019-05-22T03:30:52Z updated String 裸金属服务器上一次更新时间。 时间戳格式为ISO 8601:YYYY-MM-DDTHH:MM:SSZ,例如:2019-05-22T04:30:52Z flavor Object 裸金属服务器规格信息。详情请参见表5。 image Object 裸金属服务器镜像信息。详情请参见表6。 tenant_id String 裸金属服务器所属租户ID,UUID格式。 该参数和project_id表示相同的概念。 user_id String 裸金属服务器所属用户ID。 metadata Object 裸金属服务器元数据。详情请参见表7。 hostId String 裸金属服务器的主机ID。 addresses Object 裸金属服务器对应的网络地址信息。详情请参见表9。 links Array of objects 裸金属服务器相关信息快捷链接。详情请参见表8。 accessIPv4 String 预留属性。 accessIPv6 String 预留属性。 OS-DCF:diskConfig String 扩展属性,磁盘配置方式,取值为以下两种: MANUAL:API使用镜像中的分区方案和文件系统创建裸金属服务器。如果目标flavor磁盘较大,则API不会对剩余磁盘空间进行分区。 AUTO:API使用与目标flavor磁盘大小相同的单个分区创建裸金属服务器,API会自动调整文件系统以适应整个分区。 progress Integer 预留属性。 表5 flavor字段数据结构说明 参数 参数类型 描述 id String 规格ID。 links Array of objects 规格相关信息快捷链接。详情请参见表8。 表6 image字段数据结构说明 参数 参数类型 描述 id String 裸金属服务器镜像ID。 links Array of objects 裸金属服务器镜像相关快捷链接信息。详情请参见表8。 表7 metadata字段数据结构说明 参数 参数类型 描述 用户自定义字段键值对 String metadata键、值。 键、值长度均不大于255字节。 表8 links字段数据结构说明 参数 参数类型 描述 rel String 快捷链接标记名称。取值为: self:包含版本号的资源链接,需要立即跟踪时使用此类链接。 bookmark:提供了适合长期存储的资源链接。 href String 对应快捷链接。 表9 addresses字段数据结构说明 参数 参数类型 描述 vpc_id Array of objects 裸金属服务器所属网络信息。 key:表示裸金属服务器使用的虚拟私有云的ID。 value:网络详细信息,具体请参见表10。 表10 address字段数据结构说明 参数 参数类型 描述 addr String IP地址。 version String 地址对应的版本。
  • 请求示例 修改ID为95bf2490-5428-432c-ad9b-5e3406f869dd的裸金属服务器的名称为new-server-test。 1 PUT https://{E CS Endpoint}/v2.1/c685484a8cc2416b97260938705deb65/servers/95bf2490-5428-432c-ad9b-5e3406f869dd 1 2 3 4 5 { "server": { "name": "new-server-test" } }
  • 请求参数 参数 是否必选 参数类型 描述 os-change 是 Object 标记为切换裸金属服务器OS操作。详情请参见表2。 表2 os-change字段数据结构说明 参数 是否必选 参数类型 描述 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”)。 imageid 是 String 镜像ID。 镜像ID可以从 镜像服务 控制台获取,或者参考《镜像服务API参考》的“查询镜像列表”章节查询。 在使用“查询镜像列表”API查询时,可以添加过滤字段“?virtual_env_type=Ironic”来筛选裸金属服务器镜像。 metadata 否 Object 切换裸金属服务器的元数据。详情请参见表3。 表3 metadata字段数据结构说明 参数 是否必选 参数类型 描述 user_data 否 String 切换裸金属服务器过程中待注入的Linux镜像root密码,用户自定义初始化密码。 注:修改密码脚本需经base64编码。 建议密码复杂度如下: 长度为8-26位。 密码至少必须包含大写字母(A-Z)、小写字母(a-z)、数字(0-9)和特殊字符(!@$%^-_=+[{}]:,./?)中的三种。 示例: 使用明文密码(存在安全风险),以密码cloud.1234为例: 1 2 #!/bin/bash echo 'root:Cloud.1234' | chpasswd ; 使用密码: 1 2 #!/bin/bash echo 'root:$6$V6azyeLwcD3CHlpY$BN3VVq18fmCkj66B4zdHLWevqcxlig/GpOkLcOhab9smJoLKYm/Tf9Hcwa6DpiPDhdHfGEAPajFmLZa0YDd910' | chpasswd -e 此脚本需经base64编码方式编码。 其中,$6$V6azyeLwcD3CHlpY$BN3VVq18fmCkj66B4zdHLWevqcxlig为密文密码,生成方法如下: 生成加密盐值 1 2 [root@test linux]# python -c "import crypt, getpass, pwd;print crypt.mksalt()" $6$V6azyeLwcD3CHlpY 根据盐值生成密文密码 1 2 [root@test linux]# python -c "import crypt, getpass, pwd;print crypt.crypt('Cloud.1234','\$6\$V6azyeLwcD3CHlpY')" $6$V6azyeLwcD3CHlpY$BN3VVq18fmCkj66B4zdHLWevqcxlig/GpOkLcOhab9smJoLKYm/Tf9Hcwa6DpiPDhdHfGEAPajFmLZa0YDd910 密文生成之后,修改密码脚本需经base64编码方式编码。
  • 请求示例 1 POST https://{BMS Endpoint}/v1/bbf1946d374b44a0a2a95533562ba954/baremetalservers/cf2a8b97-b5c6-47ef-9714-eb27adf26e5b/changeos 1 2 3 4 5 6 7 8 9 10 { "os-change": { "keyname": "$key_name", "imageid": "04dc740a-5820-4ab6-9d01-8cd3a6577296", "userid": "7e25b1da389f4697a79df3a0e5bd494e", "metadata": { "user_data": "$USER_DATA" } } }
  • 响应参数 正常响应要素 表4 正常响应要素说明 名称 参数类型 说明 jobId String 提交任务成功后返回的任务ID,用户可以使用该ID对任务执行情况进行查询。 如何根据job_id来查询Job的执行状态,请参考查询Job状态。 异常响应要素 表5 异常响应要素说明 名称 参数类型 说明 error 字典数据结构 提交任务异常时返回的异常信息,详情请参见表6。 表6 error数据结构 名称 参数类型 说明 message String 任务异常错误信息描述。 code String 任务异常错误信息编码。
  • URI POST /v1/{project_id}/baremetalservers/{server_id}/changeos 参数说明请参见表1。 表1 参数说明 参数 是否必选 描述 X-Auth-Token 是 用户Token。通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值) project_id 是 项目ID。 获取方式请参见获取项目ID。 server_id 是 裸金属服务器ID。 可以从裸金属服务器控制台查询,或者通过调用查询裸金属服务器列表(OpenStack原生)获取。
  • 约束 关机状态或者切换操作系统失败的裸金属服务器,才能执行切换操作。 使用私有镜像创建的裸金属服务器,请确保已经安装了Cloud-init(Linux镜像)或Cloudbase-init(Windows镜像)。如使用未安装Cloud-init或Cloudbase-init的镜像,该接口不能注入密钥或密码。公共镜像默认已安装Cloud-init或Cloudbase-init。 执行切换操作系统任务时,请勿并行执行其他操作,否则可能会引起切换操作系统失败。 目前Windows镜像不支持注入密码,Linux镜像的user_data为加密后的密码。
  • 请求消息 请求参数 参数 是否必选 参数类型 描述 os-getSerialConsole 是 Object 获取裸金属服务器远程登录地址。详情请参见表2。 表2 os-getSerialConsole字段数据结构说明 参数 是否必选 参数类型 描述 type 是 String 获取对象,请将type配置为“serial”。 请求示例 获取ID为47e9be4e-a7b9-471f-92d9-ffc83814e07a的裸金属服务器的远程登录地址。 1 POST https://{ECS Endpoint}/v2/9c53a566cb3443ab910cf0daebca90c4/servers/47e9be4e-a7b9-471f-92d9-ffc83814e07a/action 1 2 3 4 5 { "os-getSerialConsole": { "type": "serial" } }
  • 响应消息 响应参数 无 响应示例 1 2 3 4 5 6 { "console": { "url": "https://baremetal-consoleproxy.az1.dc1.domainname.com:8003/?token=040134bb-9195-4029-9a62-550bce390258", type": "serial" } }