恢复资源脑裂

PUT/zstack/v1/primary-storage/mini/{resourceUuid}/actions

Headers

Authorization: OAuth the-session-uuid

Body

{
  "recoverResourceSplitBrain": {
    "hostUuid": "ff0192fa70113da886101145c084bd00",
    "primaryStorageUuid": "ff0359abb8443d2f8077cc368afa7c00",
    "forceRecover": true
  },
  "systemTags": [],
  "userTags": []
}

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

Curl示例

curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"recoverResourceSplitBrain":{"hostUuid":"ff0192fa70113da886101145c084bd00","primaryStorageUuid":"ff0359abb8443d2f8077cc368afa7c00","forceRecover":true}}' \
http://localhost:8080/zstack/v1/primary-storage/mini/ff0811edaad638d5893a0fb09f408300/actions

参数列表

名字类型位置描述可选值起始版本
resourceUuidStringurl资源UUID 0.6
hostUuidStringbody(包含在recoverResourceSplitBrain结构中)主机UUID 0.6
primaryStorageUuid (可选)Stringbody(包含在recoverResourceSplitBrain结构中)数据存储UUID 0.6
forceRecover (可选)booleanbody(包含在recoverResourceSplitBrain结构中)  0.6
resourceType (可选)Stringbody(包含在recoverResourceSplitBrain结构中)  0.6
systemTags (可选)Listbody系统标签 0.6
userTags (可选)Listbody用户标签 0.6

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

RecoverResourceSplitBrainAction action = new RecoverResourceSplitBrainAction();
action.resourceUuid = "ff0811edaad638d5893a0fb09f408300";
action.hostUuid = "ff0192fa70113da886101145c084bd00";
action.primaryStorageUuid = "ff0359abb8443d2f8077cc368afa7c00";
action.forceRecover = true;
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
RecoverResourceSplitBrainAction.Result res = action.call();

Python SDK

RecoverResourceSplitBrainAction action = RecoverResourceSplitBrainAction()
action.resourceUuid = "ff0811edaad638d5893a0fb09f408300"
action.hostUuid = "ff0192fa70113da886101145c084bd00"
action.primaryStorageUuid = "ff0359abb8443d2f8077cc368afa7c00"
action.forceRecover = true
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
RecoverResourceSplitBrainAction.Result res = action.call()