文档目录

SAN存储相关接口

查询SCSI Lun(QueryScsiLun)

API请求

查询Iscsi块设备和FC块设备。

URLs
GET zstack/v1/storage-devices/scsi-lun/luns
GET zstack/v1/storage-devices/scsi-lun/luns/{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/storage-devices/scsi-lun/luns
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/storage-devices/scsi-lun/luns/c4006c2a536f3617944e2b00aff74af6

可查询字段

运行CLI命令行工具,输入QueryScsiLun并按Tab键查看所有可查询字段以及可跨表查询的资源名。

API返回

返回示例
{
  "inventories": [
    {
      "name": "fc-lun-36b083fe000daf018000022905ba35d8f",
      "uuid": "6f2428969262315488684c85e14eded2",
      "wwid": "36b083fe000daf018000022905ba35d8f",
      "vendor": "DELL",
      "model": "MD32xx",
      "wwn": "0x6f01faf000d5c3e7",
      "serial": "6b083fe000daf018000015505abbe00a",
      "type": "mpath",
      "path": "pci-0000:05:00.0-fc-0x2012b083fedaf018-lun-11",
      "size": 5.49755813888E12,
      "scsiLunHostRefs": [
        {
          "id": 1.0,
          "scsiLunUuid": "6f2428969262315488684c85e14eded2",
          "hostUuid": "0b756ca2d3843412860b7ec1b9315dd4",
          "createDate": "Nov 14, 2017 10:20:57 PM"
        }
      ],
      "scsiLunVmInstanceRefs": [],
      "createDate": "Nov 14, 2017 10:20:57 PM",
      "lastOpDate": "Nov 14, 2017 10:20:57 PM"
    },
    {
      "name": "iscsi-lun-scsi-14f504e46494c45524d5342436a6c2d4a4443672d30593032",
      "uuid": "7bfde6b8e5503606849a4f3781bc02d7",
      "wwid": "scsi-14f504e46494c45524d5342436a6c2d4a4443672d30593032",
      "vendor": "OPNFILER",
      "model": "VIRTUAL-DISK",
      "serial": "4f504e46494c45524d5342436a6c2d4a4443672d30593032",
      "type": "disk",
      "path": "ip-10.0.104.213:3260-iscsi-iqn.2018-09.io.cloud:tsn.0000003-lun-0",
      "size": 5.49755813888E12,
      "scsiLunHostRefs": [],
      "scsiLunVmInstanceRefs": [],
      "createDate": "Nov 14, 2017 10:20:57 PM",
      "lastOpDate": "Nov 14, 2017 10:20:57 PM"
    }
  ]
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 3.2.0
inventories List 详情参考inventories 3.2.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 3.2.0
description String 错误的概要描述 3.2.0
details String 错误的详细信息 3.2.0
elaboration String 保留字段,默认为null 3.2.0
opaque LinkedHashMap 保留字段,默认为null 3.2.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 3.2.0
#inventories
名字 类型 描述 起始版本
name String 资源名称 3.2.0
uuid String 资源的UUID,唯一标示该资源 3.2.0
wwid String 磁盘全局唯一表示 3.2.0
vendor String 磁盘供应商 3.2.0
model String 磁盘型号 3.2.0
wwn String 磁盘WWN 3.2.0
serial String 磁盘序列号 3.2.0
type String 磁盘类型 3.2.0
path String 磁盘路径 3.2.0
state String 磁盘启用状态 3.2.0
size Long 磁盘大小 3.2.0
createDate Timestamp 创建时间 3.2.0
lastOpDate Timestamp 最后一次修改时间 3.2.0
scsiLunHostRefs List 详情参考scsiLunHostRefs 3.2.0
scsiLunVmInstanceRefs List 详情参考scsiLunVmInstanceRefs 3.2.0
#scsiLunHostRefs
名字 类型 描述 起始版本
scsiLunUuid String SCSI Lun UUID 3.2.0
hostUuid String 物理机UUID 3.2.0
createDate Timestamp 创建时间 3.2.0
lastOpDate Timestamp 最后一次修改时间 3.2.0
#scsiLunVmInstanceRefs
名字 类型 描述 起始版本
scsiLunUuid String SCSI Lun UUID 3.2.0
vmInstanceUuid String 云主机UUID 3.2.0
createDate Timestamp 创建时间 3.2.0
lastOpDate Timestamp 最后一次修改时间 3.2.0

SDK示例

Java SDK
QueryScsiLunAction action = new QueryScsiLunAction();
action.conditions = asList();
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
QueryScsiLunAction.Result res = action.call();
Python SDK
QueryScsiLunAction action = QueryScsiLunAction()
action.conditions = []
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
QueryScsiLunAction.Result res = action.call()

将LUN设备从物理机卸载(DetachScsiLunFromHost)

API请求

URLs
PUT zstack/v1/storage-devices/scsi-lun/{uuid}/actions
Headers
Authorization: OAuth the-session-uuid
Body
{
  "detachScsiLunFromHost": {
    "hostUuid": "dce542427a3a3d1fa13324c9f67352cb"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"detachScsiLunFromHost":{"hostUuid":"dce542427a3a3d1fa13324c9f67352cb"}}' http://localhost:8080/zstack/v1/storage-devices/scsi-lun/fb5d3f596f683bd7a3b1bf1c396d5f4d/actions
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url SCSI LUN UUID 4.2.0
hostUuid (可选) String body(包含在detachScsiLunFromHost结构中) 物理机UUID 4.2.0
systemTags (可选) List body 系统标签 4.2.0
userTags (可选) List body 用户标签 4.2.0

API返回

返回示例
{
  "inventory": {
    "name": "test-scsi-lun",
    "uuid": "e09fbca6d27332a1946326f3ae114fc3",
    "wwid": "36b083fe000daf018000022905ba35d8f",
    "vendor": "DELL",
    "model": "MD32xx",
    "wwn": "0x6f01faf000d5c3e7",
    "serial": "6b083fe000daf018000015505abbe00a",
    "type": "mpath",
    "path": "pci-0000:05:00.0-fc-0x2012b083fedaf018-lun-11",
    "size": 5.49755813888E12,
    "scsiLunHostRefs": [],
    "scsiLunVmInstanceRefs": [],
    "createDate": "Nov 14, 2017 10:20:57 PM",
    "lastOpDate": "Nov 14, 2017 10:20:57 PM"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 4.2.0
inventories List 详情参考inventory 4.2.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 4.2.0
description String 错误的概要描述 4.2.0
details String 错误的详细信息 4.2.0
elaboration String 保留字段,默认为null 4.2.0
opaque LinkedHashMap 保留字段,默认为null 4.2.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 4.2.0
#inventory
名字 类型 描述 起始版本
name String 资源名称 4.2.0
uuid String 资源的UUID,唯一标示该资源 4.2.0
wwid String 磁盘全局唯一表示 4.2.0
vendor String 磁盘供应商 4.2.0
model String 磁盘型号 4.2.0
wwn String 磁盘WWN 4.2.0
serial String 磁盘序列号 4.2.0
type String 磁盘类型 4.2.0
path String 磁盘路径 4.2.0
state String 磁盘启用状态 4.2.0
size Long 磁盘大小 4.2.0
createDate Timestamp 创建时间 4.2.0
lastOpDate Timestamp 最后一次修改时间 4.2.0
scsiLunHostRefs List 详情参考scsiLunHostRefs 4.2.0
scsiLunVmInstanceRefs List 详情参考scsiLunVmInstanceRefs 4.2.0
#scsiLunHostRefs
名字 类型 描述 起始版本
scsiLunUuid String SCSI Lun UUID 4.2.0
hostUuid String 物理机UUID 4.2.0
createDate Timestamp 创建时间 4.2.0
lastOpDate Timestamp 最后一次修改时间 4.2.0
#scsiLunVmInstanceRefs
名字 类型 描述 起始版本
scsiLunUuid String SCSI Lun UUID 4.2.0
vmInstanceUuid String 云主机UUID 4.2.0
createDate Timestamp 创建时间 4.2.0
lastOpDate Timestamp 最后一次修改时间 4.2.0

SDK示例

Java SDK
DetachScsiLunFromHostAction action = new DetachScsiLunFromHostAction();
action.uuid = "fb5d3f596f683bd7a3b1bf1c396d5f4d";
action.hostUuid = "dce542427a3a3d1fa13324c9f67352cb";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
DetachScsiLunFromHostAction.Result res = action.call();
Python SDK
DetachScsiLunFromHostAction action = DetachScsiLunFromHostAction()
action.uuid = "fb5d3f596f683bd7a3b1bf1c396d5f4d"
action.hostUuid = "dce542427a3a3d1fa13324c9f67352cb"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
DetachScsiLunFromHostAction.Result res = action.call()

iSCSI服务器相关接口

添加iSCSI服务器(AddIscsiServer)

API请求

URLs
POST zstack/v1/storage-devices/iscsi/servers
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "ip": "10.0.0.201",
    "port": 3260.0
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"ip":"10.0.0.201","port":3260.0}}' http://localhost:8080/zstack/v1/storage-devices/iscsi/servers
参数列表
名字 类型 位置 描述 可选值 起始版本
name (可选) String body(包含在params结构中) 资源名称 3.0.0
ip String body(包含在params结构中) IP地址 3.0.0
port (可选) Integer body(包含在params结构中) 端口,默认为3260 3.0.0
chapUserName (可选) String body(包含在params结构中) CHAP用户名,默认为空 3.0.0
chapUserPassword (可选) String body(包含在params结构中) CHAP密码,默认为空 3.0.0
resourceUuid (可选) String body(包含在params结构中) 3.0.0
systemTags (可选) List body 3.0.0
userTags (可选) List body 3.0.0

API返回

返回示例
{
  "inventory": {
    "uuid": "0b77c2e947ca3b40b79f6342728ec8fc",
    "name": "iscsi-server-10.0.0.201",
    "ip": "10.0.0.201",
    "port": 3260.0,
    "chapUserName": "username",
    "chapUserPassword": "password",
    "state": "Enabled",
    "createDate": "Nov 14, 2017 10:20:57 PM",
    "lastOpDate": "Nov 14, 2017 10:20:57 PM"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 3.0.0
inventory IscsiServerInventory 详情参考inventory 3.0.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 3.0.0
description String 错误的概要描述 3.0.0
details String 错误的详细信息 3.0.0
elaboration String 保留字段,默认为null 3.0.0
opaque LinkedHashMap 保留字段,默认为null 3.0.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 3.0.0
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.0.0
name String 资源名称 3.0.0
ip String IP地址 3.0.0
port Integer 端口 3.0.0
chapUserName String CHAP用户名 3.0.0
chapUserPassword String CHAP密码 3.0.0
state String 启用状态 3.0.0
createDate Timestamp 创建时间 3.0.0
lastOpDate Timestamp 最后一次修改时间 3.0.0
iscsiTargets List 详情参考iscsiTargets 3.0.0
iscsiClusterRefs List 详情参考iscsiClusterRefs 3.0.0
#iscsiTargets
名字 类型 描述 起始版本
iscsiServerUuid String iSCSI服务器UUID 3.0.0
uuid String 资源的UUID,唯一标示该资源 3.0.0
iqn String iSCSI IQN 3.0.0
createDate Timestamp 创建时间 3.0.0
lastOpDate Timestamp 最后一次修改时间 3.0.0
iscsiLuns List 详情参考iscsiLuns 3.0.0
#iscsiLuns
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.0.0
iscsiTargetUuid String iSCSI目标UUID 3.0.0
wwid String 唯一识别ID 3.0.0
vendor String 设备供应商 3.0.0
model String 设备型号 3.0.0
wwn String 设备WWN 3.0.0
serial String 设备序列号 3.0.0
hctl String SCSI设备HCTL 3.0.0
type String 设备类型 3.0.0
path String 设备路径 3.0.0
size Long 设备大小 3.0.0
createDate Timestamp 创建时间 3.0.0
lastOpDate Timestamp 最后一次修改时间 3.0.0
#iscsiClusterRefs
名字 类型 描述 起始版本
iscsiServerUuid String 3.0.0
clusterUuid String 集群UUID 3.0.0
createDate Timestamp 创建时间 3.0.0
lastOpDate Timestamp 最后一次修改时间 3.0.0

SDK示例

Java SDK
AddIscsiServerAction action = new AddIscsiServerAction();
action.ip = "10.0.0.201";
action.port = 3260.0;
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
AddIscsiServerAction.Result res = action.call();
Python SDK
AddIscsiServerAction action = AddIscsiServerAction()
action.ip = "10.0.0.201"
action.port = 3260.0
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
AddIscsiServerAction.Result res = action.call()

删除iSCSI服务器(DeleteIscsiServer)

API请求

URLs
DELETE zstack/v1/storage-devices/iscsi/servers/{uuid}?deleteMode={deleteMode}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X DELETE http://localhost:8080/zstack/v1/storage-devices/iscsi/servers/7a3f7749fd393899b4b74d2b470e15eb?deleteMode=Permissive
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url iSCSI服务器的UUID 3.0.0
deleteMode (可选) String url 3.0.0
systemTags (可选) List body 3.0.0
userTags (可选) List body 3.0.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
DeleteIscsiServerAction action = new DeleteIscsiServerAction();
action.uuid = "7a3f7749fd393899b4b74d2b470e15eb";
action.deleteMode = "Permissive";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
DeleteIscsiServerAction.Result res = action.call();
Python SDK
DeleteIscsiServerAction action = DeleteIscsiServerAction()
action.uuid = "7a3f7749fd393899b4b74d2b470e15eb"
action.deleteMode = "Permissive"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
DeleteIscsiServerAction.Result res = action.call()

查询iSCSI服务器(QueryIscsiServer)

API请求

URLs
GET zstack/v1/storage-devices/iscsi/servers
GET zstack/v1/storage-devices/iscsi
GET zstack/v1/storage-devices/iscsi/servers/{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/storage-devices/iscsi/servers
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/storage-devices/iscsi
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/storage-devices/iscsi/servers/cf91d809261735be9f20429880c1d19c

可查询字段

运行CLI命令行工具,输入QueryIscsiServer并按Tab键查看所有可查询字段以及可跨表查询的资源名。

API返回

返回示例
{
  "inventories": [
    {
      "uuid": "fd97e8b6d61c399abed358ea6b2fc206",
      "name": "iscsi-server-10.0.0.201",
      "ip": "10.0.0.201",
      "port": 3260.0,
      "chapUserName": "username",
      "chapUserPassword": "password",
      "state": "Enabled",
      "iscsiTargets": [
        {
          "iscsiServerUuid": "fd97e8b6d61c399abed358ea6b2fc206",
          "uuid": "d156429110f13c2ca07bbc04e4031231",
          "iqn": "iqn.2018-01.io.cloud:tsn.00001",
          "state": "Enabled",
          "iscsiLuns": [
            {
              "uuid": "500f63c8f44939bbab102222927f9290",
              "iscsiTargetUuid": "d156429110f13c2ca07bbc04e4031231",
              "wwid": "36b083fe000daf018000015505abbe00a",
              "vendor": "DELL",
              "model": "MD32xx",
              "wwn": "0x6b083fe000daf018",
              "serial": "6b083fe000daf018000015505abbe00a",
              "hctl": "6:0:1:1",
              "type": "mpath",
              "path": "ip-0.0.0.201:3260-iscsi-iqn.2018-01.io.cloud:tsn.00001-lun-0",
              "size": 3.000318820352E13,
              "multipathDeviceUuid": "36b083fe000daf018000015505abbe00a"
            }
          ],
          "createDate": "Nov 14, 2017 10:20:57 PM",
          "lastOpDate": "Nov 14, 2017 10:20:57 PM"
        }
      ],
      "iscsiClusterRefs": [
        {
          "id": 1.0,
          "iscsiServerUuid": "fd97e8b6d61c399abed358ea6b2fc206",
          "clusterUuid": "02db8eb4e3043f55b7f1cf02df735611",
          "createDate": "Nov 14, 2017 10:20:57 PM",
          "lastOpDate": "Nov 14, 2017 10:20:57 PM"
        }
      ],
      "createDate": "Nov 14, 2017 10:20:57 PM",
      "lastOpDate": "Nov 14, 2017 10:20:57 PM"
    }
  ]
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 3.0.0
inventories List 详情参考inventories 3.0.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 3.0.0
description String 错误的概要描述 3.0.0
details String 错误的详细信息 3.0.0
elaboration String 保留字段,默认为null 3.0.0
opaque LinkedHashMap 保留字段,默认为null 3.0.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 3.0.0
#inventories
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.0.0
name String 资源名称 3.0.0
ip String IP地址 3.0.0
port Integer 端口 3.0.0
chapUserName String CHAP用户名 3.0.0
chapUserPassword String CHAP密码 3.0.0
state String 启用状态 3.0.0
createDate Timestamp 创建时间 3.0.0
lastOpDate Timestamp 最后一次修改时间 3.0.0
iscsiTargets List 详情参考iscsiTargets 3.0.0
iscsiClusterRefs List 详情参考iscsiClusterRefs 3.0.0
#iscsiTargets
名字 类型 描述 起始版本
iscsiServerUuid String iSCSI服务器UUID 3.0.0
uuid String 资源的UUID,唯一标示该资源 3.0.0
iqn String iSCSI IQN 3.0.0
createDate Timestamp 创建时间 3.0.0
lastOpDate Timestamp 最后一次修改时间 3.0.0
iscsiLuns List 详情参考iscsiLuns 3.0.0
#iscsiLuns
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.0.0
iscsiTargetUuid String iSCSI目标UUID 3.0.0
wwid String 唯一识别ID 3.0.0
vendor String 设备供应商 3.0.0
model String 设备型号 3.0.0
wwn String 设备WWN 3.0.0
serial String 设备序列号 3.0.0
hctl String SCSI设备HCTL 3.0.0
type String 设备类型 3.0.0
path String 设备路径 3.0.0
size Long 设备大小 3.0.0
createDate Timestamp 创建时间 3.0.0
lastOpDate Timestamp 最后一次修改时间 3.0.0
#iscsiClusterRefs
名字 类型 描述 起始版本
iscsiServerUuid String 3.0.0
clusterUuid String 集群UUID 3.0.0
createDate Timestamp 创建时间 3.0.0
lastOpDate Timestamp 最后一次修改时间 3.0.0

SDK示例

Java SDK
QueryIscsiServerAction action = new QueryIscsiServerAction();
action.conditions = asList();
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
QueryIscsiServerAction.Result res = action.call();
Python SDK
QueryIscsiServerAction action = QueryIscsiServerAction()
action.conditions = []
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
QueryIscsiServerAction.Result res = action.call()

刷新iSCSI服务器(RefreshIscsiServer)

API请求

URLs
POST zstack/v1/storage-devices/iscsi/servers/{uuid}
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {},
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{}}' http://localhost:8080/zstack/v1/storage-devices/iscsi/servers/0243c5d7322a36718ad76d865682ba44
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url 资源的UUID,唯一标示该资源 3.0.0
systemTags (可选) List body 3.0.0
userTags (可选) List body 3.0.0

API返回

返回示例
{
  "inventory": {
    "uuid": "a4a3ef3c3ed537e6b1040ee4b7d77686",
    "name": "iscsi-server-10.0.0.201",
    "ip": "10.0.0.201",
    "port": 3260.0,
    "chapUserName": "username",
    "chapUserPassword": "password",
    "state": "Enabled",
    "iscsiTargets": [
      {
        "iscsiServerUuid": "a4a3ef3c3ed537e6b1040ee4b7d77686",
        "uuid": "3da0cdedd9763edfab39a897f87454e9",
        "iqn": "iqn.2018-01.io.cloud:tsn.00001",
        "iscsiLuns": [
          {
            "uuid": "f569b3e3baf838e59d8a115458d72a9b",
            "iscsiTargetUuid": "3da0cdedd9763edfab39a897f87454e9",
            "wwid": "36b083fe000daf018000015505abbe00a",
            "vendor": "DELL",
            "model": "MD32xx",
            "wwn": "0x6b083fe000daf018",
            "serial": "6b083fe000daf018000015505abbe00a",
            "hctl": "6:0:1:1",
            "type": "mpath",
            "path": "ip-0.0.0.201:3260-iscsi-iqn.2018-01.io.cloud:tsn.00001-lun-0",
            "size": 3.000318820352E13,
            "multipathDeviceUuid": "36b083fe000daf018000015505abbe00a"
          }
        ],
        "createDate": "Nov 14, 2017 10:20:57 PM",
        "lastOpDate": "Nov 14, 2017 10:20:57 PM"
      }
    ],
    "iscsiClusterRefs": [
      {
        "id": 1.0,
        "iscsiServerUuid": "a4a3ef3c3ed537e6b1040ee4b7d77686",
        "clusterUuid": "da1ddc379fc137789b12bcac0ed90148",
        "createDate": "Nov 14, 2017 10:20:57 PM",
        "lastOpDate": "Nov 14, 2017 10:20:57 PM"
      }
    ],
    "createDate": "Nov 14, 2017 10:20:57 PM",
    "lastOpDate": "Nov 14, 2017 10:20:57 PM"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 3.0.0
inventory IscsiServerInventory 详情参考inventory 3.0.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 3.0.0
description String 错误的概要描述 3.0.0
details String 错误的详细信息 3.0.0
elaboration String 保留字段,默认为null 3.0.0
opaque LinkedHashMap 保留字段,默认为null 3.0.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 3.0.0
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.0.0
name String 资源名称 3.0.0
ip String IP地址 3.0.0
port Integer 端口 3.0.0
chapUserName String CHAP用户名 3.0.0
chapUserPassword String CHAP密码 3.0.0
state String 启用状态 3.0.0
createDate Timestamp 创建时间 3.0.0
lastOpDate Timestamp 最后一次修改时间 3.0.0
iscsiTargets List 详情参考iscsiTargets 3.0.0
iscsiClusterRefs List 详情参考iscsiClusterRefs 3.0.0
#iscsiTargets
名字 类型 描述 起始版本
iscsiServerUuid String iSCSI服务器UUID 3.0.0
uuid String 资源的UUID,唯一标示该资源 3.0.0
iqn String iSCSI IQN 3.0.0
createDate Timestamp 创建时间 3.0.0
lastOpDate Timestamp 最后一次修改时间 3.0.0
iscsiLuns List 详情参考iscsiLuns 3.0.0
#iscsiLuns
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.0.0
iscsiTargetUuid String iSCSI目标UUID 3.0.0
wwid String 唯一识别ID 3.0.0
vendor String 设备供应商 3.0.0
model String 设备型号 3.0.0
wwn String 设备WWN 3.0.0
serial String 设备序列号 3.0.0
hctl String SCSI设备HCTL 3.0.0
type String 设备类型 3.0.0
path String 设备路径 3.0.0
size Long 设备大小 3.0.0
createDate Timestamp 创建时间 3.0.0
lastOpDate Timestamp 最后一次修改时间 3.0.0
#iscsiClusterRefs
名字 类型 描述 起始版本
iscsiServerUuid String 3.0.0
clusterUuid String 集群UUID 3.0.0
createDate Timestamp 创建时间 3.0.0
lastOpDate Timestamp 最后一次修改时间 3.0.0

SDK示例

Java SDK
RefreshIscsiServerAction action = new RefreshIscsiServerAction();
action.uuid = "0243c5d7322a36718ad76d865682ba44";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
RefreshIscsiServerAction.Result res = action.call();
Python SDK
RefreshIscsiServerAction action = RefreshIscsiServerAction()
action.uuid = "0243c5d7322a36718ad76d865682ba44"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
RefreshIscsiServerAction.Result res = action.call()

更新iSCSI服务器配置(UpdateIscsiServer)

API请求

URLs
POST zstack/v1/storage-devices/iscsi/servers
Headers
Authorization: OAuth the-session-uuid
Body
{
  "updateIscsiServer": {
    "name": "test-iscsi-server"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"updateIscsiServer":{"name":"test-iscsi-server"}}' http://localhost:8080/zstack/v1/storage-devices/iscsi/servers/98d2177199ca301d9fd842eace2dbc67/actions
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String body(包含在params结构中) 资源的UUID,唯一标示该资源 3.0.0
name (可选) String body(包含在params结构中) 资源名称 3.0.0
chapUserName (可选) String body(包含在params结构中) CHAP用户名 3.0.0
chapUserPassword (可选) String body(包含在params结构中) CHAP密码 3.0.0
state (可选) String body(包含在params结构中) 启用状态
  • Enabled
  • Disabled
3.0.0
resourceUuid (可选) String body(包含在params结构中) 3.0.0
systemTags (可选) List body 3.0.0
userTags (可选) List body 3.0.0

API返回

返回示例
{
  "inventory": {
    "uuid": "0b77c2e947ca3b40b79f6342728ec8fc",
    "name": "iscsi-server-10.0.0.201",
    "ip": "10.0.0.201",
    "port": 3260.0,
    "chapUserName": "username",
    "chapUserPassword": "password",
    "state": "Enabled",
    "createDate": "Nov 14, 2017 10:20:57 PM",
    "lastOpDate": "Nov 14, 2017 10:20:57 PM"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 3.0.0
inventory IscsiServerInventory 详情参考inventory 3.0.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 3.0.0
description String 错误的概要描述 3.0.0
details String 错误的详细信息 3.0.0
elaboration String 保留字段,默认为null 3.0.0
opaque LinkedHashMap 保留字段,默认为null 3.0.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 3.0.0
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.0.0
name String 资源名称 3.0.0
ip String IP地址 3.0.0
port Integer 端口 3.0.0
chapUserName String CHAP用户名 3.0.0
chapUserPassword String CHAP密码 3.0.0
state String 启用状态 3.0.0
createDate Timestamp 创建时间 3.0.0
lastOpDate Timestamp 最后一次修改时间 3.0.0
iscsiTargets List 详情参考iscsiTargets 3.0.0
iscsiClusterRefs List 详情参考iscsiClusterRefs 3.0.0
#iscsiTargets
名字 类型 描述 起始版本
iscsiServerUuid String iSCSI服务器UUID 3.0.0
uuid String 资源的UUID,唯一标示该资源 3.0.0
iqn String iSCSI IQN 3.0.0
createDate Timestamp 创建时间 3.0.0
lastOpDate Timestamp 最后一次修改时间 3.0.0
iscsiLuns List 详情参考iscsiLuns 3.0.0
#iscsiLuns
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.0.0
iscsiTargetUuid String iSCSI目标UUID 3.0.0
wwid String 唯一识别ID 3.0.0
vendor String 设备供应商 3.0.0
model String 设备型号 3.0.0
wwn String 设备WWN 3.0.0
serial String 设备序列号 3.0.0
hctl String SCSI设备HCTL 3.0.0
type String 设备类型 3.0.0
path String 设备路径 3.0.0
size Long 设备大小 3.0.0
createDate Timestamp 创建时间 3.0.0
lastOpDate Timestamp 最后一次修改时间 3.0.0
#iscsiClusterRefs
名字 类型 描述 起始版本
iscsiServerUuid String 3.0.0
clusterUuid String 集群UUID 3.0.0
createDate Timestamp 创建时间 3.0.0
lastOpDate Timestamp 最后一次修改时间 3.0.0

SDK示例

Java SDK
UpdateIscsiServerAction action = new UpdateIscsiServerAction();
action.uuid = "98d2177199ca301d9fd842eace2dbc67";
action.name = "test-iscsi-server";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
UpdateIscsiServerAction.Result res = action.call();
Python SDK
UpdateIscsiServerAction action = UpdateIscsiServerAction()
action.uuid = "98d2177199ca301d9fd842eace2dbc67"
action.name = "test-iscsi-server"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
UpdateIscsiServerAction.Result res = action.call()

将iSCSI服务器加载到集群(AttachIscsiServerToCluster)

API请求

URLs
POST zstack/v1/clusters/{clusterUuid}/storage-devices/iscsi/servers/{uuid}
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {},
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{}}' http://localhost:8080/zstack/v1/clusters/ee5a78dfa67b34598e9fe734111592a7/storage-devices/iscsi/servers/3ae1ec6d33d53ab7b8cea6e33e517e28
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url iSCSI服务器的的UUID 3.0.0
clusterUuid String url 集群UUID 3.0.0
systemTags (可选) List body 3.0.0
userTags (可选) List body 3.0.0

API返回

返回示例
{
  "inventory": {
    "uuid": "a3d69cbb4ccc35f49354f34b9a52833d",
    "name": "iscsi-server-10.0.0.201",
    "ip": "10.0.0.201",
    "port": 3260.0,
    "chapUserName": "username",
    "chapUserPassword": "password",
    "state": "Enabled",
    "iscsiTargets": [
      {
        "iscsiServerUuid": "a3d69cbb4ccc35f49354f34b9a52833d",
        "uuid": "0a0f4da9f2ba3fddac178737e11cef73",
        "iqn": "iqn.2018-01.io.cloud:tsn.00001",
        "state": "Enabled",
        "iscsiLuns": [
          {
            "uuid": "f63e921f951435ee9d18901b8eccf986",
            "iscsiTargetUuid": "0a0f4da9f2ba3fddac178737e11cef73",
            "wwid": "36b083fe000daf018000015505abbe00a",
            "vendor": "DELL",
            "model": "MD32xx",
            "wwn": "0x6b083fe000daf018",
            "serial": "6b083fe000daf018000015505abbe00a",
            "hctl": "6:0:1:1",
            "type": "mpath",
            "path": "ip-0.0.0.201:3260-iscsi-iqn.2018-01.io.cloud:tsn.00001-lun-0",
            "size": 3.000318820352E13,
            "multipathDeviceUuid": "36b083fe000daf018000015505abbe00a"
          }
        ],
        "createDate": "Nov 14, 2017 10:20:57 PM",
        "lastOpDate": "Nov 14, 2017 10:20:57 PM"
      }
    ],
    "iscsiClusterRefs": [
      {
        "id": 1.0,
        "iscsiServerUuid": "a3d69cbb4ccc35f49354f34b9a52833d",
        "clusterUuid": "962af991872e3ac98a2c4a7385f92541",
        "createDate": "Nov 14, 2017 10:20:57 PM",
        "lastOpDate": "Nov 14, 2017 10:20:57 PM"
      }
    ],
    "createDate": "Nov 14, 2017 10:20:57 PM",
    "lastOpDate": "Nov 14, 2017 10:20:57 PM"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 3.0.0
inventory IscsiServerInventory 详情参考inventory 3.0.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 3.0.0
description String 错误的概要描述 3.0.0
details String 错误的详细信息 3.0.0
elaboration String 保留字段,默认为null 3.0.0
opaque LinkedHashMap 保留字段,默认为null 3.0.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 3.0.0
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.0.0
name String 资源名称 3.0.0
ip String IP地址 3.0.0
port Integer 端口 3.0.0
chapUserName String CHAP用户名 3.0.0
chapUserPassword String CHAP密码 3.0.0
state String 启用状态 3.0.0
createDate Timestamp 创建时间 3.0.0
lastOpDate Timestamp 最后一次修改时间 3.0.0
iscsiTargets List 详情参考iscsiTargets 3.0.0
iscsiClusterRefs List 详情参考iscsiClusterRefs 3.0.0
#iscsiTargets
名字 类型 描述 起始版本
iscsiServerUuid String iSCSI服务器UUID 3.0.0
uuid String 资源的UUID,唯一标示该资源 3.0.0
iqn String iSCSI IQN 3.0.0
createDate Timestamp 创建时间 3.0.0
lastOpDate Timestamp 最后一次修改时间 3.0.0
iscsiLuns List 详情参考iscsiLuns 3.0.0
#iscsiLuns
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.0.0
iscsiTargetUuid String iSCSI目标UUID 3.0.0
wwid String 唯一识别ID 3.0.0
vendor String 设备供应商 3.0.0
model String 设备型号 3.0.0
wwn String 设备WWN 3.0.0
serial String 设备序列号 3.0.0
hctl String SCSI设备HCTL 3.0.0
type String 设备类型 3.0.0
path String 设备路径 3.0.0
size Long 设备大小 3.0.0
createDate Timestamp 创建时间 3.0.0
lastOpDate Timestamp 最后一次修改时间 3.0.0
#iscsiClusterRefs
名字 类型 描述 起始版本
iscsiServerUuid String 3.0.0
clusterUuid String 集群UUID 3.0.0
createDate Timestamp 创建时间 3.0.0
lastOpDate Timestamp 最后一次修改时间 3.0.0

SDK示例

Java SDK
AttachIscsiServerToClusterAction action = new AttachIscsiServerToClusterAction();
action.uuid = "3ae1ec6d33d53ab7b8cea6e33e517e28";
action.clusterUuid = "ee5a78dfa67b34598e9fe734111592a7";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
AttachIscsiServerToClusterAction.Result res = action.call();
Python SDK
AttachIscsiServerToClusterAction action = AttachIscsiServerToClusterAction()
action.uuid = "3ae1ec6d33d53ab7b8cea6e33e517e28"
action.clusterUuid = "ee5a78dfa67b34598e9fe734111592a7"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
AttachIscsiServerToClusterAction.Result res = action.call()

将iSCSI服务器从集群卸载(DetachIscsiServerFromCluster)

API请求

URLs
DELETE zstack/v1/clusters/{clusterUuid}/storage-devices/iscsi/servers/{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X DELETE http://localhost:8080/zstack/v1/clusters/81ecbd4ae7c9346aa3225592441c36df/storage-devices/iscsi/servers/132d1caceecd3847b30bd901485ccc44
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url iSCSI服务器的UUID 3.0.0
clusterUuid String url 集群UUID 3.0.0
systemTags (可选) List body 3.0.0
userTags (可选) List body 3.0.0

API返回

返回示例
{
  "inventory": {
    "uuid": "2c42d5e271e93a91a4467bf936a21018",
    "ip": "10.0.0.201",
    "port": 3260.0,
    "chapUserName": "username",
    "chapUserPassword": "password",
    "state": "Enabled",
    "iscsiTargets": [
      {
        "iscsiServerUuid": "2c42d5e271e93a91a4467bf936a21018",
        "uuid": "84fb04ce8ac03803b99cab5cccd831d1",
        "iqn": "iqn.2018-01.io.cloud:tsn.00001",
        "state": "Enabled",
        "iscsiLuns": [
          {
            "uuid": "44d2c6a338123031a55ce32f102432af",
            "iscsiTargetUuid": "84fb04ce8ac03803b99cab5cccd831d1",
            "wwid": "36b083fe000daf018000015505abbe00a",
            "vendor": "DELL",
            "model": "MD32xx",
            "wwn": "0x6b083fe000daf018",
            "serial": "6b083fe000daf018000015505abbe00a",
            "hctl": "6:0:1:1",
            "type": "mpath",
            "path": "ip-0.0.0.201:3260-iscsi-iqn.2018-01.io.cloud:tsn.00001-lun-0",
            "size": 3.000318820352E13,
            "multipathDeviceUuid": "36b083fe000daf018000015505abbe00a"
          }
        ],
        "createDate": "Nov 14, 2017 10:20:57 PM",
        "lastOpDate": "Nov 14, 2017 10:20:57 PM"
      }
    ],
    "iscsiClusterRefs": [
      {
        "id": 1.0,
        "iscsiServerUuid": "2c42d5e271e93a91a4467bf936a21018",
        "clusterUuid": "ced139d5eded3049bbfe8364804fa8c0",
        "createDate": "Nov 14, 2017 10:20:57 PM",
        "lastOpDate": "Nov 14, 2017 10:20:57 PM"
      }
    ],
    "createDate": "Nov 14, 2017 10:20:57 PM",
    "lastOpDate": "Nov 14, 2017 10:20:57 PM"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 3.0.0
inventory IscsiServerInventory 详情参考inventory 3.0.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 3.0.0
description String 错误的概要描述 3.0.0
details String 错误的详细信息 3.0.0
elaboration String 保留字段,默认为null 3.0.0
opaque LinkedHashMap 保留字段,默认为null 3.0.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 3.0.0
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.0.0
name String 资源名称 3.0.0
ip String IP地址 3.0.0
port Integer 端口 3.0.0
chapUserName String CHAP用户名 3.0.0
chapUserPassword String CHAP密码 3.0.0
state String 启用状态 3.0.0
createDate Timestamp 创建时间 3.0.0
lastOpDate Timestamp 最后一次修改时间 3.0.0
iscsiTargets List 详情参考iscsiTargets 3.0.0
iscsiClusterRefs List 详情参考iscsiClusterRefs 3.0.0
#iscsiTargets
名字 类型 描述 起始版本
iscsiServerUuid String iSCSI服务器UUID 3.0.0
uuid String 资源的UUID,唯一标示该资源 3.0.0
iqn String iSCSI IQN 3.0.0
createDate Timestamp 创建时间 3.0.0
lastOpDate Timestamp 最后一次修改时间 3.0.0
iscsiLuns List 详情参考iscsiLuns 3.0.0
#iscsiLuns
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.0.0
iscsiTargetUuid String iSCSI目标UUID 3.0.0
wwid String 唯一识别ID 3.0.0
vendor String 设备供应商 3.0.0
model String 设备型号 3.0.0
wwn String 设备WWN 3.0.0
serial String 设备序列号 3.0.0
hctl String SCSI设备HCTL 3.0.0
type String 设备类型 3.0.0
path String 设备路径 3.0.0
size Long 设备大小 3.0.0
createDate Timestamp 创建时间 3.0.0
lastOpDate Timestamp 最后一次修改时间 3.0.0
#iscsiClusterRefs
名字 类型 描述 起始版本
iscsiServerUuid String 3.0.0
clusterUuid String 集群UUID 3.0.0
createDate Timestamp 创建时间 3.0.0
lastOpDate Timestamp 最后一次修改时间 3.0.0

SDK示例

Java SDK
DetachIscsiServerFromClusterAction action = new DetachIscsiServerFromClusterAction();
action.uuid = "132d1caceecd3847b30bd901485ccc44";
action.clusterUuid = "81ecbd4ae7c9346aa3225592441c36df";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
DetachIscsiServerFromClusterAction.Result res = action.call();
Python SDK
DetachIscsiServerFromClusterAction action = DetachIscsiServerFromClusterAction()
action.uuid = "132d1caceecd3847b30bd901485ccc44"
action.clusterUuid = "81ecbd4ae7c9346aa3225592441c36df"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
DetachIscsiServerFromClusterAction.Result res = action.call()

查询iSCSI磁盘(QueryIscsiLun)

API请求

URLs
GET zstack/v1/storage-devices/iscsi/luns
GET zstack/v1/storage-devices/iscsi/luns/{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/storage-devices/iscsi/luns
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/storage-devices/iscsi/luns/da96929549c63b66b8afc63be70a373f

可查询字段

运行CLI命令行工具,输入QueryIscsiLun并按Tab键查看所有可查询字段以及可跨表查询的资源名。

API返回

返回示例
{
  "inventories": [
    {
      "uuid": "d833304319da3b32bc92f21c763a8e5b",
      "wwid": "36b083fe000daf018000015505abbe00a",
      "vendor": "DELL",
      "model": "MD32xx",
      "wwn": "0x6b083fe000daf018",
      "serial": "6b083fe000daf018000015505abbe00a",
      "hctl": "6:0:1:1",
      "type": "mpath",
      "path": "ip-0.0.0.201:3260-iscsi-iqn.2018-01.io.cloud:tsn.00001-lun-0",
      "size": 3.000318820352E13,
      "multipathDeviceUuid": "36b083fe000daf018000015505abbe00a"
    },
    {
      "uuid": "a21ee1e2e3f63a61ac983c53c29552d2",
      "wwid": "36b083fe000daf018000015505abbe00a",
      "vendor": "DELL",
      "model": "MD32xx",
      "wwn": "0x6b083fe000daf018",
      "serial": "6b083fe000daf018000015505abbe00a",
      "hctl": "6:0:3:1",
      "type": "mpath",
      "path": "ip-0.0.0.201:3260-iscsi-iqn.2018-01.io.cloud:tsn.00002-lun-0",
      "size": 3.000318820352E13,
      "multipathDeviceUuid": "36b083fe000daf018000015505abbe00a"
    }
  ]
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 3.0.0
inventories List 详情参考inventories 3.0.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 3.0.0
description String 错误的概要描述 3.0.0
details String 错误的详细信息 3.0.0
elaboration String 保留字段,默认为null 3.0.0
opaque LinkedHashMap 保留字段,默认为null 3.0.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 3.0.0
#inventories
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.0.0
iscsiTargetUuid String iSCSI目标UUID 3.0.0
wwid String 唯一识别ID 3.0.0
vendor String 设备供应商 3.0.0
model String 设备型号 3.0.0
wwn String 设备WWN 3.0.0
serial String 设备序列号 3.0.0
hctl String SCSI设备HCTL 3.0.0
type String 设备类型 3.0.0
path String 设备路径 3.0.0
size Long 设备大小 3.0.0
createDate Timestamp 创建时间 3.0.0
lastOpDate Timestamp 最后一次修改时间 3.0.0

SDK示例

Java SDK
QueryIscsiLunAction action = new QueryIscsiLunAction();
action.conditions = asList();
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
QueryIscsiLunAction.Result res = action.call();
Python SDK
QueryIscsiLunAction action = QueryIscsiLunAction()
action.conditions = []
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
QueryIscsiLunAction.Result res = action.call()

FC存储相关接口

查询FC SAN存储(QueryFiberChannelStorage)

API请求

URLs
GET zstack/v1/storage-devices/fiber-channel/controllers
GET zstack/v1/storage-devices/fiber-channel
GET zstack/v1/storage-devices/fiber-channel/controllers/{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/storage-devices/fiber-channel/controllers?
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/storage-devices/fiber-channel?
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/storage-devices/fiber-channel/controllers/6ca3d260093e3c06840309e9e756b1bf

可查询字段

运行CLI命令行工具,输入QueryFiberChannelStorage并按Tab键查看所有可查询字段以及可跨表查询的资源名。

API返回

返回示例
{
  "inventories": [
    {
      "uuid": "afedd6ab89d338fbaab258f981ca2295",
      "state": "Enabled",
      "fiberChannelLuns": [
        {
          "fiberChannelStorageUuid": "afedd6ab89d338fbaab258f981ca2295",
          "name": "fc-lun-36b083fe000daf018000022905ba35d8f",
          "uuid": "2e69f8443fbc3ec3a25a92ab8632f80f",
          "wwid": "36b083fe000daf018000022905ba35d8f",
          "vendor": "DELL",
          "model": "MD32xx",
          "wwn": "0x6f01faf000d5c3e7",
          "serial": "6b083fe000daf018000015505abbe00a",
          "type": "mpath",
          "path": "pci-0000:05:00.0-fc-0x2012b083fedaf018-lun-11",
          "size": 5.49755813888E12,
          "scsiLunHostRefs": [
            {
              "id": 3.0,
              "scsiLunUuid": "5a89fbd0d7793673acfa2e69acc56ce4",
              "hostUuid": "bc3f69d449aa3410bd7267a1050de980",
              "createDate": "Nov 14, 2017 10:20:57 PM",
              "lastOpDate": "Nov 14, 2017 10:20:57 PM"
            }
          ],
          "scsiLunVmInstanceRefs": []
        },
        {
          "fiberChannelStorageUuid": "afedd6ab89d338fbaab258f981ca2295",
          "name": "fc-lun-36f01faf000d5c3e7000023ef5ba362f2",
          "uuid": "52039a86c9173ff7a86ce214fc3d47cf",
          "wwid": "36f01faf000d5c3e7000023ef5ba362f2",
          "vendor": "DELL",
          "model": "MD32xx",
          "wwn": "0x6b083fe000daf018",
          "serial": "6b083fe000daf018000015505abbe00a",
          "type": "mpath",
          "path": "pci-0000:05:00.0-fc-0x2012b083fedaf018-lun-12",
          "size": 5.49755813888E12,
          "scsiLunHostRefs": [
            {
              "id": 3.0,
              "scsiLunUuid": "5a89fbd0d7793673acfa2e69acc56ce4",
              "hostUuid": "bc3f69d449aa3410bd7267a1050de980",
              "createDate": "Nov 14, 2017 10:20:57 PM",
              "lastOpDate": "Nov 14, 2017 10:20:57 PM"
            }
          ],
          "scsiLunVmInstanceRefs": []
        }
      ],
      "createDate": "Nov 14, 2017 10:20:57 PM",
      "lastOpDate": "Nov 14, 2017 10:20:57 PM"
    },
    {
      "uuid": "4e902db710403f68a7703e45d00e551d",
      "state": "Enabled",
      "createDate": "Nov 14, 2017 10:20:57 PM",
      "lastOpDate": "Nov 14, 2017 10:20:57 PM"
    }
  ]
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 3.1.0
inventories List 详情参考inventories 3.1.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 0.6
description String 错误的概要描述 0.6
details String 错误的详细信息 0.6
elaboration String 保留字段,默认为null 0.6
opaque LinkedHashMap 保留字段,默认为null 0.6
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 0.6
#inventories
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.1.0
name String 资源名称 3.1.0
wwnn String FC SAN全局唯一表示 3.1.0
state String 启用状态 3.1.0
createDate Timestamp 创建时间 3.1.0
lastOpDate Timestamp 最后一次修改时间 3.1.0
fiberChannelLuns List 详情参考fiberChannelLuns 3.1.0
#fiberChannelLuns
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.1.0
fiberChannelStorageUuid String FC SAN存储UUID 3.1.0
wwid String 磁盘全局唯一表示 3.1.0
vendor String 供应商 3.1.0
model String 型号 3.1.0
wwn String 磁盘WWN 3.1.0
serial String 磁盘序列号 3.1.0
type String 磁盘类型 3.1.0
path String 磁盘路径 3.1.0
size Long 磁盘大小 3.1.0
createDate Timestamp 创建时间 3.1.0
lastOpDate Timestamp 最后一次修改时间 3.1.0
name String 资源名称 3.1.0
state String 启用状态 3.1.0
scsiLunHostRefs List 详情参考scsiLunHostRefs 3.1.0
scsiLunVmInstanceRefs List 详情参考scsiLunVmInstanceRefs 3.1.0
#scsiLunHostRefs
名字 类型 描述 起始版本
scsiLunUuid String SCSI LUN UUID 3.1.0
hostUuid String 物理机UUID 3.1.0
createDate Timestamp 创建时间 3.1.0
lastOpDate Timestamp 最后一次修改时间 3.1.0
#scsiLunVmInstanceRefs
名字 类型 描述 起始版本
scsiLunUuid String SCSI LUN UUID 3.1.0
vmInstanceUuid String 云主机UUID 3.1.0
createDate Timestamp 创建时间 3.1.0
lastOpDate Timestamp 最后一次修改时间 3.1.0

SDK示例

Java SDK
QueryFiberChannelStorageAction action = new QueryFiberChannelStorageAction();
action.conditions = asList();
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
QueryFiberChannelStorageAction.Result res = action.call();
Python SDK
QueryFiberChannelStorageAction action = QueryFiberChannelStorageAction()
action.conditions = []
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
QueryFiberChannelStorageAction.Result res = action.call()

刷新FC SAN存储(RefreshFiberChannelStorage)

API请求

URLs
POST zstack/v1/storage-devices/fiber-channel/controllers
POST zstack/v1/storage-devices/fiber-channel/controllers/{uuid}
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "uuid": "52049ca66e8135f5aac2835aecab62a0"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"uuid":"52049ca66e8135f5aac2835aecab62a0"}}' http://localhost:8080/zstack/v1/storage-devices/fiber-channel/controllers
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"uuid":"52049ca66e8135f5aac2835aecab62a0"}}' http://localhost:8080/zstack/v1/storage-devices/fiber-channel/controllers/52049ca66e8135f5aac2835aecab62a0
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid (可选) String body(包含在params结构中) FC SAN存储的UUID,唯一标示该资源 3.1.0
zoneUuid String body(包含在params结构中) 区域UUID 3.1.0
systemTags (可选) List body 3.1.0
userTags (可选) List body 3.1.0

API返回

返回示例
{
  "inventories": [
    {
      "uuid": "971fa2e9e689304183d4eef676ad0241",
      "state": "Enabled",
      "fiberChannelLuns": [
        {
          "fiberChannelStorageUuid": "971fa2e9e689304183d4eef676ad0241",
          "name": "fc-lun-36b083fe000daf018000022905ba35d8f",
          "uuid": "2fb634b5c6ae3e1390360e982cdaf9d2",
          "wwid": "36b083fe000daf018000022905ba35d8f",
          "vendor": "DELL",
          "model": "MD32xx",
          "wwn": "0x6f01faf000d5c3e7",
          "serial": "6b083fe000daf018000015505abbe00a",
          "type": "mpath",
          "path": "pci-0000:05:00.0-fc-0x2012b083fedaf018-lun-11",
          "size": 5.49755813888E12,
          "scsiLunHostRefs": [
            {
              "id": 3.0,
              "scsiLunUuid": "fd0a53d0234e303c9ba7c316f5484a59",
              "hostUuid": "ef288e9807853188b76d3d445a35b345",
              "createDate": "Nov 14, 2017 10:20:57 PM",
              "lastOpDate": "Nov 14, 2017 10:20:57 PM"
            }
          ],
          "scsiLunVmInstanceRefs": []
        },
        {
          "fiberChannelStorageUuid": "971fa2e9e689304183d4eef676ad0241",
          "name": "fc-lun-36f01faf000d5c3e7000023ef5ba362f2",
          "uuid": "fb37b3bb268c38c3803b93ee60f25ef6",
          "wwid": "36f01faf000d5c3e7000023ef5ba362f2",
          "vendor": "DELL",
          "model": "MD32xx",
          "wwn": "0x6b083fe000daf018",
          "serial": "6b083fe000daf018000015505abbe00a",
          "type": "mpath",
          "path": "pci-0000:05:00.0-fc-0x2012b083fedaf018-lun-12",
          "size": 5.49755813888E12,
          "scsiLunHostRefs": [
            {
              "id": 3.0,
              "scsiLunUuid": "fd0a53d0234e303c9ba7c316f5484a59",
              "hostUuid": "ef288e9807853188b76d3d445a35b345",
              "createDate": "Nov 14, 2017 10:20:57 PM",
              "lastOpDate": "Nov 14, 2017 10:20:57 PM"
            }
          ],
          "scsiLunVmInstanceRefs": []
        }
      ],
      "createDate": "Nov 14, 2017 10:20:57 PM",
      "lastOpDate": "Nov 14, 2017 10:20:57 PM"
    },
    {
      "uuid": "ddc6eb334da838b08224ed6c43e67d0e",
      "state": "Enabled",
      "createDate": "Nov 14, 2017 10:20:57 PM",
      "lastOpDate": "Nov 14, 2017 10:20:57 PM"
    }
  ]
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 3.1.0
inventories List 详情参考inventories 3.1.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 0.6
description String 错误的概要描述 0.6
details String 错误的详细信息 0.6
elaboration String 保留字段,默认为null 0.6
opaque LinkedHashMap 保留字段,默认为null 0.6
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 0.6
#inventories
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.1.0
name String 资源名称 3.1.0
wwnn String FC SAN全局唯一表示 3.1.0
state String 启用状态 3.1.0
createDate Timestamp 创建时间 3.1.0
lastOpDate Timestamp 最后一次修改时间 3.1.0
fiberChannelLuns List 详情参考fiberChannelLuns 3.1.0
#fiberChannelLuns
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.1.0
fiberChannelStorageUuid String FC SAN存储UUID 3.1.0
wwid String 磁盘全局唯一表示 3.1.0
vendor String 供应商 3.1.0
model String 型号 3.1.0
wwn String 磁盘WWN 3.1.0
serial String 磁盘序列号 3.1.0
type String 磁盘类型 3.1.0
path String 磁盘路径 3.1.0
size Long 磁盘大小 3.1.0
createDate Timestamp 创建时间 3.1.0
lastOpDate Timestamp 最后一次修改时间 3.1.0
name String 资源名称 3.1.0
state String 启用状态 3.1.0
scsiLunHostRefs List 详情参考scsiLunHostRefs 3.1.0
scsiLunVmInstanceRefs List 详情参考scsiLunVmInstanceRefs 3.1.0
#scsiLunHostRefs
名字 类型 描述 起始版本
scsiLunUuid String SCSI Lun UUID 3.1.0
hostUuid String 物理机UUID 3.1.0
createDate Timestamp 创建时间 3.1.0
lastOpDate Timestamp 最后一次修改时间 3.1.0
#scsiLunVmInstanceRefs
名字 类型 描述 起始版本
scsiLunUuid String SCSI Lun UUID 3.1.0
vmInstanceUuid String 云主机UUID 3.1.0
createDate Timestamp 创建时间 3.1.0
lastOpDate Timestamp 最后一次修改时间 3.1.0

SDK示例

Java SDK
RefreshFiberChannelStorageAction action = new RefreshFiberChannelStorageAction();
action.uuid = "52049ca66e8135f5aac2835aecab62a0";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
RefreshFiberChannelStorageAction.Result res = action.call();
Python SDK
RefreshFiberChannelStorageAction action = RefreshFiberChannelStorageAction()
action.uuid = "52049ca66e8135f5aac2835aecab62a0"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
RefreshFiberChannelStorageAction.Result res = action.call()

更新SCSI LUN配置(UpdateScsiLun)

API请求

URLs
PUT zstack/v1/storage-devices/scsi-lun/{uuid}/actions
Headers
Authorization: OAuth the-session-uuid
Body
{
  "updateScsiLun": {
    "name": "test-scsi-lun"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"updateScsiLun":{"name":"test-scsi-lun"}}' http://localhost:8080/zstack/v1/storage-devices/scsi-lun/e2e9d7f44ee23960bc6e4e31b0a010d9/actions
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url 资源的UUID,唯一标示该资源 3.1.0
name (可选) String body(包含在updateScsiLun结构中) 资源名称 3.1.0
state (可选) String body(包含在updateScsiLun结构中) 启用状态
  • Enabled
  • Disabled
3.1.0
systemTags (可选) List body 3.1.0
userTags (可选) List body 3.1.0

API返回

返回示例
{
  "inventory": {
    "name": "test-scsi-lun",
    "uuid": "57cefcdc1746340ba1649c446059aea0",
    "wwid": "36b083fe000daf018000022905ba35d8f",
    "vendor": "DELL",
    "model": "MD32xx",
    "wwn": "0x6f01faf000d5c3e7",
    "serial": "6b083fe000daf018000015505abbe00a",
    "type": "mpath",
    "path": "pci-0000:05:00.0-fc-0x2012b083fedaf018-lun-11",
    "size": 5.49755813888E12,
    "scsiLunHostRefs": [
      {
        "id": 1.0,
        "scsiLunUuid": "57cefcdc1746340ba1649c446059aea0",
        "hostUuid": "6e76dfbcc3b338c482ff51de1f0d76da",
        "createDate": "Nov 14, 2017 10:20:57 PM"
      }
    ],
    "scsiLunVmInstanceRefs": [],
    "createDate": "Nov 14, 2017 10:20:57 PM",
    "lastOpDate": "Nov 14, 2017 10:20:57 PM"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 3.1.0
inventory ScsiLunInventory 详情参考inventory 3.1.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 0.6
description String 错误的概要描述 0.6
details String 错误的详细信息 0.6
elaboration String 保留字段,默认为null 0.6
opaque LinkedHashMap 保留字段,默认为null 0.6
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 0.6
#inventory
名字 类型 描述 起始版本
name String 资源名称 3.1.0
uuid String 资源的UUID,唯一标示该资源 3.1.0
wwid String 磁盘全局唯一表示 3.1.0
vendor String 磁盘供应商 3.1.0
model String 磁盘型号 3.1.0
wwn String 磁盘WWN 3.1.0
serial String 磁盘序列号 3.1.0
type String 磁盘类型 3.1.0
path String 磁盘路径 3.1.0
state String 磁盘启用状态 3.1.0
size Long 磁盘大小 3.1.0
createDate Timestamp 创建时间 3.1.0
lastOpDate Timestamp 最后一次修改时间 3.1.0
scsiLunHostRefs List 详情参考scsiLunHostRefs 3.1.0
scsiLunVmInstanceRefs List 详情参考scsiLunVmInstanceRefs 3.1.0
#scsiLunHostRefs
名字 类型 描述 起始版本
scsiLunUuid String SCSI LUN UUID 3.1.0
hostUuid String 物理机UUID 3.1.0
createDate Timestamp 创建时间 3.1.0
lastOpDate Timestamp 最后一次修改时间 3.1.0
#scsiLunVmInstanceRefs
名字 类型 描述 起始版本
scsiLunUuid String SCSI LUN UUID 3.1.0
vmInstanceUuid String 云主机UUID 3.1.0
createDate Timestamp 创建时间 3.1.0
lastOpDate Timestamp 最后一次修改时间 3.1.0

SDK示例

Java SDK
UpdateScsiLunAction action = new UpdateScsiLunAction();
action.uuid = "e2e9d7f44ee23960bc6e4e31b0a010d9";
action.name = "test-scsi-lun";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
UpdateScsiLunAction.Result res = action.call();
Python SDK
UpdateScsiLunAction action = UpdateScsiLunAction()
action.uuid = "e2e9d7f44ee23960bc6e4e31b0a010d9"
action.name = "test-scsi-lun"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
UpdateScsiLunAction.Result res = action.call()

将SCSI LUN加载到云主机(AttachScsiLunToVmInstance)

API请求

URLs
POST zstack/v1/vm-instances/{vmInstanceUuid}/scsi-lun/{uuid}
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "disableMultiPathAttach": false
  },
  "systemTags": [],
  "userTags": []
}
Note:

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

Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"disableMultiPathAttach":false}}' http://localhost:8080/zstack/v1/vm-instances/e5bc51b4fdd13d35b4abe7be408435d4/scsi-lun/e4ea0f73829b3206a497c88b896613d6
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url SCSI LUN的UUID,唯一标示该资源 3.1.0
vmInstanceUuid String url 云主机UUID 3.1.0
disableMultiPathAttach (可选) String url 关闭自动加载多路径设备 3.1.0
systemTags (可选) List body 3.1.0
userTags (可选) List body 3.1.0

API返回

返回示例
{
  "inventory": {
    "name": "fc-lun-36b083fe000daf018000022905ba35d8f",
    "uuid": "d20114f179003943904fee1127d16eba",
    "wwid": "36b083fe000daf018000022905ba35d8f",
    "vendor": "DELL",
    "model": "MD32xx",
    "wwn": "0x6f01faf000d5c3e7",
    "serial": "6b083fe000daf018000015505abbe00a",
    "type": "mpath",
    "path": "pci-0000:05:00.0-fc-0x2012b083fedaf018-lun-11",
    "size": 5.49755813888E12,
    "scsiLunHostRefs": [
      {
        "id": 1.0,
        "scsiLunUuid": "d20114f179003943904fee1127d16eba",
        "hostUuid": "e62d261d3f293e0182f85779e105eb13",
        "createDate": "Nov 14, 2017 10:20:57 PM"
      }
    ],
    "scsiLunVmInstanceRefs": [
      {
        "id": 1.0,
        "scsiLunUuid": "d20114f179003943904fee1127d16eba",
        "vmInstanceUuid": "84af387a5ef034818cc8488eaddbf5f3",
        "createDate": "Nov 14, 2017 10:20:57 PM",
        "attachMultipath": false
      }
    ],
    "createDate": "Nov 14, 2017 10:20:57 PM",
    "lastOpDate": "Nov 14, 2017 10:20:57 PM"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 3.1.0
inventory ScsiLunInventory 详情参考inventory 3.1.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 3.1.0
description String 错误的概要描述 3.1.0
details String 错误的详细信息 3.1.0
elaboration String 保留字段,默认为null 3.1.0
opaque LinkedHashMap 保留字段,默认为null 3.1.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 3.1.0
#inventory
名字 类型 描述 起始版本
name String 资源名称 3.1.0
uuid String 资源的UUID,唯一标示该资源 3.1.0
wwid String 磁盘全局唯一表示 3.1.0
vendor String 磁盘供应商 3.1.0
model String 磁盘型号 3.1.0
wwn String 磁盘WWN 3.1.0
serial String 磁盘序列号 3.1.0
type String 磁盘类型 3.1.0
path String 磁盘路径 3.1.0
state String 磁盘启用状态 3.1.0
size Long 磁盘大小 3.1.0
createDate Timestamp 创建时间 3.1.0
lastOpDate Timestamp 最后一次修改时间 3.1.0
scsiLunHostRefs List 详情参考scsiLunHostRefs 3.1.0
scsiLunVmInstanceRefs List 详情参考scsiLunVmInstanceRefs 3.1.0
#scsiLunHostRefs
名字 类型 描述 起始版本
scsiLunUuid String SCSI LUN UUID 3.1.0
hostUuid String 物理机UUID 3.1.0
createDate Timestamp 创建时间 3.1.0
lastOpDate Timestamp 最后一次修改时间 3.1.0
#scsiLunVmInstanceRefs
名字 类型 描述 起始版本
scsiLunUuid String SCSI LUN UUID 3.1.0
vmInstanceUuid String 云主机UUID 3.1.0
createDate Timestamp 创建时间 3.1.0
lastOpDate Timestamp 最后一次修改时间 3.1.0

SDK示例

Java SDK
AttachScsiLunToVmInstanceAction action = new AttachScsiLunToVmInstanceAction();
action.uuid = "e4ea0f73829b3206a497c88b896613d6";
action.vmInstanceUuid = "e5bc51b4fdd13d35b4abe7be408435d4";
action.disableMultiPathAttach = false;
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
AttachScsiLunToVmInstanceAction.Result res = action.call();
Python SDK
AttachScsiLunToVmInstanceAction action = AttachScsiLunToVmInstanceAction()
action.uuid = "e4ea0f73829b3206a497c88b896613d6"
action.vmInstanceUuid = "e5bc51b4fdd13d35b4abe7be408435d4"
action.disableMultiPathAttach = false
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
AttachScsiLunToVmInstanceAction.Result res = action.call()

将SCSI LUN从云主机卸载(DetachScsiLunFromVmInstance)

API请求

URLs
DELETE zstack/v1/vm-instances/{vmInstanceUuid}/scsi-lun/{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X DELETE http://localhost:8080/zstack/v1/vm-instances/68b34252ae3a386e92b74ce3a2bd7e4a/scsi-lun/4af9531a118a3b7aba404d794a4cfa51
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url 资源的UUID,唯一标示该资源 3.1.0
vmInstanceUuid String url 云主机UUID 3.1.0
systemTags (可选) List body 3.1.0
userTags (可选) List body 3.1.0

API返回

返回示例

{
  "inventory": {
    "name": "fc-lun-36b083fe000daf018000022905ba35d8f",
    "uuid": "a51554a318e333f1b96a7abe91674ede",
    "wwid": "36b083fe000daf018000022905ba35d8f",
    "vendor": "DELL",
    "model": "MD32xx",
    "wwn": "0x6f01faf000d5c3e7",
    "serial": "6b083fe000daf018000015505abbe00a",
    "type": "mpath",
    "path": "pci-0000:05:00.0-fc-0x2012b083fedaf018-lun-11",
    "size": 5.49755813888E12,
    "scsiLunHostRefs": [
      {
        "id": 1.0,
        "scsiLunUuid": "a51554a318e333f1b96a7abe91674ede",
        "hostUuid": "5c5a4a7c480e3b5791e0915785968eb1",
        "createDate": "Nov 14, 2017 10:20:57 PM"
      }
    ],
    "scsiLunVmInstanceRefs": [],
    "createDate": "Nov 14, 2017 10:20:57 PM",
    "lastOpDate": "Nov 14, 2017 10:20:57 PM"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 3.1.0
inventory ScsiLunInventory 详情参考inventory 3.1.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 0.6
description String 错误的概要描述 0.6
details String 错误的详细信息 0.6
elaboration String 保留字段,默认为null 0.6
opaque LinkedHashMap 保留字段,默认为null 0.6
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 0.6
#inventory
名字 类型 描述 起始版本
name String 资源名称 3.1.0
uuid String 资源的UUID,唯一标示该资源 3.1.0
wwid String 磁盘全局唯一表示 3.1.0
vendor String 磁盘供应商 3.1.0
model String 磁盘型号 3.1.0
wwn String 磁盘WWN 3.1.0
serial String 磁盘序列号 3.1.0
type String 磁盘类型 3.1.0
path String 磁盘路径 3.1.0
state String 磁盘启用状态 3.1.0
size Long 磁盘大小 3.1.0
createDate Timestamp 创建时间 3.1.0
lastOpDate Timestamp 最后一次修改时间 3.1.0
scsiLunHostRefs List 详情参考scsiLunHostRefs 3.1.0
scsiLunVmInstanceRefs List 详情参考scsiLunVmInstanceRefs 3.1.0
#scsiLunHostRefs
名字 类型 描述 起始版本
scsiLunUuid String SCSI LUN UUID 3.1.0
hostUuid String 物理机UUID 3.1.0
createDate Timestamp 创建时间 3.1.0
lastOpDate Timestamp 最后一次修改时间 3.1.0
#scsiLunVmInstanceRefs
名字 类型 描述 起始版本
scsiLunUuid String SCSI LUN UUID 3.1.0
vmInstanceUuid String 云主机UUID 3.1.0
createDate Timestamp 创建时间 3.1.0
lastOpDate Timestamp 最后一次修改时间 3.1.0

SDK示例

Java SDK
DetachScsiLunFromVmInstanceAction action = new DetachScsiLunFromVmInstanceAction();
action.uuid = "4af9531a118a3b7aba404d794a4cfa51";
action.vmInstanceUuid = "68b34252ae3a386e92b74ce3a2bd7e4a";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
DetachScsiLunFromVmInstanceAction.Result res = action.call();
Python SDK
DetachScsiLunFromVmInstanceAction action = DetachScsiLunFromVmInstanceAction()
action.uuid = "4af9531a118a3b7aba404d794a4cfa51"
action.vmInstanceUuid = "68b34252ae3a386e92b74ce3a2bd7e4a"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
DetachScsiLunFromVmInstanceAction.Result res = action.call()

检查SCSI Lun与集群连接关系(CheckScsiLunClusterStatus)

API请求

URLs
PUT zstack/v1/storage-devices/scsi-lun/{uuid}/cluster/{clusterUuid}
Headers
Authorization: OAuth the-session-uuid
Body
{
  "checkScsiLunClusterStatus": {},
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"checkScsiLunClusterStatus":{}}' http://localhost:8080/zstack/v1/storage-devices/scsi-lun/abe6bf1e763739f88f97055c14246245/cluster/5415c2beb8a93447a27f69c109cdfb23
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url 资源的UUID,唯一标示该资源 3.1.0
clusterUuid String url 集群UUID 3.1.0
systemTags (可选) List body 3.1.0
userTags (可选) List body 3.1.0

API返回

返回示例
{
  "inventory": {
    "attachedHosts": [
      {
        "zoneUuid": "5899ac6fab7d3951acae1d43c4fd7f97",
        "name": "example",
        "uuid": "161616a23a4834cfbe3dd7000a75ef51",
        "clusterUuid": "b886a9367ff9362d8955443cc5065fab",
        "description": "example",
        "managementIp": "192.168.0.1",
        "hypervisorType": "KVM",
        "state": "Enabled",
        "status": "Connected",
        "totalCpuCapacity": 4.0,
        "availableCpuCapacity": 2.0,
        "totalMemoryCapacity": 4.0,
        "availableMemoryCapacity": 4.0
      }
    ],
    "unattachedHosts": [
      {
        "zoneUuid": "ee802d3432203cc99a9711b3d26e047d",
        "name": "example",
        "uuid": "0d28db87cedc3c729300bcc7f426f9b6",
        "clusterUuid": "5d5325e38b4331c28efe5367dc583110",
        "description": "example",
        "managementIp": "192.168.0.2",
        "hypervisorType": "KVM",
        "state": "Enabled",
        "status": "Connected",
        "totalCpuCapacity": 4.0,
        "availableCpuCapacity": 2.0,
        "totalMemoryCapacity": 4.0,
        "availableMemoryCapacity": 4.0
      }
    ],
    "isAllHostsAttached": false
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 3.1.0
inventory ScsiLunClusterStatusInventory 详情参考inventory 3.1.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 3.1.0
description String 错误的概要描述 3.1.0
details String 错误的详细信息 3.1.0
elaboration String 保留字段,默认为null 3.1.0
opaque LinkedHashMap 保留字段,默认为null 3.1.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 3.1.0
#inventory
名字 类型 描述 起始版本
isAllHostsAttached Boolean SCSI Lun是否已与集群全部物理机连接 3.1.0
attachedHosts List 详情参考attachedHosts 3.1.0
unattachedHosts List 详情参考unattachedHosts 3.1.0
#attachedHosts
名字 类型 描述 起始版本
zoneUuid String 区域UUID 3.1.0
name String 资源名称 3.1.0
uuid String 资源的UUID,唯一标示该资源 3.1.0
clusterUuid String 集群UUID 3.1.0
description String 资源的详细描述 3.1.0
managementIp String 3.1.0
hypervisorType String 3.1.0
state String 3.1.0
status String 3.1.0
totalCpuCapacity Long 3.1.0
availableCpuCapacity Long 3.1.0
totalMemoryCapacity Long 3.1.0
availableMemoryCapacity Long 3.1.0
createDate Timestamp 创建时间 3.1.0
lastOpDate Timestamp 最后一次修改时间 3.1.0
#unattachedHosts
名字 类型 描述 起始版本
zoneUuid String 区域UUID 3.1.0
name String 资源名称 3.1.0
uuid String 资源的UUID,唯一标示该资源 3.1.0
clusterUuid String 集群UUID 3.1.0
description String 资源的详细描述 3.1.0
managementIp String 3.1.0
hypervisorType String 3.1.0
state String 3.1.0
status String 3.1.0
totalCpuCapacity Long 3.1.0
availableCpuCapacity Long 3.1.0
totalMemoryCapacity Long 3.1.0
availableMemoryCapacity Long 3.1.0
createDate Timestamp 创建时间 3.1.0
lastOpDate Timestamp 最后一次修改时间 3.1.0

SDK示例

Java SDK
CheckScsiLunClusterStatusAction action = new CheckScsiLunClusterStatusAction();
action.uuid = "abe6bf1e763739f88f97055c14246245";
action.clusterUuid = "5415c2beb8a93447a27f69c109cdfb23";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
CheckScsiLunClusterStatusAction.Result res = action.call();
Python SDK
CheckScsiLunClusterStatusAction action = CheckScsiLunClusterStatusAction()
action.uuid = "abe6bf1e763739f88f97055c14246245"
action.clusterUuid = "5415c2beb8a93447a27f69c109cdfb23"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
CheckScsiLunClusterStatusAction.Result res = action.call()

获取可加载的SCSI Lun(GetScsiLunCandidatesForAttachingVm)

获取云主机可以加载的SCSI Lun。

API请求

URLs
GET zstack/v1/vm-instances/{vmInstanceUuid}/candidate-storage-devices
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/vm-instances/ccd1f4cb76e83c3b997fc4ed16ed529f/candidate-storage-devices?
参数列表
名字 类型 位置 描述 可选值 起始版本
vmInstanceUuid String url 云主机UUID 3.1.0
systemTags (可选) List query 3.1.0
userTags (可选) List query 3.1.0

API返回

返回示例
{
  "inventories": [
    {
      "name": "fc-lun-36b083fe000daf018000022905ba35d8f",
      "uuid": "d4714249ba273a5c9d1c1cb3a1a16f24",
      "wwid": "36b083fe000daf018000022905ba35d8f",
      "vendor": "DELL",
      "model": "MD32xx",
      "wwn": "0x6f01faf000d5c3e7",
      "serial": "6b083fe000daf018000015505abbe00a",
      "type": "mpath",
      "path": "pci-0000:05:00.0-fc-0x2012b083fedaf018-lun-11",
      "size": 5.49755813888E12,
      "scsiLunHostRefs": [
        {
          "id": 1.0,
          "scsiLunUuid": "d4714249ba273a5c9d1c1cb3a1a16f24",
          "hostUuid": "c922c37f885e35aeb1ae87db3446fc7e",
          "createDate": "Nov 14, 2017 10:20:57 PM"
        }
      ],
      "scsiLunVmInstanceRefs": [],
      "createDate": "Nov 14, 2017 10:20:57 PM",
      "lastOpDate": "Nov 14, 2017 10:20:57 PM"
    }
  ]
}
名字 类型 描述 起始版本
success boolean 3.1.0
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 3.1.0
inventories List 详情参考inventories 3.1.0
error ErrorCode 详情参考error 3.1.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 3.1.0
description String 错误的概要描述 3.1.0
details String 错误的详细信息 3.1.0
elaboration String 保留字段,默认为null 3.1.0
opaque LinkedHashMap 保留字段,默认为null 3.1.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 3.1.0
#inventories
名字 类型 描述 起始版本
name String 资源名称 3.1.0
uuid String 资源的UUID,唯一标示该资源 3.1.0
wwid String 磁盘全局唯一表示 3.1.0
vendor String 磁盘供应商 3.1.0
model String 磁盘型号 3.1.0
wwn String 磁盘WWN 3.1.0
serial String 磁盘序列号 3.1.0
type String 磁盘类型 3.1.0
path String 磁盘路径 3.1.0
state String 磁盘启用状态 3.1.0
size Long 磁盘大小 3.1.0
createDate Timestamp 创建时间 3.1.0
lastOpDate Timestamp 最后一次修改时间 3.1.0
scsiLunHostRefs List 详情参考scsiLunHostRefs 3.1.0
scsiLunVmInstanceRefs List 详情参考scsiLunVmInstanceRefs 3.1.0
#scsiLunHostRefs
名字 类型 描述 起始版本
scsiLunUuid String SCSI Lun UUID 3.1.0
hostUuid String 物理机UUID 3.1.0
createDate Timestamp 创建时间 3.1.0
lastOpDate Timestamp 最后一次修改时间 3.1.0
#scsiLunVmInstanceRefs
名字 类型 描述 起始版本
scsiLunUuid String SCSI Lun UUID 3.1.0
vmInstanceUuid String 云主机UUID 3.1.0
createDate Timestamp 创建时间 3.1.0
lastOpDate Timestamp 最后一次修改时间 3.1.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 3.1.0
description String 错误的概要描述 3.1.0
details String 错误的详细信息 3.1.0
elaboration String 保留字段,默认为null 3.1.0
opaque LinkedHashMap 保留字段,默认为null 3.1.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 3.1.0

SDK示例

Java SDK
GetScsiLunCandidatesForAttachingVmAction action = new GetScsiLunCandidatesForAttachingVmAction();
action.vmInstanceUuid = "ccd1f4cb76e83c3b997fc4ed16ed529f";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
GetScsiLunCandidatesForAttachingVmAction.Result res = action.call();
Python SDK
GetScsiLunCandidatesForAttachingVmAction action = GetScsiLunCandidatesForAttachingVmAction()
action.vmInstanceUuid = "ccd1f4cb76e83c3b997fc4ed16ed529f"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
GetScsiLunCandidatesForAttachingVmAction.Result res = action.call()

NVMe存储相关接口

查询NVMe磁盘(QueryNvmeLun)

API请求

URLs
GET zstack/v1/storage-devices/nvme/luns
GET zstack/v1/storage-devices/nvme/luns/{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/storage-devices/nvme/luns
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/storage-devices/nvme/luns/066996e131e03824a7ef6a22defed432

可查询字段

运行CLI命令行工具,输入QueryNvmeLun并按Tab键查看所有可查询字段以及可跨表查询的资源名。

API返回

返回示例
{
  "inventories": [
    {
      "nvmeTargetUuid": "f04819a9445c3d068c075e753d48fc3c",
      "nvmeLunHostRefs": [],
      "name": "nvme-lun-36b083fe000daf018000022905ba35d8f",
      "uuid": "138c10cda11c3b8e9c7d988350d5cf64",
      "wwid": "uuid.48daeab7-7f15-405e-8481-7152cb9b0aca",
      "wwn": "uuid.48daeab7-7f15-405e-8481-7152cb9b0aca",
      "serial": "3d87eca1686c1782",
      "type": "disk",
      "path": "nvme-uuid.48daeab7-7f15-405e-8481-7152cb9b0aca ",
      "size": 5497558138880
    }
  ]
}
名字 类型 描述 起始版本
success boolean 4.6.21
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 4.6.21
inventories List 详情参考inventories 4.6.21
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 4.6.21
description String 错误的概要描述 4.6.21
details String 错误的详细信息 4.6.21
elaboration String 保留字段,默认为null 4.6.21
opaque LinkedHashMap 保留字段,默认为null 4.6.21
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 4.6.21
#inventories
名字 类型 描述 起始版本
nvmeTargetUuid String 所属NVMe设备UUID 4.6.21
name String 资源名称 4.6.21
uuid String 资源的UUID,唯一标示该资源 4.6.21
wwid String 全局唯一标识 4.6.21
vendor String 供应商 4.6.21
model String 型号 4.6.21
wwn String 4.6.21
serial String 序列号 4.6.21
type String 类型 4.6.21
hctl String 4.6.21
path String 路径 4.6.21
state String 状态 4.6.21
size Long 大小 4.6.21
multipathDeviceUuid String 多路径设备UUID 4.6.21
source String 磁盘来源,NVMe 4.6.21
createDate Timestamp 创建时间 4.6.21
lastOpDate Timestamp 最后一次修改时间 4.6.21
nvmeLunHostRefs List 详情参考nvmeLunHostRefs 4.6.21
#nvmeLunHostRefs
名字 类型 描述 起始版本
nvmeLunUuid List NVme磁盘UUID 4.6.21
hostUuid String 物理机UUID 4.6.21
path String 磁盘路径 4.6.21
hctl String 磁盘HCTL 4.6.21
createDate Timestamp 创建时间 4.6.21
lastOpDate Timestamp 最后一次修改时间 4.6.21

SDK示例

Java SDK
QueryNvmeLunAction action = new QueryNvmeLunAction();
action.conditions = asList();
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
QueryNvmeLunAction.Result res = action.call();
Python SDK
QueryNvmeLunAction action = QueryNvmeLunAction()
action.conditions = []
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
QueryNvmeLunAction.Result res = action.call()

查询NVMe设备(QueryNvmeTarget)

API请求

URLs
GET zstack/v1/storage-devices/nvme/controllers
GET zstack/v1/storage-devices/nvme
GET zstack/v1/storage-devices/nvme/controllers/{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/storage-devices/nvme/controllers
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/storage-devices/nvme
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/storage-devices/nvme/controllers/de0f2549ed0130948f14b00916fbf9a0

可查询字段

运行CLI命令行工具,输入QueryNvmeTarget并按Tab键查看所有可查询字段以及可跨表查询的资源名。

API返回

返回示例
{
  "inventories": [
    {
      "uuid": "40ab069909633d4293c62f44efb26db8",
      "state": "Enabled",
      "nvmeLuns": [
        {
          "nvmeTargetUuid": "40ab069909633d4293c62f44efb26db8",
          "nvmeLunHostRefs": [
            {
              "id": 1,
              "nvmeLunUuid": "5690b46050623763a0335e753c347fa1",
              "hostUuid": "d6f8a7ff0069304080b345c077c3aeb9",
              "createDate": "Nov 14, 2017 10:20:57 PM",
              "lastOpDate": "Nov 14, 2017 10:20:57 PM"
            }
          ],
          "name": "nvme-lun-36b083fe000daf018000022905ba35d8f",
          "uuid": "5690b46050623763a0335e753c347fa1",
          "wwid": "uuid.48daeab7-7f15-405e-8481-7152cb9b0aca",
          "wwn": "uuid.48daeab7-7f15-405e-8481-7152cb9b0aca",
          "serial": "3d87eca1686c1782",
          "type": "disk",
          "path": "nvme-uuid.48daeab7-7f15-405e-8481-7152cb9b0aca ",
          "size": 5497558138880
        }
      ],
      "createDate": "Nov 14, 2017 10:20:57 PM",
      "lastOpDate": "Nov 14, 2017 10:20:57 PM"
    }
  ]
}
名字 类型 描述 起始版本
success boolean 4.6.21
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 4.6.21
inventories List 详情参考inventories 4.6.21
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 4.6.21
description String 错误的概要描述 4.6.21
details String 错误的详细信息 4.6.21
elaboration String 保留字段,默认为null 4.6.21
opaque LinkedHashMap 保留字段,默认为null 4.6.21
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 4.6.21
#inventories
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.6.21
name String 资源名称 4.6.21
nqn String NVMe限定名称 4.6.21
state String 状态 4.6.21
createDate Timestamp 创建时间 4.6.21
lastOpDate Timestamp 最后一次修改时间 4.6.21
nvmeLuns List 详情参考nvmeLuns 4.6.21
#nvmeLuns
名字 类型 描述 起始版本
nvmeTargetUuid String 所属NVMe设备UUID 4.6.21
name String 资源名称 4.6.21
uuid String 资源的UUID,唯一标示该资源 4.6.21
wwid String 全局唯一标识 4.6.21
vendor String 供应商 4.6.21
model String 型号 4.6.21
wwn String 4.6.21
serial String 序列号 4.6.21
type String 类型 4.6.21
hctl String 4.6.21
path String 路径 4.6.21
state String 状态 4.6.21
size Long 大小 4.6.21
multipathDeviceUuid String 多路径设备UUID 4.6.21
source String 磁盘来源,NVMe 4.6.21
createDate Timestamp 创建时间 4.6.21
lastOpDate Timestamp 最后一次修改时间 4.6.21
nvmeLunHostRefs List 详情参考nvmeLunHostRefs 4.6.21
#nvmeLunHostRefs
名字 类型 描述 起始版本
nvmeLunUuid List NVme磁盘UUID 4.6.21
hostUuid String 物理机UUID 4.6.21
path String 磁盘路径 4.6.21
hctl String 磁盘HCTL 4.6.21
createDate Timestamp 创建时间 4.6.21
lastOpDate Timestamp 最后一次修改时间 4.6.21

SDK示例

Java SDK
QueryNvmeTargetAction action = new QueryNvmeTargetAction();
action.conditions = asList();
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
QueryNvmeTargetAction.Result res = action.call();
Python SDK
QueryNvmeTargetAction action = QueryNvmeTargetAction()
action.conditions = []
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
QueryNvmeTargetAction.Result res = action.call()

刷新NVMe设备(RefreshNvmeTarget)

API请求

URLs
POST zstack/v1/storage-devices/nvme/controllers
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "zoneUuid": "7a7b52cf91933070af3c8273f30ef458"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \-X POST -d '{"params":{"zoneUuid":"7a7b52cf91933070af3c8273f30ef458"}}' \
http://localhost:8080/zstack/v1/storage-devices/nvme/controllers
参数列表
名字 类型 位置 描述 可选值 起始版本
zoneUuid String body(包含在params结构中) 区域UUID 4.6.21
nvmeLunUuids (可选) List body(包含在params结构中) NVMe磁盘UUID 4.6.21
systemTags (可选) List body 系统标签 4.6.21
userTags (可选) List body 用户标签 4.6.21

API返回

返回示例
{
  "inventories": [
    {
      "uuid": "88ed12f1c3d7329c9b3fd00a87ce999e",
      "state": "Enabled",
      "nvmeLuns": [
        {
          "nvmeTargetUuid": "88ed12f1c3d7329c9b3fd00a87ce999e",
          "nvmeLunHostRefs": [
            {
              "id": 1,
              "nvmeLunUuid": "3adbd21bfa483cb2bc48b91c1438c788",
              "hostUuid": "8c26dfd50d963292b8a51ddc0f9957f5",
              "createDate": "Nov 14, 2017 10:20:57 PM",
              "lastOpDate": "Nov 14, 2017 10:20:57 PM"
            }
          ],
          "name": "nvme-lun-36b083fe000daf018000022905ba35d8f",
          "uuid": "3adbd21bfa483cb2bc48b91c1438c788",
          "wwid": "uuid.48daeab7-7f15-405e-8481-7152cb9b0aca",
          "wwn": "uuid.48daeab7-7f15-405e-8481-7152cb9b0aca",
          "serial": "3d87eca1686c1782",
          "type": "disk",
          "path": "nvme-uuid.48daeab7-7f15-405e-8481-7152cb9b0aca ",
          "size": 5497558138880
        }
      ],
      "createDate": "Nov 14, 2017 10:20:57 PM",
      "lastOpDate": "Nov 14, 2017 10:20:57 PM"
    }
  ]
}
名字 类型 描述 起始版本
success boolean 4.6.21
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 4.6.21
inventories List 详情参考inventories 4.6.21
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 4.6.21
description String 错误的概要描述 4.6.21
details String 错误的详细信息 4.6.21
elaboration String 保留字段,默认为null 4.6.21
opaque LinkedHashMap 保留字段,默认为null 4.6.21
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 4.6.21
#inventories
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.6.21
name String 资源名称 4.6.21
nqn String NVMe限定名称 4.6.21
state String 状态 4.6.21
createDate Timestamp 创建时间 4.6.21
lastOpDate Timestamp 最后一次修改时间 4.6.21
nvmeLuns List 详情参考nvmeLuns. 4.6.21
#nvmeLuns
名字 类型 描述 起始版本
nvmeTargetUuid String 所属NVMe设备UUID 4.6.21
name String 资源名称 4.6.21
uuid String 资源的UUID,唯一标示该资源 4.6.21
wwid String 全局唯一标识 4.6.21
vendor String 供应商 4.6.21
model String 型号 4.6.21
wwn String 4.6.21
serial String 序列号 4.6.21
type String 类型 4.6.21
hctl String 4.6.21
path String 路径 4.6.21
state String 状态 4.6.21
size Long 大小 4.6.21
multipathDeviceUuid String 多路径设备UUID 4.6.21
source String 磁盘来源,NVMe 4.6.21
createDate Timestamp 创建时间 4.6.21
lastOpDate Timestamp 最后一次修改时间 4.6.21
nvmeLunHostRefs List 详情参考nvmeLunHostRefs. 4.6.21
#nvmeLunHostRefs
名字 类型 描述 起始版本
nvmeLunUuid List NVme磁盘UUID 4.6.21
hostUuid String 物理机UUID 4.6.21
path String 磁盘路径 4.6.21
hctl String 磁盘HCTL 4.6.21
createDate Timestamp 创建时间 4.6.21
lastOpDate Timestamp 最后一次修改时间 4.6.21

SDK示例

Java SDK
QueryNvmeTargetAction action = new QueryNvmeTargetAction();
action.conditions = asList();
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
QueryNvmeTargetAction.Result res = action.call();
Python SDK
QueryNvmeTargetAction action = QueryNvmeTargetAction()
action.conditions = []
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
QueryNvmeTargetAction.Result res = action.call()
开发手册 | 5.4.12 | ZStack Cloud · ZCF | ZStack 资源中心