更新时间:2024-08-01 GMT+08:00
分享

创建裸金属服务器(OpenStack原生)

功能介绍

创建一台裸金属服务器。

约束

  • 本接口不支持批量创建裸金属服务器。
  • 使用支持Cloud-init或Cloudbase-init功能的镜像创建裸金属服务器时,只能使用key_name参数,adminPass参数无效。对于Linux裸金属服务器,如果需要注入密码,只能使用userdata方式进行注入;对于Windows裸金属服务器,如果需要注入密码,只能通过元数据admin_pass进行注入。
  • 使用不支持Cloud-init或Cloudbase-init功能的镜像创建裸金属服务器时,adminPass和key_name参数都无效,请使用镜像内置的密码或证书登录。
  • 不支持文件注入功能。
  • 不支持从系统卷创建裸金属服务器。
  • 网络的三个参数(port、uuid和fixed_ip)中,port优先级最高;指定fixed_ip时必须指明uuid。
  • 创建裸金属服务器后建议对其添加“__type_baremetal”标签,表示其是一台裸金属服务器,否则在Console上裸金属服务器列表中可能查询不到申请的该服务器。
  • 裸金属服务器最多只能指定2个VPC网络,第一个网络会作为裸金属服务器的主网卡网络。

URI

POST /v2.1/{project_id}/servers

参数说明请参见表1

表1 参数说明

参数

是否必选

描述

project_id

项目ID。

请求参数

参数

是否必选

参数类型

描述

server

Object

裸金属服务器信息,详情请参见表2

表2 server字段数据结构说明

参数

是否必选

参数类型

描述

imageRef

String

裸金属服务器使用的镜像ID或者镜像资源的URL。

  • 镜像ID示例:3b8d6fef-af77-42ab-b8b7-5a7f0f0af8f2
  • 镜像URL示例:http://glance.openstack.example.com/images/3b8d6fef-af77-42ab-b8b7-5a7f0f0af8f2
说明:
  • 对于部分规格的裸金属服务器,不能支持云服务平台提供的所有公共镜像。具体规格的镜像支持列表,请登录管理控制台,以“创建裸金属服务器”页面系统自动过滤的镜像信息为准,并在镜像服务页面查询镜像ID。
  • 如果创建失败,请尝试修改参数配置。

flavorRef

String

裸金属服务器使用的规格ID或URL。

name

String

裸金属服务器名称。长度大于0小于256字节。

metadata

Object

裸金属服务器元数据,key和value的长度均不大于255字节。详情请参见表3

user_data

String

创建裸金属服务器过程中注入用户数据。

支持注入文本、文本文件或gzip文件。注入内容最大长度32KB。注入内容,需要进行base64格式编码。

adminPass

String

裸金属服务器管理员账户初始登录密码。其中,Linux注入无效,Windows管理员账户为Administrator。

密码复杂度要求:

  • 长度为8-26位。
  • 密码至少必须包含大写字母、小写字母、数字和特殊字符(!@$%^-_=+[{}]:,./?)中的三种。
  • 密码不能包含用户名或用户名的逆序。
  • Windows系统密码不能包含用户名或用户名的逆序,不能包含用户名中超过两个连续字符的部分。

注:不输入则会随机生成密码。

特殊字符:!@$%^-_=+[{}]:,./?

security_groups

Array of objects

指定裸金属服务器的安全组,默认为default,指定network参数时有效,不支持指定多个安全组。详情请参见表4

networks

Array of objects

指定裸金属服务器的网卡信息。详情请参见表5

最多只能指定4个网络信息,其中2个为vxlan类型的网络,2个为geneve类型的网络。参数中第一个网络信息必须为vxlan类型的网络,其会作为裸金属服务器的主网卡网络。若用户指定了多组网络参数,需保证各组参数都属于同一虚拟私有云。

key_name

String

扩展属性,指定keypair的名称。

availability_zone

String

裸金属服务器对应可用区信息,不支持指定具体的主机信息。

表3 metadata字段数据结构说明

参数

是否必选

参数类型

描述

用户自定义字段键值对

String

metadata键、值。

键、值长度均不大于255字节。

表4 security_groups字段数据结构说明

参数

是否必选

参数类型

描述

name

String

裸金属服务器对应的安全组名称。

表5 networks字段数据结构说明

参数

是否必选

参数类型

描述

port

String

网络Port UUID。

uuid

String

网络UUID。

fixed_ip

String

指定的IP地址。

请求示例

创建裸金属服务器,其中镜像ID为1a6635d8-afea-4f2b-abb6-27a202bad319,规格为physical.o2.medium,名称为bms_name01,可用区为az-dc-1,网络UUID为8470310b-bfa2-4edf-8f64-d15196b2b2c9。
1
POST https://{ECS Endpoint}/v2.1/bbf1946d374b44a0a2a95533562ba954/servers
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
{
    "server": {
        "imageRef": "1a6635d8-afea-4f2b-abb6-27a202bad319",
        "flavorRef": "physical.o2.medium",
        "name": "bms_name01",
        "availability_zone": "az-dc-1",
        "networks": [
            {
                "uuid": "8470310b-bfa2-4edf-8f64-d15196b2b2c9"
            }
        ]
    }
}

响应参数

参数

参数类型

描述

server

Object

裸金属服务器信息。详情请参见表6

表6 server字段数据结构说明

参数

参数类型

描述

security_groups

Array of objects

裸金属服务器安全组信息。详情请参见表7

OS-DCF:diskConfig

String

磁盘配置,取值为以下两种:

  • MANUAL:API使用镜像中的分区方案和文件系统创建裸金属服务器。如果目标flavor磁盘较大,则API不会对剩余磁盘空间进行分区。
  • AUTO:API使用与目标flavor磁盘大小相同的单个分区创建裸金属服务器,API会自动调整文件系统以适应整个分区。

id

String

裸金属服务器ID。

links

Array of objects

裸金属服务器相关快捷链接信息。详情请参见表8

adminPass

String

裸金属服务器管理员账户初始登录密码。

表7 security_groups字段数据结构说明

参数

参数类型

描述

name

String

裸金属服务器对应的安全组名称。

表8 links字段数据结构说明

参数

参数类型

描述

rel

String

快捷链接标记名称。取值为:

  • self:包含版本号的资源链接,需要立即跟踪时使用此类链接。
  • bookmark:提供了适合长期存储的资源链接。

href

String

对应快捷链接。

响应示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
    "server": {
        "security_groups": [
            {
                "name": "default"
            }
        ],
        "OS-DCF:diskConfig": "MANUAL",
        "links": [
            {
                "rel": "self",
                "href": "https://openstack.example.com/v2/c685484a8cc2416b97260938705deb65/servers/9ab74d89-61e7-4259-8546-465fdebe4944"
            },
            {
                "rel": "bookmark",
                "href": "https://openstack.example.com/c685484a8cc2416b97260938705deb65/servers/9ab74d89-61e7-4259-8546-465fdebe4944"
            }
        ],
        "id": "9ab74d89-61e7-4259-8546-465fdebe4944",
        "adminPass": "RjdD3h8U2DBe"
    }
}

返回值

正常返回值:

返回值

说明

200

服务器已成功处理了请求。

其他返回值请参考状态码

错误码

请参考错误码

相关文档