使用 VMControl REST API 进行远程虚拟服务器生命周期管理(3)
- UID
- 1066743
|
使用 VMControl REST API 进行远程虚拟服务器生命周期管理(3)
修改虚拟服务器列出将要修改的可用虚拟服务器修改虚拟服务器的第一步是检索现有虚拟服务器的列表。可以通过两种方式实现:检索所有已知的虚拟服务器,或者检索某个主机上的虚拟服务器列表。本文示例检索了所有虚拟服务器。
注意:虚拟服务器的 URL 包含该主机信息。在虚拟服务器上执行的任何操作,包括创建、编辑和删除,都通过这些 URL 完成。virtualServers 资源是一个 helper URL,它将列出所有虚拟服务器,这是它的惟一用途。
- URL
- https://myserver:port/ibm/director/rest/VMControl/virtualServers
- HTTP 方法
- 样例请求获得所有虚拟服务器的列表:
GET https://myserver:port/ibm/director/rest/VMControl/virtualServers
清单 4. 样例响应表示1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
| {
"uri":"/ibm/director/rest/VMControl/virtualServers"
"virtualServers":[
{
"uri":"/ibm/director/rest/VMControl/hosts/6797/virtualServers/6798",
"name":"myVirtualServer1",
"oid":6798
"customization":{
"uri":"/ibm/director/rest/VMControl/hosts/6797/virtualServers/6798/
customization"
},
"state":{
"label":"Started",
"id":8
},
},
{
"uri":"/ibm/director/rest/VMControl/hosts/6797/virtualServers/7648",
"name":"myVirtualServer2",
"oid":7468
"customization":{
"uri":"/ibm/director/rest/VMControl/hosts/6797/virtualServers/7648/
customization"
},
"state":{
"label":"Started",
"id":8
},
},
{
"uri":"/ibm/director/rest/VMControl/hosts/6797/virtualServers/8200",
"name":"myVirtualServer3",
"oid":8200
"customization":{
"uri":"/ibm/director/rest/VMControl/hosts/6797/virtualServers/8200/
customization"
},
"state":{
"label":"Started",
"id":8
},
}
}
|
为修改虚拟服务器列出自定义参数 自定义参数是特定于平台的独特属性,允许用户对所执行的操作进行自定义。自定义参数可以有许多类型,但是指定方式是类似的。使用从前面步骤收集的 OID 向下面指定的 URL 创建一个 GET 请求。请求结果是一个自定义属性列表,这些参数可用于修改虚拟服务器。
下面的示例显示了一个典型 IBM Power Systems™ 环境中的自定义参数。其他平台(基于内核的虚拟机 KVM、z/VM 等)的自定义参数会有所不同。此外,在不同平台上检索自定义参数需遵循不同的规则。例如,KVM 要求虚拟服务器在进行修改时停止运行。Power Systems 服务器允许修改活动的虚拟服务器,但是如果虚拟服务器被停止,那么只有一部分属性可用。
- URL
- https://myserver:port/ibm/director/rest/VMControl/hosts/{hostOID}/virtualServers/{vsOID}/customization
- HTTP 方法
- 样例请求获得修改虚拟服务器 6798 所需的虚拟化属性:
GET https://myserver:port/ibm/director/rest/VMControl/hosts/6797/virtualServers/6798/customization
样例响应表示 修改虚拟服务器下一步是请求一个将要修改的虚拟服务器。修改虚拟服务器是一个异步操作。首先是为您的请求填充 JSON。使用上面列出的自定义参数创建一个 JSON 字符串,其中包含虚拟服务器的自定义属性的名称/值对。
响应包含同一个 URL 的两个副本。两个 URL 分别位于位置 header 和响应消息,并同时指向修改虚拟服务器 任务的作业激活记录。作业激活记录包含修改虚拟服务器 请求的状态,包括完成百分比和任何状态或错误消息。
- URL
- https://myserver:port/ibm/director/rest/VMControl/hosts/{hostOID}/virtualServers/{vsOID}
- HTTP 方法
- 样例请求修改惟一 ID 为 6798 的虚拟服务器:
PUT https://myserver:port/ibm/director/rest/VMControl/hosts/6649/virtualServers/6798
清单 5. 样例响应显示1
2
3
4
5
6
7
8
9
| {
"virtualServer":{
"properties":[{
"name":"cpu",
"value":2
}
]
}
}
|
清单 6. HTTP 响应1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| HTTP/1.1 202 OK
Cache-Control: no-store
Set-Cookie: JSESSIONID_ibm_console_80=0000z7DH1a8JDMo-ymu3KP38hoMath=/; Secure;
HTTPOnly
Expires: Thu, 01 Dec 1994 16:00:00 GMT
Content-Type: application/octet-stream; charset=UTF-8
Content-Length: 200
Date: Mon, 14 May 2012 03:00:27 GMT
Location: https://9.9.9.9:8422/ibm/director/rest/jobs/154/activations/1
Accept-Ranges: bytes
Server: Noelios-Restlet-Engine/1.1.4
Content-Language: en-US
{
"MessageText": "New job activation for updating the virtual server was started.\n
Refer to the following URI for job activation status:
/ibm/director/rest/jobs/154/activations/1",
"MessageID": ""
}
|
监视修改虚拟服务器 作业修改虚拟服务器的最后一个步骤是监视它的完成过程。推荐方法是通过作业激活记录来监视虚拟服务器的修改。如上所述,该 URL 在 PUT 请求的响应中返回。通过对该 URL 进行轮询可监视作业激活记录,但是建议使用 JMS 提供者。
IBM Systems Director 服务器包含一个 JMS 提供者,用于与相关的客户机应用程序交换事件和其他重要消息。它支持在两个或更多应用程序之间进行异步通信。作业激活记录可以通过 Director.jobs.activation JMS 主题进行异步监视。
有关 JMS 的更多信息,请参见 IBM Systems Director 6.3.x SDK 信息中心的 页面。 |
|
|
|
|
|