Loading
close

云主机

time 更新时间:2023-08-14 16:41:23

列举云主机

功能介绍

列举所有云主机和云主机相关的属性。

前提条件

云平台服务正常。

URI

GET /v2.1/{project_id}/servers

参数 是否必选 描述
project—id 项目ID。

请求消息

参数 参数类型 是否必选 描述
limit integer 查询的最大个数限制。
marker string 最后一项的ID。
sort_key string 按照云主机属性排序。
sort_dir string 排序方向。
changes-since string 根据云主机最后更改时间戳过滤查询结果。
image string 根据镜像的uuid过滤查询。
flavor string 根据规格的uuid过滤查询。
name string 可根据云主机的名字过滤查询。
status string 根据云主机的状态过滤查询。
ip string 根据IPv4地址过滤查询。
reservation_id string 服务器多次创建调用返回的保留id。
all_tenants integer 是否查询所有项目的云主机。
deleted boolean 是否查询已经删除的云主机。
ip6 string 根据IPv6地址过滤查询。最小支持微版本2.5。

注:建议您在请求头中设置如下内容以使用推荐版本的API:”X-OpenStack-Nova-API-Version: 2.25”。

请求示例

查询云主机:
/v2.1/{project_id}/servers/detail?all_tenants=1

响应消息

参数 参数类型 描述
servers array 云主机列表对象。
id string 云主机的UUID。
name string 云主机的名字。

响应示例

{
  "servers": [
    {
      "OS-DCF:diskConfig": "AUTO",
      "OS-EXT-AZ:availability_zone": "default-az",
      "OS-EXT-SRV-ATTR:host": "node-2.domain.tld",
      "OS-EXT-SRV-ATTR:hostname": "faker",
      "OS-EXT-SRV-ATTR:hypervisor_hostname": "node-2.domain.tld",
      "OS-EXT-SRV-ATTR:instance_name": "instance-0000008f",
      "OS-EXT-SRV-ATTR:kernel_id": "",
      "OS-EXT-SRV-ATTR:launch_index": 0,
      "OS-EXT-SRV-ATTR:ramdisk_id": "",
      "OS-EXT-SRV-ATTR:reservation_id": "r-2ev9jgyd",
      "OS-EXT-SRV-ATTR:root_device_name": "/dev/vda",
      "OS-EXT-SRV-ATTR:user_data": "fake_user_data",
      "OS-EXT-STS:power_state": 1,
      "OS-EXT-STS:task_state": null,
      "OS-EXT-STS:vm_state": "active",
      "OS-SRV-USG:launched_at": "2021-02-23T02:09:25.000000",
      "OS-SRV-USG:terminated_at": null,
      "accessIPv4": "",
      "accessIPv6": "",
      "addresses": {
        "rally_verify_85052de9_xTCxkIeb": [
          {
            "OS-EXT-IPS-MAC:mac_addr": "fake_mac",
            "OS-EXT-IPS:type": "fixed",
            "addr": "10.2.0.7",
            "version": 4
          }
        ]
      },
      "addresses_labels_mac": ["ffake_mac"],
      "config_drive": "",
      "created": "2021-02-23T02:08:54Z",
      "deleted": "",
      "description": null,
      "estimated_deleted": "",
      "flavor": {
        "id": "212",
        "links": [
          {
            "href": "fake_href",
            "rel": "bookmark"
          }
        ]
      },
      "hostId": "fake_hostid",
      "host_status": "UP",
      "id": "ecca17b1-cb46-4efb-8ce4-2e237a3de071",
      "image": "",
      "key_name": null,
      "links": [
        {
          "href": "fake_href",
          "rel": "self"
        },
        {
          "href": "fake_href",
          "rel": "bookmark"
        }
      ],
      "locked": false,
      "metadata": {},
      "name": "faker",
      "os-extended-volumes:volumes_attached": [
        {
          "delete_on_termination": false,
          "id": "f6790805-5ee6-43bb-8e06-c35e84fd7a17"
        },
        {
          "delete_on_termination": true,
          "id": "0ed7ad96-59a7-4987-8ec3-f993a93c8a91"
        }
      ],
      "progress": 0,
      "security_groups": [
        {
          "name": "default"
        }
      ],
      "status": "ACTIVE",
      "tags": [],
      "tenant_id": "fake_tenant_id",
      "updated": "2021-02-23T02:09:25Z",
      "user_id": "fake_user_id"
    },
    {
      "OS-DCF:diskConfig": "MANUAL",
      "OS-EXT-AZ:availability_zone": "default-az",
      "OS-EXT-SRV-ATTR:host": "node-3.domain.tld",
      "OS-EXT-SRV-ATTR:hostname": "tempest-drmulsourtest-dr-test-server-2125512491",
      "OS-EXT-SRV-ATTR:hypervisor_hostname": "node-3.domain.tld",
      "OS-EXT-SRV-ATTR:instance_name": "instance-00000083",
      "OS-EXT-SRV-ATTR:kernel_id": "",
      "OS-EXT-SRV-ATTR:launch_index": 0,
      "OS-EXT-SRV-ATTR:ramdisk_id": "",
      "OS-EXT-SRV-ATTR:reservation_id": "r-omxtvkb0",
      "OS-EXT-SRV-ATTR:root_device_name": "/dev/vda",
      "OS-EXT-SRV-ATTR:user_data": "fake_user_data",
      "OS-EXT-STS:power_state": 1,
      "OS-EXT-STS:task_state": null,
      "OS-EXT-STS:vm_state": "active",
      "OS-SRV-USG:launched_at": "2021-02-19T03:57:31.000000",
      "OS-SRV-USG:terminated_at": null,
      "accessIPv4": "",
      "accessIPv6": "",
      "addresses": {
        "tempest-DrMulSourTest-dr-test-network-1364154868": [
          {
            "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:ac:d9:a0",
            "OS-EXT-IPS:type": "fixed",
            "addr": "10.100.0.10",
            "version": 4
          }
        ]
      },
      "addresses_labels_mac": ["fa:16:3e:ac:d9:a0"],
      "config_drive": "",
      "created": "2021-02-19T03:57:03Z",
      "deleted": "",
      "description": "tempest-DrMulSourTest-dr-test-server-2125512491",
      "estimated_deleted": "",
      "flavor": {
        "id": "1",
        "links": [
          {
            "href": "fake_href",
            "rel": "bookmark"
          }
        ]
      },
      "hostId": "63d3baee6cd83965b2d64c42bd4aeb4107d22c1d615f863e28594af8",
      "host_status": "UP",
      "id": "72f63b5d-4ff4-4b6f-9fd3-97b92731d79f",
      "image": "",
      "key_name": null,
      "links": [
        {
          "href": "fake_href",
          "rel": "self"
        },
        {
          "href": "fake_href",
          "rel": "bookmark"
        }
      ],
      "locked": false,
      "metadata": {},
      "name": "tempest-DrMulSourTest-dr-test-server-2125512491",
      "os-extended-volumes:volumes_attached": [
        {
          "delete_on_termination": true,
          "id": "09ecaef0-e752-43d3-9ff8-4dca68de3723"
        }
      ],
      "progress": 0,
      "security_groups": [
        {
          "name": "default"
        }
      ],
      "status": "ACTIVE",
      "tags": [],
      "tenant_id": "fake_tenant_id",
      "updated": "2021-02-19T11:34:02Z",
      "user_id": "fake_user_id"
    }
  ]
}

