根据虚拟机需求获取主机资源的分配信息

POST/zstack/v1/hosts/{uuid}/resource-allocation

Headers

Authorization: OAuth the-session-uuid

Body

{
  "params": {
    "strategy": "continuous",
    "scene": "normal",
    "vcpu": 60
  },
  "systemTags": [],
  "userTags": []
}

上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。

Curl示例

curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST //localhost:8080/zstack/v1/hosts/21529457e42c30f0a9b2a137915a0b28/resource-allocation -d '{"params": {"strategy": "continuous", "scene": "normal", "vcpu": 60}}'

参数列表

名字

类型

位置

描述

可选值

起始版本

uuid

String

url

主机UUID

 

4.3.12

strategy

String

body(包含在params结构中)

资源分配策略

continuous(连续分配策略)

4.3.12

scene

String

body(包含在params结构中)

场景类型

  • normal
  • performance

4.3.12

vcpu

String

body(包含在params结构中)

虚拟机需要分配的vCPU数量

[1,512]

4.3.12

API返回

返回示例

{
  "name": "example",
  "uuid": "f7bae73b9874344b8766dfcdda48ad6e",
  "vCPUPin": [
    {
      "vCPU": "0",
      "pCPU": "13"
    },
    {
      "vCPU": "1",
      "pCPU": "12"
    },
    {
      "vCPU": "2",
      "pCPU": "11"
    },
    {
      "vCPU": "3",
      "pCPU": "10"
    },
    {
      "vCPU": "4",
      "pCPU": "9"
    },
    {
      "vCPU": "5",
      "pCPU": "8"
    }
  ]
}
名字类型描述起始版本
errorErrorCode错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error4.3.12
nameString资源名称4.3.12
uuidString资源的UUID,唯一标示该资源4.3.12
vCPUPinarray[json]此次分配推荐的vCPU pin信息,详情请见CPU Pin4.3.12

error

名字类型描述起始版本
codeString错误码号,错误的全局唯一标识,例如SYS.1000, HOST.10014.3.12
descriptionString错误的概要描述4.3.12
detailsString错误的详细信息4.3.12
elaborationString保留字段,默认为null4.3.12
opaqueLinkedHashMap保留字段,默认为null4.3.12
causeErrorCode根错误,引发当前错误的源错误,若无原错误,该字段为null4.3.12

#CPU Pin

名字类型描述起始版本
vCPUstring虚拟机vCPU id4.3.12
pCPUstring主机pCPU id4.3.12

SDK示例

Java SDK

GetHostResourceAllocationAction action = new GetHostResourceAllocationAction()
action.uuid = "ff6d905e75d63e18ab0a9fc2ac14951c"
action.scene = "normal"
action.strategy = "continuous"
action.vcpu = 60
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
GetHostResourceAllocationAction.Result res = action.call()

Python SDK

GetHostResourceAllocationAction action = new GetHostResourceAllocationAction()
action.uuid = "ff6d905e75d63e18ab0a9fc2ac14951c"
action.scene = "normal"
action.strategy = "continuous"
action.vcpu = 60
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
GetHostResourceAllocationAction.Result res = action.call()