龙芯SE模块相关接口
虚拟化切分支持VFIO_MDEV的MTTY设备(GenerateSeMdevDevices)
API请求
URLs
PUT zstack/v1/mtty-devices/{mttyDeviceUuid}/actions
Headers
Authorization: OAuth the-session-uuidBody
{
"generateSeMdevDevices": {
"virtPartNum": 4.0
},
"systemTags": [],
"userTags": []
}Note: 上述示例中systemTags、userTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"generateSeMdevDevices":{"virtPartNum":4.0}}' http://localhost:8080/zstack/v1/mtty-devices/d6e129976ad830fdbd2361a62f9f44e0/actions
参数列表
| 名字 | 类型 | 位置 | 描述 | 可选值 | 起始版本 |
|---|---|---|---|---|---|
| mttyDeviceUuid | String | url | MTTY设备UUID | 4.6.0 | |
| virtPartNum | Integer | body(包含在generateSeMdevDevices结构中) | 切分数量 | 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
GenerateSeMdevDevicesAction action = new GenerateSeMdevDevicesAction();
action.mttyDeviceUuid = "d6e129976ad830fdbd2361a62f9f44e0";
action.virtPartNum = 4.0;
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
GenerateSeMdevDevicesAction.Result res = action.call();Python SDK
GenerateSeMdevDevicesAction action = GenerateSeMdevDevicesAction()
action.mttyDeviceUuid = "d6e129976ad830fdbd2361a62f9f44e0"
action.virtPartNum = 4.0
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
GenerateSeMdevDevicesAction.Result res = action.call()
查询MTTY设备(QueryMttyDevice)
API请求
URLs
GET zstack/v1/mtty-devicesGET zstack/v1/mtty-devices/{uuid}Headers
Authorization: OAuth the-session-uuidCurl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/mtty-devicescurl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/mtty-devices/af9814346f623e61a86a603854231eac可查询字段
运行CLI命令行工具,输入QueryMttyDevice并按Tab键查看所有可查询字段以及可跨表查询的资源名。
API返回
返回示例
{
"inventories": [
{
"uuid": "36f2f7aa68d1494ea0ac11d98bab0f5d",
"name": "SE Device",
"hostUuid": "109ad7360f5846deaf65e61ea7f51013",
"type": "SE_Controller",
"state": "Enabled",
"virtStatus": "VFIO_MDEV_VIRTUALIZABLE"
}
]
}| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| success | boolean | 4.6.0 | |
| error | ErrorCode | 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error | 4.6.0 |
| inventories | List | 详情参考inventories | 4.6.0 |
#error
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| code | String | 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 | 4.6.0 |
| description | String | 错误的概要描述 | 4.6.0 |
| details | String | 错误的详细信息 | 4.6.0 |
| elaboration | String | 保留字段,默认为null | 4.6.0 |
| opaque | LinkedHashMap | 保留字段,默认为null | 4.6.0 |
| cause | ErrorCode | 根错误,引发当前错误的源错误,若无原错误,该字段为null | 4.6.0 |
#inventories
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| uuid | String | 资源的UUID,唯一标示该资源 | 4.6.0 |
| name | String | 资源名称 | 4.6.0 |
| description | String | 资源的详细描述 | 4.6.0 |
| hostUuid | String | 物理机UUID | 4.6.0 |
| createDate | Timestamp | 创建时间 | 4.6.0 |
| lastOpDate | Timestamp | 最后一次修改时间 | 4.6.0 |
| type | MttyDeviceType | 详情参考type | 4.6.0 |
| state | MttyDeviceState | 详情参考state | 4.6.0 |
| virtStatus | MttyDeviceVirtStatus | 详情参考virtStatus | 4.6.0 |
#type
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| SE_Controller | MttyDeviceType | SE控制器 | 4.6.0 |
#state
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| Enabled | MttyDeviceState | 启用 | 4.6.0 |
| Disabled | MttyDeviceState | 停用 | 4.6.0 |
#virtStatus
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| VFIO_MDEV_VIRTUALIZABLE | MttyDeviceVirtStatus | 支持VFIO_MDEV虚拟化 | 4.6.0 |
| VFIO_MDEV_VIRTUALIZED | MttyDeviceVirtStatus | 已VFIO_MDEV虚拟化 | 4.6.0 |
| UNVIRTUALIZABLE | MttyDeviceVirtStatus | 不可虚拟化 | 4.6.0 |
| UNKNOWN | MttyDeviceVirtStatus | 未知 | 4.6.0 |
SDK示例
Java
SDK
QueryHostNetworkInterfaceAction action = new QueryHostNetworkInterfaceAction();
action.conditions = asList();
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
QueryHostNetworkInterfaceAction.Result res = action.call();Python
SDK
QueryHostNetworkInterfaceAction action = QueryHostNetworkInterfaceAction()
action.conditions = []
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
QueryHostNetworkInterfaceAction.Result res = action.call()虚拟化还原支持VFIO_MDEV的MTTY设备(UngenerateSeMdevDevices)
API请求
URLs
PUT zstack/v1/mtty-devices/{mttyDeviceUuid}/actions
Headers
Authorization: OAuth the-session-uuidBody
{
"ungenerateSeMdevDevices": {},
"systemTags": [],
"userTags": []
}Note: 上述示例中systemTags、userTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"ungenerateSeMdevDevices":{}}' http://localhost:8080/zstack/v1/mtty-devices/1efca0f4fb223cbd83e5d225d0c97637/actions
参数列表
| 名字 | 类型 | 位置 | 描述 | 可选值 | 起始版本 |
|---|---|---|---|---|---|
| mttyDeviceUuid | String | url | 被切分的MTTY设备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
UngenerateSeMdevDevicesAction action = new UngenerateSeMdevDevicesAction();
action.mttyDeviceUuid = "1efca0f4fb223cbd83e5d225d0c97637";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
UngenerateSeMdevDevicesAction.Result res = action.call();Python SDK
UngenerateSeMdevDevicesAction action = UngenerateSeMdevDevicesAction()
action.mttyDeviceUuid = "1efca0f4fb223cbd83e5d225d0c97637"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
UngenerateSeMdevDevicesAction.Result res = action.call()
删除MDEV设备(DeleteMdevDevice)
API请求
URLs
Delete zstack/v1/mdev-device/{mdevDeviceUuid}?uuid={uuid}
Headers
Authorization: OAuth the-session-uuidCurl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X DELETE http://localhost:8080/zstack/v1/mdev-devices/f858a5a7428935b39aa038b6d781efdb
参数列表
| 名字 | 类型 | 位置 | 描述 | 可选值 | 起始版本 |
|---|---|---|---|---|---|
| uuid | String | url | MDEV设备UUID | 4.6.0 | |
| deleteMode (可选) | String | body | 删除模式 | 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
DeleteMdevDeviceAction action = new DeleteMdevDeviceAction();
action.mdevDeviceUuid = "f858a5a7428935b39aa038b6d781efdb";
action.deleteMode = "Permissive";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
DeleteMdevDeviceAction.Result res = action.call();Python SDK
DeleteMdevDeviceAction action = DeleteMdevDeviceAction()
action.mdevDeviceUuid = "f858a5a7428935b39aa038b6d781efdb"
action.deleteMode = "Permissive"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
DeleteMdevDeviceAction.Result res = action.call()