正常响应代码

200

创建云主机

功能介绍

创建一个云主机。

前提条件

  • 用户必须有足够的云主机配额才能创建所请求的云主机数量。

  • 与Image服务的连接是有效的。

    接口约束

  • 此操作的进度取决于请求镜像的位置,网络I/O,主机负载,选定的flavor和其他因素。

  • 要检查请求的进度,请执行GET / servers / {id}请求。 此调用返回一个进度属性,该属性是从0到100的百分比值。

  • Location标头将完整的URI返回给新创建的云主机,并且可以作为云主机表示中的“self”和“bookmark”链接。

  • 创建云主机时,响应仅显示云主机ID,其链接和管理员密码。 您可以通过云主机上的后续GET请求获取其他属性。

  • 在创建请求正文中包含block-device-mapping-v2参数,以便从卷引导云主机。

  • 在创建请求正文中包含key_name参数,以便在创建它时向云主机添加密钥对。 要创建一个密钥对,请创建一个create keypair http://developer.openstack.org/api-ref/compute/#create-or-import-keypair请求。

    故障排除

  • 如果云主机状态保持“BUILDING”或显示另一个错误状态,请求失败。 确保您满足前提条件,然后调查计算节点。

  • 在OpenStack Compute管理的计算节点中不创建云主机。

  • 计算节点需要足够的可用资源来匹配云主机创建请求的资源。

  • 确保调度程序选择过滤器可以使用与过滤器的选择条件匹配的可用计算节点来满足请求。

    异步后置条件

  • 具有正确的权限,您可以通过API调用将云主机状态看作“ACTIVE”。

  • 通过正确的访问,您可以看到OpenStack Compute管理的计算节点中创建的云主机。

    URI

    POST /v2.1/{project_id}/servers

