从虚拟机调度组校验调度策略
Headers
Authorization: OAuth the-session-uuidBody
{
"validateVmSchedulingRule": {
"vmGroupUuid": "2bce1a0af86a3ceebd70ef1aaa3633d1",
"hostGroupUuid": "15b9f0a9a3c43708890eef7552959746",
"rule": "AFFINITY",
"mode": "HARD",
"zoneUuid": "538bdbde4d9d3b919e2cc9ae44542f09"
},
"systemTags": [],
"userTags": []
}上述示例中systemTags、userTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"validateVmSchedulingRule":{"vmGroupUuid":"2bce1a0af86a3ceebd70ef1aaa3633d1","hostGroupUuid":"15b9f0a9a3c43708890eef7552959746","rule":"AFFINITY","mode":"HARD","zoneUuid":"538bdbde4d9d3b919e2cc9ae44542f09"}}' http://localhost:8080/zstack/v1/validate/vmSchedulingRule参数列表
名字 | 类型 | 位置 | 描述 | 可选值 | 起始版本 |
|---|---|---|---|---|---|
vmGroupUuid | String | body(包含在validateVmSchedulingRule结构中) | VM调度组UUID |
| 4.6.0 |
hostGroupUuid (可选) | String | body(包含在validateVmSchedulingRule结构中) | 主机调度组UUID |
| 4.6.0 |
rule | String | body(包含在validateVmSchedulingRule结构中) | 调度规则 |
| 4.6.0 |
mode | String | body(包含在validateVmSchedulingRule结构中) | 执行模式 |
| 4.6.0 |
zoneUuid (可选) | String | body(包含在validateVmSchedulingRule结构中) | 数据中心UUID |
| 4.6.0 |
systemTags (可选) | List | body | 系统标签 |
| 4.6.0 |
userTags (可选) | List | body | 用户标签 |
| 4.6.0 |
API返回
该API成功时返回一个空的JSON结构**{}**,出错时返回的JSON结构包含一个error字段,例如:
{
"error": {
"code": "SYS.1001",
"description": "A message or a operation timeout",
"details": "Create VM on KVM timeout after 300s"
}
}SDK示例
Java SDK
ValidateVmSchedulingRuleAction action = new ValidateVmSchedulingRuleAction();
action.vmGroupUuid = "2bce1a0af86a3ceebd70ef1aaa3633d1";
action.hostGroupUuid = "15b9f0a9a3c43708890eef7552959746";
action.rule = "AFFINITY";
action.mode = "HARD";
action.zoneUuid = "538bdbde4d9d3b919e2cc9ae44542f09";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
ValidateVmSchedulingRuleAction.Result res = action.call();Python SDK
ValidateVmSchedulingRuleAction action = ValidateVmSchedulingRuleAction()
action.vmGroupUuid = "2bce1a0af86a3ceebd70ef1aaa3633d1"
action.hostGroupUuid = "15b9f0a9a3c43708890eef7552959746"
action.rule = "AFFINITY"
action.mode = "HARD"
action.zoneUuid = "538bdbde4d9d3b919e2cc9ae44542f09"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
ValidateVmSchedulingRuleAction.Result res = action.call()