参数 是否必选 描述
project—id 项目ID。该项目ID是从哪里获取的

请求消息

参数 参数类型 是否必选 描述
server object 要创建云主机所需的信息。
flavorRef string 要创建云主机所使用的规格。
name string 云主机名称。
networks array 网络对象列表。 为租户定义了多个网络时的必需参数。 如果不指定networks参数,则云主机将连接到为当前租户创建的唯一网络。 或者,您可以在云主机上创建一个或多个NIC。 要为云主机实例提供网络的NIC,请在网络对象的uuid属性中指定网络的UUID。 要为云主机实例提供一个已存在端口的NIC,请在网络对象的port属性中指定port-id。
networks.uuid string 要为云主机实例提供网络网卡,请在网络对象的UUID属性中指定网络的UUID。如果您省略了端口属性,则需要。从microversion 2.37开始,该值严格强制为UUID格式。
networks.port string 要为云主机实例提供一个已存在端口的网卡,请在网络对象的port属性中指定port-id。 端口状态必须为DOWN。 如果省略uuid属性,则为必需。 所请求的安全组不应用于预先存在的端口。
networks.fixed_ip string 网卡的IPv4地址。适用于neutron或nova-networks网络。
networks.tag string 可应用于网络接口的设备角色标签。
accessIPv4 string 用于访问此服务器的IPv4地址。
accessIPv6 string 用于访问此服务器的IPv6地址。
adminPass string 云主机的管理密码。 如果省略此参数,则该操作将生成一个新密码。
availability_zone string 用于创建云主机的可用区域。在提供资源时,您可以指定从哪个可用分区构建实例。
block_device_mapping_v2 array 云主机实例的卷信息。
block_device_mapping_v2.boot_index integer 定义虚拟化层尝试从存储引导系统时尝试设备的顺序。给每个设备一个从0开始的唯一引导索引。如果要禁止设备启动,可以将启动索引设置为负值或使用默认的启动索引值None。最简单的方法是将启动设备的启动索引设置为0,其他设备使用默认的启动索引值None。一些虚拟化层可能不支持从多个设备启动;这些虚拟化层只考虑引导索引为0的设备。一些虚拟化层支持从多个设备启动,但只有在设备类型不同的情况下才支持。例如,磁盘和CD-ROM。
block_device_mapping_v2.delete_on_termination boolean 如果要在云主机被销毁时删除对应的存储设备,请指定true。否则,:false。默认值:false
block_device_mapping_v2.destination_type string 定义卷从哪来的。有效值:local:临时磁盘位于服务器运行的计算主机的本地;volume:持久化卷存储在块存储服务中
block_device_mapping_v2.device_name string 要用于引导云主机的卷的设备路径。注意,从12.0.0 Liberty版本开始,Nova libvirt驱动程序不再使用用户提供的设备名。这与请求中没有提供设备名参数是相同的行为。
block_device_mapping_v2.device_type string 设备类型。例如:disk, cdrom。
block_device_mapping_v2.disk_bus string 磁盘总线类型,一些虚拟化层(目前仅libvirt)支持指定此参数。例如,disk_bus的值可以是:fdc、ide、sata、scsi、usb、virtio、xen、lxc和uml。对每种总线类型的支持取决于虚拟化驱动程序和底层管理程序。
block_device_mapping_v2.guest_format string 指定客户服务器磁盘的文件系统格式,如ext2、ext3、ext4、xfs或swap。
交换块设备映射有以下限制:
- source_type必须为空
- destination_type必须是本地的
- 每个服务器只能有一个交换磁盘
- 交换盘的大小必须小于或等于flavor的交换盘大小
block_device_mapping_v2.no_device boolean 当值为True时表示无设备。
block_device_mapping_v2.source_type string 块设备的源类型。 有效值为:
- blank:根据目标类型和来宾格式,这将是空白持久卷或服务器所在的计算主机本地的临时磁盘(或交换磁盘)
- image:仅在destination_type = volume时有效; 在块存储服务中创建一个支持映像的卷并将其附加到服务器
- snapshot:仅在destination_type = volume时有效; 创建由通过block_device_mapping_v2.uuid参数引用的给定卷快照支持的卷,并将其附加到服务器
- volume:仅在destination_type = volume时有效; 使用通过block_device_mapping_v2.uuid参数引用的现有持久卷,并将其附加到服务器
block_device_mapping_v2.uuid string 这是源资源的uuid。 uuid基于source_type指向不同的资源。 例如,如果source_type是image,则基于从图像服务检索的指定图像创建块设备。 同样,如果source_type是快照,则uuid引用块存储服务中的卷快照。 如果source_type是volume,则uuid引用块存储服务中的卷。
block_device_mapping_v2.volume_size integer 卷的大小(以GiB为单位)。 这是范围从1到2147483647的整数值,可以整数和字符串的形式请求。
block_device_mapping_v2.tag string 可以应用于块设备的设备角色标签。 具有以此方式标记的设备的服务器的来宾OS可以从元数据API和配置驱动器(如果已启用)访问有关标记的设备的硬件元数据。
block_device_mapping_v2.volume_type string 设备的volume_type。这可用于指定计算服务将创建并连接到服务器的卷的类型。如果未指定,块存储服务将提供默认卷类型。有关详细信息,请参阅块存储卷类型API。
imageRef string 用于创建云主机实例的镜像的UUID。在从卷引导的情况下,这不是必需的。在所有其他情况下,它都是必需的,并且必须是有效的UUID,否则API将返回400。
key_name string 密钥对名称。
metadata object 元数据键值对。metadata key和value的最大大小都是255字节。
OS-DCF:diskConfig string 在创建、重新构建或调整服务器大小时,控制API如何对磁盘进行分区。服务器从创建它的映像继承OS-DCF:diskConfig值,映像从创建它的服务器继承OS-DCF:diskConfig值。若要重写继承的设置,可以在服务器创建、重新生成或调整请求的请求主体中包含此属性。如果镜像的OS-DCF:diskConfig值为MANUAL,则不能从该镜像创建服务器,并将其OS-DCF:diskConfig值设置为AUTO。有效值为:
- AUTO:API用一个与目标flavor磁盘大小相同的分区构建服务器。API自动调整文件系统以适应整个分区。
- MANUAL:API通过使用源映像中的任何分区方案和文件系统来构建服务器。如果目标flavor磁盘较大,API不会对剩余的磁盘空间进行分区。
security_groups array 一个或多个安全组。在“名称”属性中指定安全组的名称。如果忽略此属性,API将在默认安全组中创建服务器。请求的安全组没有应用到已存在的端口。
user_data string 启动时使用的配置信息或脚本。必须是Base64编码的。限制为65535字节。
description string 服务器的自由形式描述。长度限制为255个字符。在microversion 2.19之前,这被设置为服务器名。
2.19新版功能
tags string 标签列表。标签有以下限制:
- 标签是一个不超过60个字符的Unicode字节串。
- Tag是一个非空字符串。
- ‘ / ‘不允许出现在标签名称中
- 为了简化指定标签列表的请求,在标签名称中不允许使用逗号
- 所有其他字符都允许在标记名中
- 每个服务器最多可以有50个标签。
2.52新版功能
host string 创建云主机的物理主机。
hypervisor_hostname string 要在其上创建服务器的管理程序的主机名。如果没有找到具有给定主机名的虚拟机监控程序,API将返回400。缺省情况下,只能由管理员指定。

注:建议您在请求头中设置如下内容以使用推荐版本的API:”X-OpenStack-Nova-API-Version: 2.67”。

请求示例

示例一:创建云主机

{
    "server" : {
        "accessIPv4": "1.2.3.4",
        "accessIPv6": "80fe::",
        "name" : "new-server-test",
        "imageRef" : "70a599e0-31e7-49b7-b260-868f441e862b",
        "flavorRef" : "1",
        "availability_zone": "us-west",
        "OS-DCF:diskConfig": "AUTO",
        "metadata" : {
            "My Server Name" : "Apache1"
        },
        "personality": [
            {
                "path": "/etc/banner.txt",
                "contents": "fake_contents"
            }
        ],
        "security_groups": [
            {
                "name": "default"
            }
        ],
        "user_data" : "fake_user_data"
    },
}

示例二:创建自动网络云主机(v2.37)

{
    "server": {
        "name": "auto-allocate-network",
        "imageRef": "70a599e0-31e7-49b7-b260-868f441e862b",
        "flavorRef": "http://openstack.example.com/flavors/1",
        "networks": "auto"
    }
}

响应消息

参数 参数类型 描述
server object 云主机对象。
addresses ojbect 云主机地址。
created string 云主机创建的日期和时间。
flavor string 云主机使用的规格。
hostid string 宿主机ID。
id string 云主机ID。
image object 创建云主机实例的镜像的UUID和链接信息。
key_name string 密钥对名称。
links array 只描述信息。
metadata 元数据键值对。metadata key和value的最大大小都是255字节。
name string 云主机名称。
accessIPv4 string 用于访问此服务器的IPv4地址。
accessIPv6 string 用于访问此服务器的IPv6地址。
OS-DCF:diskConfig string 在创建、重新构建或调整服务器大小时,控制API如何对磁盘进行分区。服务器从创建它的映像继承OS-DCF:diskConfig值,映像从创建它的服务器继承OS-DCF:diskConfig值。若要重写继承的设置,可以在服务器创建、重新生成或调整请求的请求主体中包含此属性。如果镜像的OS-DCF:diskConfig值为MANUAL,则不能从该镜像创建服务器,并将其OS-DCF:diskConfig值设置为AUTO。
OS-EXT-AZ:availability_zone string 可用区域名称。
OS-EXT-SRV-ATTR:host string 宿主机名字。
OS-EXT-SRV-ATTR:hypervisor_hostname string 创建服务器的管理程序的主机名。
OS-EXT-SRV-ATTR:instance_name string 云主机名字。
OS-EXT-STS:power_state integer 云主机状态。
OS-EXT-STS:task_state string 云主机工作状态。
OS-EXT-STS:vm_state string 虚拟机运行状态。
os-extended-volumes:volumes_attached string 挂载的云盘列表。
OS-SRV-USG:launched_at string 云主机创建的日期和时间。
OS-SRV-USG:terminated_at string 云主机删除的日期和时间。
progress integer 云主机创建进度。
security_groups array 一个或多个安全组。
security_group.name string 安全组名称。
status string 云主机状态。
host_status string 宿主机状态。
tenant_id string 云主机租户ID。
updated string 云主机更新的日期和时间。
user_id string 云主机用户ID。
OS-EXT-SERV-ATTR:hostname string 云主机启动时的主机名。
OS-EXT-SERV-ATTR:reservation_id string 云主机资源预留ID。
OS-EXT-SERV-ATTR:launch_index int 同时创建多个虚拟机时的顺序。
OS-EXT-SERV-ATTR:kernel_id string 使用AMI镜像时的内核镜像ID。
OS-EXT-SERV-ATTR:ramdisk_id string 使用AMI镜像时的内存镜像ID。
OS-EXT-SERV-ATTR:root_device_name string 云主机系统盘名称。
OS-EXT-SERV-ATTR:user_data string 启动时使用的配置信息或脚本。必须是Base64编码的。限制为65535字节。

响应示例

{
    "server": {
        "OS-DCF:diskConfig": "AUTO",
        "adminPass": "6NpUwoz2QDRN",
        "id": "f5dc173b-6804-445a-a6d8-c705dad5b5eb",
        "links": [
            {
                "href": "fake_href",
                "rel": "self"
            },
            {
                "href": "fake_href",
                "rel": "bookmark"
            }
        ],
        "security_groups": [
            {
                "name": "default"
            }
        ]
    }
}

正常响应代码

202

启动云主机

功能介绍

启动停止的云主机并将其状态更改为“ACTIVE”。

前提条件

  • 云主机状态必须为“SHUTOFF”。

    故障排除

  • 如果云主机状态不变为“ACTIVE”,则启动操作失败。 确保满足前提条件并再次运行请求。 如果请求再次失败,请调查是否正在运行另一个导致竞争条件的操作。

    异步后置条件

  • 成功启动云主机后,其状态将更改为“ACTIVE”。

    URI

    POST /v2.1/{project—id}/servers/{server_id}/action

参数 是否必选 描述
project_id 项目ID。
server_id 云主机的UUID。

请求消息

参数 参数类型 是否必选 描述
os-start string 启动云主机的动作。

请求示例

{
    "os-start" : true
}

响应示例

POST操作成功的回复没有任何内容。

正常响应代码

202

关闭云主机

功能介绍

关闭启动状态的云主机。

前提条件

  • 云主机状态必须为“ACTIVE”。

    异步后置条件

  • 成功关闭云主机后,其状态将更改为“PAUSED”

    URI

    POST /v2.1/{project_id}/servers/{server_uuid}/action

参数 是否action必选 描述
project_id 项目ID。
server_uuid 虚拟机UUID。

请求消息

参数 参数类型 是否必选 描述
os-stop string 关闭云主机的动作。

请求示例

{
    "os-stop" : true
}

响应示例

POST操作成功的回复没有任何内容。

正常响应代码

202

重启云主机

功能介绍

重新启动云主机。

URI

POST /v2.1/{project—id}/servers/{server_id}/action

参数 是否必选 描述
project_id 项目ID。
server_id 云主机的UUID。

请求消息

参数 参数类型 是否必选 描述
reboot object 重启云主机的动作。
type string 重启的类型,取值范围为[‘HARD’, ‘Hard’, ‘hard’, ‘SOFT’, ‘Soft’, ‘soft’]
其中hard表示硬重启, soft表示软重启。

请求示例

{
    "reboot": {
        "type": "SOFT"
    }
}

响应示例

POST操作成功的回复没有任何内容。

正常响应代码

202

暂停云主机

功能介绍

暂停启动状态的云主机。

前提条件

  • 云主机状态必须为“ACTIVE”。

    异步后置条件

  • 成功关闭云主机后,其状态将更改为“PAUSED”

    URI

    POST /v2.1/{project_id}/servers/{server_uuid}/action

参数 是否action必选 描述
project_id 项目ID。
server_uuid 云主机的UUID。

请求消息

参数 参数类型 是否必选 描述
pause string 暂停云主机的动作。

请求示例

{
    "pause" : true
}

响应示例

POST操作成功的回复没有任何内容。

正常响应代码
202

恢复云主机

功能介绍

恢复暂停状态的云主机。

前提条件

  • 云主机状态必须为“PAUSE”。

    异步后置条件

  • 成功恢复暂停状态的云主机后,其状态将更改为“ACTIVE”。

    URI

    POST /v2.1/{project_id}/servers/{server_uuid}/action

参数 是否action必选 描述
project_id 项目ID。
server_uuid 云主机的UUID。

请求消息

参数 参数类型 是否必选 描述
unpause string 恢复云主机的动作。

请求示例

{
    "unpause" : true
}

响应示例

POST操作成功的回复没有任何内容。

正常响应代码

202

挂起云主机

功能介绍

挂起运行状态的云主机。

URI

POST /v2.1/{project_id}/servers/{server_uuid}/action

参数 是否action必选 描述
project_id 项目ID。
server_uuid 云主机的UUID。

请求消息

参数 参数类型 是否必选 描述
suspend string 挂起云主机的动作。

请求示例

{
    "suspend" : true
}

响应示例

POST操作成功的回复没有任何内容。

正常响应代码

202

取消挂起云主机

功能介绍

恢复挂起的云主机并将其状态更改为“ACTIVE”。

前提条件

  • 云主机状态必须为“SUSPENDED”。

    异步后置条件

  • 成功取消挂起状态的云主机后,其状态将更改为“ACTIVE”。

    URI

    POST /v2.1/{project_id}/servers/{server_uuid}/action

参数 是否action必选 描述
project_id 项目ID。
server_uuid 云主机的UUID。

请求消息

参数 参数类型 是否必选 描述
resume string 取消挂起云主机的动作。

请求示例

{
    "resume" : true
}

响应示例

POST操作成功的回复没有任何内容。

正常响应代码

202

云主机编辑名称

功能介绍

编辑云主机名称。

异步后置条件

  • 编辑云主机名称后,云主机名称为更新后的新名称。

    URI

    PUT /v2.1/{project_id}/servers/{server_uuid}
参数 是否action必选 描述
project_id 项目ID。
server_uuid 虚拟机UUID。

请求消息

参数 参数类型 是否必选 描述
server object 包含编辑云主机名称的对象。
name string 用户自定义名称。

请求示例

{
	"server": {
		"name": "instance-rename"
	}
}

响应示例

PUT操作成功的回复没有任何内容。

正常响应代码

200

云主机调整规格

功能介绍

调整云主机规格。

URI

POST /v2.1/{project_id}/servers/{server_uuid}/action

参数 是否action必选 描述
project_id 项目ID。
server_uuid 虚拟机UUID。

请求消息

参数 参数类型 是否必选 描述
resize object 调整云主机规格的动作。
flavorRef string 云主机规格ID。

请求示例

{
	"resize": {
		"flavorRef": "214"
	}
}

响应示例

POST操作成功的回复没有任何内容。

正常响应代码

202

创建快照

功能介绍

创建云主机快照。

前提条件

  • 云主机状态可以为“ACTIVE”,“PAUSE”,“SUSPENDED”。

    URI

    POST /v2.1/{project_id}/servers/{server_uuid}/action
参数 是否action必选 描述
project_id 项目ID。
server_uuid 云主机UUID。

请求消息

参数 参数类型 是否必选 描述
createImage object 创建云主机快照的动作。
metadata dict 云主机快照元数据。
name string 云主机快照名字。

请求示例

{
	"createImage": {
		"name": "zhz111-snapshot1",
		"metadata": {
			"description": ""
		}
	}
}

响应示例

POST操作成功的回复没有任何内容。

正常响应代码

202

连接网络

功能介绍

为云主机连接一个新的网络。

URI

POST /v2.1/{project_id}/servers/{server_uuid}/os-interface

参数 是否action必选 描述
project_id 项目ID。
server_uuid 云主机UUID。

请求消息

参数 参数类型 是否必选 描述
interfaceAttachment object 要连接新的网络的数据对象。
port_id string 要连接的网卡的id。
net_id string 要连接的网络的id。
fixed_ips array 网卡的固定ip列表。
ip_address string ip地址。

请求示例

{
    "interfaceAttachment": {
        "port_id": "ce155147-9d3b-4c09-9079-da8de0d38df8"
    }
}

响应消息

参数 参数类型 是否必选 描述
interfaceAttachment object 要连接网络数据对象。
port_id string 要连接的网卡的id。
net_id string 要连接的网络的id。
fixed_ips array 网卡的固定ip列表。
ip_address string ip地址。
subnet_id string 子网的id。
mac_addr string mac地址。
port_state string 网卡的状态。

响应示例

{
    "interfaceAttachment": {
        "fixed_ips": [
            {
                "ip_address": "192.168.1.3",
                "subnet_id": "f8a6e8f8-c2ec-497c-9f23-da9616de54ef"
            }
        ],
        "mac_addr": "fa:16:3e:4c:2c:30",
        "net_id": "3cb9bc59-5699-4588-a4b1-b87f96708bc6",
        "port_id": "ce531f90-199f-48c0-816c-13e38010b442",
        "port_state": "ACTIVE"
}
}

正常响应代码

200

断开网络

功能介绍

为云主机断开一个连接的网络。

URI

DELETE /v2.1/{project_id}/servers/{server_uuid}/os-interface/{port_id}

参数 是否action必选 描述
project_id 项目ID。
server_uuid 云主机UUID。
port_id 要断开的网卡的id。

响应示例

成功请求后不返回任何body。

正常响应代码

202

挂载云硬盘

功能介绍

为云主机连接一个新的云硬盘。

URI

POST /v2.1/{project_id}/servers/{server_uuid}/os-volume_attachments

参数 是否action必选 描述
project_id 项目ID。
server_uuid 云主机UUID。

请求消息

参数 参数类型 是否必选 描述
volumeAttachment object 要挂载新的云硬盘的数据对象。
volumeId string 要挂载的云硬盘的id。
device string 要挂载的云硬盘的名字,例如/dev/vab。

请求示例

{
    "volumeAttachment": {
        "volumeId": "a26887c6-c47b-4654-abb5-dfadf7d3f803",
        "device": "/dev/vdd"
    }
}

响应消息

参数 参数类型 描述
volumeAttachment object 要挂载的云硬盘的数据。
device string 挂载给云主机设备的名称。
id string 挂载信息的id。
serverId string 云主机的id。
volumeId string 云硬盘的id。

响应示例

{
    "volumeAttachment": {
        "device": "/dev/vdd",
        "id": "a26887c6-c47b-4654-abb5-dfadf7d3f803",
        "serverId": "0c92f3f6-c253-4c9b-bd43-e880a8d2eb0a",
        "volumeId": "a26887c6-c47b-4654-abb5-dfadf7d3f803"
    }
}

正常响应代码

200

卸载云硬盘

功能介绍

为云主机卸载一个云硬盘。

URI

DELETE /v2.1/{project_id}/servers/{server_uuid}/os-volume_attachments/{attachment_id}

参数 是否action必选 描述
project_id 项目ID。
server_uuid 云主机UUID。
attachment_id 挂载云硬盘的id。

响应示例

成功请求后不返回任何body。

正常响应代码

202

冷迁移

功能介绍

把虚拟机迁移到其它主机上

URI

POST /servers/{server_id}/action

请求消息

名称 参数类型 描述
server_id string 虚拟机的uuid
migrate object 迁移对象
host(可选) string 目标主机

注:建议您在请求头中设置如下内容以使用推荐版本的API:”X-OpenStack-Nova-API-Version: 2.56”。

请求示例

{
    "migrate":{
        "host":"node-1.domain.tld"
    }
}

响应消息

正常响应代码

202

热迁移

功能介绍

把虚拟机热迁移到其它主机

URI

POST /servers/{server_id}/action

请求消息

名称 参数类型 描述
server_id string 虚拟机的uuid
host string 目的主机名称
block_migration boolean 块迁移,2.24版本前是布尔型
block_migration string 块迁移,2.25版本开始是字符串型
dislk_over_commit boolean 磁盘超配
force(可选) boolean 指定了目标节点是否强制热迁移

注:建议您在请求头中设置如下内容以使用推荐版本的API:”X-OpenStack-Nova-API-Version: 2.25”。

请求示例

{
    "os-migrateLive":{
        "block_migration":"auto",
        "host":"node-2.domain.tld"
    }
}

响应消息

正常响应代码

202

撤离

功能介绍

把虚拟机从故障主机撤离

URI

POST /servers/{server_id}/action

请求消息

名称 参数类型 描述
server_id string 虚拟机uuid
evacuate string 撤离对象
host(可选) string 目的主机
adminPass(可选) string 管理密码
onSharedStorage boolean 共享存储
force(可选) boolean 选定目的主机强制撤离

注:建议您在请求头中设置如下内容以使用推荐版本的API:”X-OpenStack-Nova-API-Version: 2.25”。

请求示例

{
    "evacuate":{
    }
}

响应消息

名称 参数类型 描述
adminPass(可选) string 管理密码

正常响应代码

200

重置云主机状态

功能介绍

重置云主机的状态。

接口约束

策略默认值仅允许具有管理角色执行此操作。

URI

POST /v2.1/{project_id}/servers/{server_uuid}/action

参数 是否action必选 描述
project_id 项目ID。
server_uuid 云主机UUID。

请求消息

参数 参数类型 是否必选 描述
os-resetState string 重置云主机状态的动作。
os-resetState.state string 重置云主机的状态,active或者error。

请求示例

{
    "os-resetState": {
        "state": "active"
    }
}

响应示例

POST操作成功的回复没有任何内容。

正常响应代码

202

锁定云主机

功能介绍

锁定云主机。

接口约束

策略默认值仅允许具有管理角色或云主机所有者的用户执行此操作。

URI

POST /v2.1/{project_id}/servers/{server_uuid}/action

参数 是否action必选 描述
project_id 项目ID。
server_uuid 云主机UUID。

请求消息

参数 参数类型 是否必选 描述
lock string 锁定云主机的动作。

请求示例

{
    "lock": null
}

响应示例

POST操作成功的回复没有任何内容。

正常响应代码

202

解锁云主机

功能介绍

解锁锁定的云主机。

接口约束

策略默认值仅允许具有管理角色或云主机所有者的用户执行此操作。

URI

POST /v2.1/{project_id}/servers/{server_uuid}/action

参数 是否action必选 描述
project_id 项目ID。
server_uuid 云主机UUID。

请求消息

参数 参数类型 是否必选 描述
unlock string 解锁锁定云主机的动作。

请求示例

{
    "unlock": null
}

响应示例

POST操作成功的回复没有任何内容。

正常响应代码

202

重建云主机

功能介绍

重建云主机。

URI

POST /v2.1/{project_id}/servers/{server_uuid}/action

参数 是否action必选 描述
project_id 项目ID。
server_uuid 云主机UUID。

请求消息

参数 参数类型 是否必选 描述
rebuild object 重建云主机的动作。
imageRef string 重建要使用的镜像ID。
name string 重建的云主机名称。
adminPass string 重建云主机的管理员密码。
metadata object 重建云主机要使用的元数据。

请求示例

{
    "rebuild" : {
        "imageRef" : "70a599e0-31e7-49b7-b260-868f441e862b",
        "name" : "foobar",
        "adminPass" : "seekr3t",
        "metadata" : {
            "meta_var" : "meta_val"
        }
    }
}

正常响应代码

202

删除云主机

功能介绍

移动云主机到回收站。

URI

DELETE /v2.1/{project—id}/servers/{server_id}

参数 是否action必选 描述
project_id 项目ID。
server_uuid 云主机UUID。

请求示例

DELETE /v2.1/87aca7a4e69d4da09a3de67c28f3d48d/servers/89b37e3e-592a-4626-a2d4-aa48219b3323

响应消息

对DELETE操作成功的响应没有任何内容。

正常响应代码

204

此篇文章对你是否有帮助?
没帮助
locked-file

您暂无权限访问该产品