Adds V3 API samples for agents, aggregates and certificates
Adds v3 API samples for the agents, aggregates, and certificates extensions. Bundling them together to save on review load Partially implements blueprint v3-api-unittests Partially implements blueprint v3-api-specification Change-Id: Iee26fe25b5fd369f2a1f5690ddc095a90526a549
This commit is contained in:
parent
49bd707789
commit
5860420fa6
10
doc/v3/api_samples/os-agents/agent-post-req.json
Normal file
10
doc/v3/api_samples/os-agents/agent-post-req.json
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"agent": {
|
||||||
|
"hypervisor": "hypervisor",
|
||||||
|
"os": "os",
|
||||||
|
"architecture": "x86",
|
||||||
|
"version": "8.0",
|
||||||
|
"md5hash": "add6bb58e139be103324d04d82d8f545",
|
||||||
|
"url": "xxxxxxxxxxxx"
|
||||||
|
}
|
||||||
|
}
|
9
doc/v3/api_samples/os-agents/agent-post-req.xml
Normal file
9
doc/v3/api_samples/os-agents/agent-post-req.xml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<agent>
|
||||||
|
<hypervisor>hypervisor</hypervisor>
|
||||||
|
<os>os</os>
|
||||||
|
<architecture>x86</architecture>
|
||||||
|
<version>8.0</version>
|
||||||
|
<md5hash>add6bb58e139be103324d04d82d8f545</md5hash>
|
||||||
|
<url>xxxxxxxxxxxx</url>
|
||||||
|
</agent>
|
11
doc/v3/api_samples/os-agents/agent-post-resp.json
Normal file
11
doc/v3/api_samples/os-agents/agent-post-resp.json
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"agent": {
|
||||||
|
"agent_id": "1",
|
||||||
|
"architecture": "x86",
|
||||||
|
"hypervisor": "hypervisor",
|
||||||
|
"md5hash": "add6bb58e139be103324d04d82d8f545",
|
||||||
|
"os": "os",
|
||||||
|
"url": "xxxxxxxxxxxx",
|
||||||
|
"version": "8.0"
|
||||||
|
}
|
||||||
|
}
|
10
doc/v3/api_samples/os-agents/agent-post-resp.xml
Normal file
10
doc/v3/api_samples/os-agents/agent-post-resp.xml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<agent>
|
||||||
|
<url>xxxxxxxxxxxx</url>
|
||||||
|
<hypervisor>hypervisor</hypervisor>
|
||||||
|
<md5hash>add6bb58e139be103324d04d82d8f545</md5hash>
|
||||||
|
<version>8.0</version>
|
||||||
|
<architecture>x86</architecture>
|
||||||
|
<os>os</os>
|
||||||
|
<agent_id>1</agent_id>
|
||||||
|
</agent>
|
7
doc/v3/api_samples/os-agents/agent-update-put-req.json
Normal file
7
doc/v3/api_samples/os-agents/agent-update-put-req.json
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"para": {
|
||||||
|
"url": "xxx://xxxx/xxx/xxx",
|
||||||
|
"md5hash": "add6bb58e139be103324d04d82d8f545",
|
||||||
|
"version": "7.0"
|
||||||
|
}
|
||||||
|
}
|
6
doc/v3/api_samples/os-agents/agent-update-put-req.xml
Normal file
6
doc/v3/api_samples/os-agents/agent-update-put-req.xml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<para>
|
||||||
|
<version>7.0</version>
|
||||||
|
<url>xxx://xxxx/xxx/xxx</url>
|
||||||
|
<md5hash>add6bb58e139be103324d04d82d8f545</md5hash>
|
||||||
|
</para>
|
8
doc/v3/api_samples/os-agents/agent-update-put-resp.json
Normal file
8
doc/v3/api_samples/os-agents/agent-update-put-resp.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"agent": {
|
||||||
|
"agent_id": "1",
|
||||||
|
"md5hash": "add6bb58e139be103324d04d82d8f545",
|
||||||
|
"url": "xxx://xxxx/xxx/xxx",
|
||||||
|
"version": "7.0"
|
||||||
|
}
|
||||||
|
}
|
7
doc/v3/api_samples/os-agents/agent-update-put-resp.xml
Normal file
7
doc/v3/api_samples/os-agents/agent-update-put-resp.xml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<agent>
|
||||||
|
<url>xxx://xxxx/xxx/xxx</url>
|
||||||
|
<version>7.0</version>
|
||||||
|
<agent_id>1</agent_id>
|
||||||
|
<md5hash>add6bb58e139be103324d04d82d8f545</md5hash>
|
||||||
|
</agent>
|
13
doc/v3/api_samples/os-agents/agents-get-resp.json
Normal file
13
doc/v3/api_samples/os-agents/agents-get-resp.json
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"agents": [
|
||||||
|
{
|
||||||
|
"agent_id": "1",
|
||||||
|
"architecture": "x86",
|
||||||
|
"hypervisor": "hypervisor",
|
||||||
|
"md5hash": "add6bb58e139be103324d04d82d8f545",
|
||||||
|
"os": "os",
|
||||||
|
"url": "xxxxxxxxxxxx",
|
||||||
|
"version": "8.0"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
4
doc/v3/api_samples/os-agents/agents-get-resp.xml
Normal file
4
doc/v3/api_samples/os-agents/agents-get-resp.xml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<agents>
|
||||||
|
<agent url="xxxxxxxxxxxx" hypervisor="hypervisor" md5hash="add6bb58e139be103324d04d82d8f545" version="8.0" architecture="x86" os="os" agent_id="1"/>
|
||||||
|
</agents>
|
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"add_host":
|
||||||
|
{
|
||||||
|
"host": "21549b2f665945baaa7101926a00143c"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<add_host host="bdb794e5cdd3447c9132ddd8e5cc3d0b" />
|
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"set_metadata":
|
||||||
|
{
|
||||||
|
"metadata":
|
||||||
|
{
|
||||||
|
"key": "value"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<set_metadata>
|
||||||
|
<metadata>
|
||||||
|
<key>value</key>
|
||||||
|
</metadata>
|
||||||
|
</set_metadata>
|
7
doc/v3/api_samples/os-aggregates/aggregate-post-req.json
Normal file
7
doc/v3/api_samples/os-aggregates/aggregate-post-req.json
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"aggregate":
|
||||||
|
{
|
||||||
|
"name": "name",
|
||||||
|
"availability_zone": "nova"
|
||||||
|
}
|
||||||
|
}
|
2
doc/v3/api_samples/os-aggregates/aggregate-post-req.xml
Normal file
2
doc/v3/api_samples/os-aggregates/aggregate-post-req.xml
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<aggregate name="name" availability_zone="nova" />
|
11
doc/v3/api_samples/os-aggregates/aggregate-post-resp.json
Normal file
11
doc/v3/api_samples/os-aggregates/aggregate-post-resp.json
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"aggregate": {
|
||||||
|
"availability_zone": "nova",
|
||||||
|
"created_at": "2013-08-18T12:17:55.751757",
|
||||||
|
"deleted": 0,
|
||||||
|
"deleted_at": null,
|
||||||
|
"id": 1,
|
||||||
|
"name": "name",
|
||||||
|
"updated_at": null
|
||||||
|
}
|
||||||
|
}
|
10
doc/v3/api_samples/os-aggregates/aggregate-post-resp.xml
Normal file
10
doc/v3/api_samples/os-aggregates/aggregate-post-resp.xml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<aggregate>
|
||||||
|
<name>name</name>
|
||||||
|
<availability_zone>nova</availability_zone>
|
||||||
|
<deleted>False</deleted>
|
||||||
|
<created_at>2013-08-18 12:17:56.757058</created_at>
|
||||||
|
<updated_at>None</updated_at>
|
||||||
|
<deleted_at>None</deleted_at>
|
||||||
|
<id>1</id>
|
||||||
|
</aggregate>
|
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"remove_host":
|
||||||
|
{
|
||||||
|
"host": "bf1454b3d71145d49fca2101c56c728d"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<remove_host host="bdb794e5cdd3447c9132ddd8e5cc3d0b" />
|
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"aggregate":
|
||||||
|
{
|
||||||
|
"name": "newname",
|
||||||
|
"availability_zone": "nova2"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<aggregate name="newname" availability_zone="nova2" />
|
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"aggregate": {
|
||||||
|
"availability_zone": "nova2",
|
||||||
|
"created_at": "2013-08-18T12:17:56.259751",
|
||||||
|
"deleted": 0,
|
||||||
|
"deleted_at": null,
|
||||||
|
"hosts": [],
|
||||||
|
"id": 1,
|
||||||
|
"metadata": {
|
||||||
|
"availability_zone": "nova2"
|
||||||
|
},
|
||||||
|
"name": "newname",
|
||||||
|
"updated_at": "2013-08-18T12:17:56.286720"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<aggregate>
|
||||||
|
<name>newname</name>
|
||||||
|
<availability_zone>nova2</availability_zone>
|
||||||
|
<deleted>False</deleted>
|
||||||
|
<created_at>2013-08-18 12:17:57.655769</created_at>
|
||||||
|
<updated_at>2013-08-18 12:17:57.683956</updated_at>
|
||||||
|
<hosts/>
|
||||||
|
<deleted_at>None</deleted_at>
|
||||||
|
<id>1</id>
|
||||||
|
<metadata>
|
||||||
|
<availability_zone>nova2</availability_zone>
|
||||||
|
</metadata>
|
||||||
|
</aggregate>
|
@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"aggregate": {
|
||||||
|
"availability_zone": "nova",
|
||||||
|
"created_at": "2013-08-18T12:17:56.297823",
|
||||||
|
"deleted": 0,
|
||||||
|
"deleted_at": null,
|
||||||
|
"hosts": [
|
||||||
|
"21549b2f665945baaa7101926a00143c"
|
||||||
|
],
|
||||||
|
"id": 1,
|
||||||
|
"metadata": {
|
||||||
|
"availability_zone": "nova"
|
||||||
|
},
|
||||||
|
"name": "name",
|
||||||
|
"updated_at": null
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<aggregate>
|
||||||
|
<name>name</name>
|
||||||
|
<availability_zone>nova</availability_zone>
|
||||||
|
<deleted>False</deleted>
|
||||||
|
<created_at>2013-08-18 12:17:57.255783</created_at>
|
||||||
|
<updated_at>None</updated_at>
|
||||||
|
<hosts>
|
||||||
|
<host>bdb794e5cdd3447c9132ddd8e5cc3d0b</host>
|
||||||
|
</hosts>
|
||||||
|
<deleted_at>None</deleted_at>
|
||||||
|
<id>1</id>
|
||||||
|
<metadata>
|
||||||
|
<availability_zone>nova</availability_zone>
|
||||||
|
</metadata>
|
||||||
|
</aggregate>
|
15
doc/v3/api_samples/os-aggregates/aggregates-get-resp.json
Normal file
15
doc/v3/api_samples/os-aggregates/aggregates-get-resp.json
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"aggregate": {
|
||||||
|
"availability_zone": "nova",
|
||||||
|
"created_at": "2013-08-18T12:17:56.380226",
|
||||||
|
"deleted": 0,
|
||||||
|
"deleted_at": null,
|
||||||
|
"hosts": [],
|
||||||
|
"id": 1,
|
||||||
|
"metadata": {
|
||||||
|
"availability_zone": "nova"
|
||||||
|
},
|
||||||
|
"name": "name",
|
||||||
|
"updated_at": null
|
||||||
|
}
|
||||||
|
}
|
14
doc/v3/api_samples/os-aggregates/aggregates-get-resp.xml
Normal file
14
doc/v3/api_samples/os-aggregates/aggregates-get-resp.xml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<aggregate>
|
||||||
|
<name>name</name>
|
||||||
|
<availability_zone>nova</availability_zone>
|
||||||
|
<deleted>False</deleted>
|
||||||
|
<created_at>2013-08-18 12:17:56.757058</created_at>
|
||||||
|
<updated_at>None</updated_at>
|
||||||
|
<hosts/>
|
||||||
|
<deleted_at>None</deleted_at>
|
||||||
|
<id>1</id>
|
||||||
|
<metadata>
|
||||||
|
<availability_zone>nova</availability_zone>
|
||||||
|
</metadata>
|
||||||
|
</aggregate>
|
@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"aggregates": [
|
||||||
|
{
|
||||||
|
"availability_zone": "nova",
|
||||||
|
"created_at": "2013-08-18T12:17:56.856455",
|
||||||
|
"deleted": 0,
|
||||||
|
"deleted_at": null,
|
||||||
|
"hosts": [],
|
||||||
|
"id": 1,
|
||||||
|
"metadata": {
|
||||||
|
"availability_zone": "nova"
|
||||||
|
},
|
||||||
|
"name": "name",
|
||||||
|
"updated_at": null
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<aggregates>
|
||||||
|
<aggregate>
|
||||||
|
<name>name</name>
|
||||||
|
<availability_zone>nova</availability_zone>
|
||||||
|
<deleted>False</deleted>
|
||||||
|
<created_at>2013-08-18 12:17:57.241412</created_at>
|
||||||
|
<updated_at>None</updated_at>
|
||||||
|
<hosts/>
|
||||||
|
<deleted_at>None</deleted_at>
|
||||||
|
<id>1</id>
|
||||||
|
<metadata>
|
||||||
|
<availability_zone>nova</availability_zone>
|
||||||
|
</metadata>
|
||||||
|
</aggregate>
|
||||||
|
</aggregates>
|
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"aggregate": {
|
||||||
|
"availability_zone": "nova",
|
||||||
|
"created_at": "2013-08-18T12:17:55.959571",
|
||||||
|
"deleted": 0,
|
||||||
|
"deleted_at": null,
|
||||||
|
"hosts": [],
|
||||||
|
"id": 1,
|
||||||
|
"metadata": {
|
||||||
|
"availability_zone": "nova",
|
||||||
|
"key": "value"
|
||||||
|
},
|
||||||
|
"name": "name",
|
||||||
|
"updated_at": null
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<aggregate>
|
||||||
|
<name>name</name>
|
||||||
|
<availability_zone>nova</availability_zone>
|
||||||
|
<deleted>False</deleted>
|
||||||
|
<created_at>2013-08-18 12:17:56.891817</created_at>
|
||||||
|
<updated_at>None</updated_at>
|
||||||
|
<hosts/>
|
||||||
|
<deleted_at>None</deleted_at>
|
||||||
|
<id>1</id>
|
||||||
|
<metadata>
|
||||||
|
<key>value</key>
|
||||||
|
<availability_zone>nova</availability_zone>
|
||||||
|
</metadata>
|
||||||
|
</aggregate>
|
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"aggregate": {
|
||||||
|
"availability_zone": "nova",
|
||||||
|
"created_at": "2013-08-18T12:17:56.990581",
|
||||||
|
"deleted": 0,
|
||||||
|
"deleted_at": null,
|
||||||
|
"hosts": [],
|
||||||
|
"id": 1,
|
||||||
|
"metadata": {
|
||||||
|
"availability_zone": "nova"
|
||||||
|
},
|
||||||
|
"name": "name",
|
||||||
|
"updated_at": null
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<aggregate>
|
||||||
|
<name>name</name>
|
||||||
|
<availability_zone>nova</availability_zone>
|
||||||
|
<deleted>False</deleted>
|
||||||
|
<created_at>2013-08-18 12:17:57.255783</created_at>
|
||||||
|
<updated_at>None</updated_at>
|
||||||
|
<hosts/>
|
||||||
|
<deleted_at>None</deleted_at>
|
||||||
|
<id>1</id>
|
||||||
|
<metadata>
|
||||||
|
<availability_zone>nova</availability_zone>
|
||||||
|
</metadata>
|
||||||
|
</aggregate>
|
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"certificate": {
|
||||||
|
"data": "Certificate:\n Data:\n Version: 1 (0x0)\n Serial Number: 1018 (0x3fa)\n Signature Algorithm: md5WithRSAEncryption\n Issuer: O=NOVA ROOT, L=Mountain View, ST=California, C=US\n Validity\n Not Before: Aug 12 07:20:30 2013 GMT\n Not After : Aug 12 07:20:30 2014 GMT\n Subject: C=US, ST=California, O=OpenStack, OU=NovaDev, CN=openstack-fake-2013-08-12T07:20:30Z\n Subject Public Key Info:\n Public Key Algorithm: rsaEncryption\n Public-Key: (1024 bit)\n Modulus:\n 00:ac:ff:b1:d1:ed:54:4e:35:6c:34:b4:8f:0b:04:\n 50:25:a3:e2:4f:02:4c:4f:26:59:bd:f3:fd:eb:da:\n 18:c2:36:aa:63:42:72:1f:88:4f:3a:ec:e7:9f:8e:\n 44:2a:d3:b8:94:7b:20:41:f8:48:02:57:91:4c:16:\n 62:f1:21:d4:f2:40:b5:86:50:d9:61:f0:be:ff:d8:\n 8d:9f:4b:aa:6a:07:38:a2:7f:87:21:fc:e6:6e:1d:\n 0a:95:1a:90:0e:60:c2:24:e9:8e:e8:68:1b:e9:f3:\n c6:b0:7c:da:c5:20:66:9b:85:ea:f5:c9:a7:de:ee:\n 16:b1:51:a0:4d:e3:95:98:df\n Exponent: 65537 (0x10001)\n Signature Algorithm: md5WithRSAEncryption\n 15:42:ca:71:cc:32:af:dc:cf:45:91:df:8a:b8:30:c4:7f:78:\n 80:a7:25:c2:d9:81:3e:b3:dd:22:cc:3b:f8:94:e7:8f:04:f6:\n 93:04:9e:85:d4:10:40:ff:5a:07:47:24:b5:ae:93:ad:8d:e1:\n e6:54:4a:8d:4a:29:53:c4:8d:04:6b:0b:f6:af:38:78:02:c5:\n 05:19:89:82:2d:ba:fd:11:3c:1e:18:c9:0c:3d:03:93:6e:bc:\n 66:70:34:ee:03:78:8a:1d:3d:64:e8:20:2f:90:81:8e:49:1d:\n 07:37:15:66:42:cb:58:39:ad:56:ce:ed:47:c6:78:0b:0e:75:\n 29:ca\n-----BEGIN CERTIFICATE-----\nMIICNDCCAZ0CAgP6MA0GCSqGSIb3DQEBBAUAME4xEjAQBgNVBAoTCU5PVkEgUk9P\nVDEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzETMBEGA1UECBMKQ2FsaWZvcm5pYTEL\nMAkGA1UEBhMCVVMwHhcNMTMwODEyMDcyMDMwWhcNMTQwODEyMDcyMDMwWjB2MQsw\nCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTESMBAGA1UECgwJT3BlblN0\nYWNrMRAwDgYDVQQLDAdOb3ZhRGV2MSwwKgYDVQQDDCNvcGVuc3RhY2stZmFrZS0y\nMDEzLTA4LTEyVDA3OjIwOjMwWjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA\nrP+x0e1UTjVsNLSPCwRQJaPiTwJMTyZZvfP969oYwjaqY0JyH4hPOuznn45EKtO4\nlHsgQfhIAleRTBZi8SHU8kC1hlDZYfC+/9iNn0uqagc4on+HIfzmbh0KlRqQDmDC\nJOmO6Ggb6fPGsHzaxSBmm4Xq9cmn3u4WsVGgTeOVmN8CAwEAATANBgkqhkiG9w0B\nAQQFAAOBgQAVQspxzDKv3M9Fkd+KuDDEf3iApyXC2YE+s90izDv4lOePBPaTBJ6F\n1BBA/1oHRyS1rpOtjeHmVEqNSilTxI0Eawv2rzh4AsUFGYmCLbr9ETweGMkMPQOT\nbrxmcDTuA3iKHT1k6CAvkIGOSR0HNxVmQstYOa1Wzu1HxngLDnUpyg==\n-----END CERTIFICATE-----\n",
|
||||||
|
"private_key": "-----BEGIN RSA PRIVATE KEY-----\nMIICXgIBAAKBgQCs/7HR7VRONWw0tI8LBFAlo+JPAkxPJlm98/3r2hjCNqpjQnIf\niE867OefjkQq07iUeyBB+EgCV5FMFmLxIdTyQLWGUNlh8L7/2I2fS6pqBziif4ch\n/OZuHQqVGpAOYMIk6Y7oaBvp88awfNrFIGabher1yafe7haxUaBN45WY3wIDAQAB\nAoGBAIrcr2I/KyWf0hw4Nn10V9TuyE/9Gz2JHg3QFKjFJox2DqygADT5WAeHc6Bq\nNKNf0NA2SL1LSpm+ql01tvOw4VjE5TF6OHiIzHuTTnXggG6vuA8rxp6L24HtkAcC\n0CBno9ggSX6jVornJPBfxpkwITYSvH57BUFVD7ovbPyWGzS5AkEA1JeUtL6zxwps\nWRr1aJ8Ill2uQk/RUIvSZOU61s+B190zvHikFy8LD8CI6vvBmjC/IZuZVedufjqs\n4vX82uDO3QJBANBSh2b2dyB4AGVFY9vXMRtALAspJHbLHy+zTKxlGPFiuz7Se3ps\n8Kehz4C/CBXgQkk194dwFSGE19/PQfyJROsCQQCFFDJZhrtBUMwMZ2zSRiN5BUGt\nbwuncS+OS1Su3Yz5VRYq2BZYEPHKtYrAFkLWQ8eRwTaWaN5pFE/fb38OgQXdAkA4\nDm0W/K0zlHbuyUxEpNQ28/6mBi0ktiWvLT0tioq6sYmXLwZA/D2JrhXrG/xt/ol3\nr8jqrfNRsLByLhAgh0N/AkEAl2eR0O97lTEgFNqzIQwVmIAn9mBO3cnf3tycvlDU\nm6eb2CS242y4QalfCCAEjxoJURdfsm3/D1iFo00X+IWF+A==\n-----END RSA PRIVATE KEY-----\n"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<certificate private_key="-----BEGIN RSA PRIVATE KEY----- MIICXgIBAAKBgQC4UMjbmFUfkFPFSM0HRz6ULcpwmg2eaJ+EaIwhLrSyghPy1NxL RbS5gurxDZahspmtULNOUA6YqCAMn0t1EOZe3vWAnckAvnKMZul46gtBfkxTFIg4 P9P1LWgyoO0cSaV2T8Itrb2ZV9OQAlAlrF51zhXUvW63jjyv51PsM2PhWQIDAQAB AoGBAKE7Qckeo2/9/9m3SmsQfoR+3fTMPheRK+FW1yX7xmPU+ABXBfHuox4YkM6W 9WqzYk1DJ+bcjzgo8gg4nHhmdS2RIqNeWczOaOHprWzPVEbwaR10sSuLUYOBfuko brvPwGW856UcsByGdM5DIf5DhtWtR3znY4UE0I3tzKelyMrRAkEA6wdpqdFoHJhD 8OGRiC2ZHmvxwi2wKZ0izf29vSvRUnrYxH79zzADZqiIvS90cCuYjdJT4JJYfzU8 cm3l6QJBbQJBAMjC9ur6OuoxxM7cUsOfiHqrQVhuy3WYkkMcqBNcms0Z2G7cRqxF ZEroqNyXHUiN3WXbi/pRSdnMX8sta7QZWB0CQQDQiaVBnqLILHqsMxlUQVFJYvIC H1PduKV3LRu7zDNRAdtwjlVaDvoVjpi1dHPWS3hy7hqqem+3f18BEW4cT3oJAkBP +wQdttTTykIK21GJp7vaivF8hp892Suj2v3GwOTXAw3rlIv/Q6HiCfCD+RvsdMAY PS/16H6Qa1BahFzdIh+tAkEAsAb0Y4zN5TACTOPBj2Payhgo7rkqDM0tsR5pTE4f Wx7gqKn7vvq9CJ5Lp80RzhqIbf4hC9wEhjHHoMQ43AjK3Q== -----END RSA PRIVATE KEY----- " data="Certificate: Data: Version: 1 (0x0) Serial Number: 1019 (0x3fb) Signature Algorithm: md5WithRSAEncryption Issuer: O=NOVA ROOT, L=Mountain View, ST=California, C=US Validity Not Before: Aug 12 07:20:30 2013 GMT Not After : Aug 12 07:20:30 2014 GMT Subject: C=US, ST=California, O=OpenStack, OU=NovaDev, CN=openstack-fake-2013-08-12T07:20:30Z Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (1024 bit) Modulus: 00:b8:50:c8:db:98:55:1f:90:53:c5:48:cd:07:47: 3e:94:2d:ca:70:9a:0d:9e:68:9f:84:68:8c:21:2e: b4:b2:82:13:f2:d4:dc:4b:45:b4:b9:82:ea:f1:0d: 96:a1:b2:99:ad:50:b3:4e:50:0e:98:a8:20:0c:9f: 4b:75:10:e6:5e:de:f5:80:9d:c9:00:be:72:8c:66: e9:78:ea:0b:41:7e:4c:53:14:88:38:3f:d3:f5:2d: 68:32:a0:ed:1c:49:a5:76:4f:c2:2d:ad:bd:99:57: d3:90:02:50:25:ac:5e:75:ce:15:d4:bd:6e:b7:8e: 3c:af:e7:53:ec:33:63:e1:59 Exponent: 65537 (0x10001) Signature Algorithm: md5WithRSAEncryption 5e:d0:d5:7a:4c:85:02:7d:a4:11:98:97:ee:9a:57:91:14:de: f7:16:6b:1b:2d:93:57:13:4c:50:5a:27:13:1c:3a:f0:72:12: 1c:97:0a:45:be:30:25:ee:25:30:ac:3d:b3:81:b2:ca:9c:a5: cd:5a:2a:35:21:c6:98:3a:2b:eb:27:bf:88:4a:aa:69:f5:5b: d4:06:00:6d:ce:d6:69:2e:75:fe:6e:f2:36:c7:52:59:9a:0b: e5:0a:63:14:a3:f1:06:36:95:04:76:94:ba:1a:44:9f:84:1d: f2:f9:18:c6:e6:35:ff:75:35:5c:18:ef:35:fb:d7:9c:87:5a: 73:0c -----BEGIN CERTIFICATE----- MIICNDCCAZ0CAgP7MA0GCSqGSIb3DQEBBAUAME4xEjAQBgNVBAoTCU5PVkEgUk9P VDEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzETMBEGA1UECBMKQ2FsaWZvcm5pYTEL MAkGA1UEBhMCVVMwHhcNMTMwODEyMDcyMDMwWhcNMTQwODEyMDcyMDMwWjB2MQsw CQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTESMBAGA1UECgwJT3BlblN0 YWNrMRAwDgYDVQQLDAdOb3ZhRGV2MSwwKgYDVQQDDCNvcGVuc3RhY2stZmFrZS0y MDEzLTA4LTEyVDA3OjIwOjMwWjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA uFDI25hVH5BTxUjNB0c+lC3KcJoNnmifhGiMIS60soIT8tTcS0W0uYLq8Q2WobKZ rVCzTlAOmKggDJ9LdRDmXt71gJ3JAL5yjGbpeOoLQX5MUxSIOD/T9S1oMqDtHEml dk/CLa29mVfTkAJQJaxedc4V1L1ut448r+dT7DNj4VkCAwEAATANBgkqhkiG9w0B AQQFAAOBgQBe0NV6TIUCfaQRmJfumleRFN73FmsbLZNXE0xQWicTHDrwchIclwpF vjAl7iUwrD2zgbLKnKXNWio1IcaYOivrJ7+ISqpp9VvUBgBtztZpLnX+bvI2x1JZ mgvlCmMUo/EGNpUEdpS6GkSfhB3y+RjG5jX/dTVcGO81+9ech1pzDA== -----END CERTIFICATE----- "/>
|
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"certificate": {
|
||||||
|
"data": "-----BEGIN CERTIFICATE-----\nMIICyzCCAjSgAwIBAgIJAJ8zSIxUp/m4MA0GCSqGSIb3DQEBBAUAME4xEjAQBgNV\nBAoTCU5PVkEgUk9PVDEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzETMBEGA1UECBMK\nQ2FsaWZvcm5pYTELMAkGA1UEBhMCVVMwHhcNMTIxMDE3MDEzMzM5WhcNMTMxMDE3\nMDEzMzM5WjBOMRIwEAYDVQQKEwlOT1ZBIFJPT1QxFjAUBgNVBAcTDU1vdW50YWlu\nIFZpZXcxEzARBgNVBAgTCkNhbGlmb3JuaWExCzAJBgNVBAYTAlVTMIGfMA0GCSqG\nSIb3DQEBAQUAA4GNADCBiQKBgQDXW4QfQQxJG4MqurqK8nU/Lge0mfNKxXj/Gwvg\n2sQVwxzmKfoxih8Nn6yt0yHMNjhoji1UoWI03TXUnPZRAZmsypGKZeBd7Y1ZOCPB\nXGZVGrQm+PB2kZU+3cD8fVKcueMLLeZ+LRt5d0njnoKhc5xjqMlfFPimHMba4OL6\nTnYzPQIDAQABo4GwMIGtMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFKyoKu4SMOFM\ngx5Ec7p0nrCkabvxMH4GA1UdIwR3MHWAFKyoKu4SMOFMgx5Ec7p0nrCkabvxoVKk\nUDBOMRIwEAYDVQQKEwlOT1ZBIFJPT1QxFjAUBgNVBAcTDU1vdW50YWluIFZpZXcx\nEzARBgNVBAgTCkNhbGlmb3JuaWExCzAJBgNVBAYTAlVTggkAnzNIjFSn+bgwDQYJ\nKoZIhvcNAQEEBQADgYEAXuvXlu1o/SVvykSLhHW8QiAY00yzN/eDzYmZGomgiuoO\n/x+ayVzbrz1UWZnBD+lC4hll2iELSmf22LjLoF+s/9NyPqHxGL3FrfatBkndaiF8\nAx/TMEyCPl7IQWi+3zzatqOKHSHiG7a9SGn/7o2aNTIWKVulfy5GvmbBjBM/0UE=\n-----END CERTIFICATE-----\n",
|
||||||
|
"private_key": null
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<certificate private_key="None" data="-----BEGIN CERTIFICATE----- MIICyzCCAjSgAwIBAgIJAJ8zSIxUp/m4MA0GCSqGSIb3DQEBBAUAME4xEjAQBgNV BAoTCU5PVkEgUk9PVDEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzETMBEGA1UECBMK Q2FsaWZvcm5pYTELMAkGA1UEBhMCVVMwHhcNMTIxMDE3MDEzMzM5WhcNMTMxMDE3 MDEzMzM5WjBOMRIwEAYDVQQKEwlOT1ZBIFJPT1QxFjAUBgNVBAcTDU1vdW50YWlu IFZpZXcxEzARBgNVBAgTCkNhbGlmb3JuaWExCzAJBgNVBAYTAlVTMIGfMA0GCSqG SIb3DQEBAQUAA4GNADCBiQKBgQDXW4QfQQxJG4MqurqK8nU/Lge0mfNKxXj/Gwvg 2sQVwxzmKfoxih8Nn6yt0yHMNjhoji1UoWI03TXUnPZRAZmsypGKZeBd7Y1ZOCPB XGZVGrQm+PB2kZU+3cD8fVKcueMLLeZ+LRt5d0njnoKhc5xjqMlfFPimHMba4OL6 TnYzPQIDAQABo4GwMIGtMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFKyoKu4SMOFM gx5Ec7p0nrCkabvxMH4GA1UdIwR3MHWAFKyoKu4SMOFMgx5Ec7p0nrCkabvxoVKk UDBOMRIwEAYDVQQKEwlOT1ZBIFJPT1QxFjAUBgNVBAcTDU1vdW50YWluIFZpZXcx EzARBgNVBAgTCkNhbGlmb3JuaWExCzAJBgNVBAYTAlVTggkAnzNIjFSn+bgwDQYJ KoZIhvcNAQEEBQADgYEAXuvXlu1o/SVvykSLhHW8QiAY00yzN/eDzYmZGomgiuoO /x+ayVzbrz1UWZnBD+lC4hll2iELSmf22LjLoF+s/9NyPqHxGL3FrfatBkndaiF8 Ax/TMEyCPl7IQWi+3zzatqOKHSHiG7a9SGn/7o2aNTIWKVulfy5GvmbBjBM/0UE= -----END CERTIFICATE----- "/>
|
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"agent": {
|
||||||
|
"hypervisor": "%(hypervisor)s",
|
||||||
|
"os": "%(os)s",
|
||||||
|
"architecture": "%(architecture)s",
|
||||||
|
"version": "%(version)s",
|
||||||
|
"md5hash": "%(md5hash)s",
|
||||||
|
"url": "%(url)s"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<agent>
|
||||||
|
<hypervisor>%(hypervisor)s</hypervisor>
|
||||||
|
<os>%(os)s</os>
|
||||||
|
<architecture>%(architecture)s</architecture>
|
||||||
|
<version>%(version)s</version>
|
||||||
|
<md5hash>%(md5hash)s</md5hash>
|
||||||
|
<url>%(url)s</url>
|
||||||
|
</agent>
|
@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"agent": {
|
||||||
|
"agent_id": "1",
|
||||||
|
"architecture": "x86",
|
||||||
|
"hypervisor": "hypervisor",
|
||||||
|
"md5hash": "add6bb58e139be103324d04d82d8f545",
|
||||||
|
"os": "os",
|
||||||
|
"url": "xxxxxxxxxxxx",
|
||||||
|
"version": "8.0"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<agent>
|
||||||
|
<url>xxxxxxxxxxxx</url>
|
||||||
|
<hypervisor>hypervisor</hypervisor>
|
||||||
|
<md5hash>add6bb58e139be103324d04d82d8f545</md5hash>
|
||||||
|
<version>8.0</version>
|
||||||
|
<architecture>x86</architecture>
|
||||||
|
<os>os</os>
|
||||||
|
<agent_id>1</agent_id>
|
||||||
|
</agent>
|
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"agent": {
|
||||||
|
"url": "%(url)s",
|
||||||
|
"md5hash": "%(md5hash)s",
|
||||||
|
"version": "%(version)s"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<agent>
|
||||||
|
<version>%(version)s</version>
|
||||||
|
<url>%(url)s</url>
|
||||||
|
<md5hash>%(md5hash)s</md5hash>
|
||||||
|
</agent>
|
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"agent": {
|
||||||
|
"agent_id": "1",
|
||||||
|
"md5hash": "add6bb58e139be103324d04d82d8f545",
|
||||||
|
"url": "xxx://xxxx/xxx/xxx",
|
||||||
|
"version": "7.0"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<agent>
|
||||||
|
<url>xxx://xxxx/xxx/xxx</url>
|
||||||
|
<version>7.0</version>
|
||||||
|
<agent_id>1</agent_id>
|
||||||
|
<md5hash>add6bb58e139be103324d04d82d8f545</md5hash>
|
||||||
|
</agent>
|
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"agents": [
|
||||||
|
{
|
||||||
|
"agent_id": "1",
|
||||||
|
"architecture": "x86",
|
||||||
|
"hypervisor": "hypervisor",
|
||||||
|
"md5hash": "add6bb58e139be103324d04d82d8f545",
|
||||||
|
"os": "os",
|
||||||
|
"url": "xxxxxxxxxxxx",
|
||||||
|
"version": "8.0"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<agents>
|
||||||
|
<agent url="xxxxxxxxxxxx" hypervisor="hypervisor" md5hash="add6bb58e139be103324d04d82d8f545" version="8.0" architecture="x86" os="os" agent_id="1"/>
|
||||||
|
</agents>
|
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"add_host":
|
||||||
|
{
|
||||||
|
"host": "%(host_name)s"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<add_host host="%(host_name)s" />
|
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"set_metadata":
|
||||||
|
{
|
||||||
|
"metadata":
|
||||||
|
{
|
||||||
|
"key": "value"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<set_metadata>
|
||||||
|
<metadata>
|
||||||
|
<key>value</key>
|
||||||
|
</metadata>
|
||||||
|
</set_metadata>
|
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"aggregate":
|
||||||
|
{
|
||||||
|
"name": "name",
|
||||||
|
"availability_zone": "nova"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<aggregate name="name" availability_zone="nova" />
|
@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"aggregate": {
|
||||||
|
"availability_zone": "nova",
|
||||||
|
"created_at": "%(timestamp)s",
|
||||||
|
"deleted": 0,
|
||||||
|
"deleted_at": null,
|
||||||
|
"id": %(aggregate_id)s,
|
||||||
|
"name": "name",
|
||||||
|
"updated_at": null
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<aggregate>
|
||||||
|
<name>name</name>
|
||||||
|
<availability_zone>nova</availability_zone>
|
||||||
|
<deleted>False</deleted>
|
||||||
|
<created_at>%(timestamp)s</created_at>
|
||||||
|
<updated_at>None</updated_at>
|
||||||
|
<deleted_at>None</deleted_at>
|
||||||
|
<id>%(aggregate_id)s</id>
|
||||||
|
</aggregate>
|
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"remove_host":
|
||||||
|
{
|
||||||
|
"host": "%(host_name)s"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<remove_host host="%(host_name)s" />
|
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"aggregate":
|
||||||
|
{
|
||||||
|
"name": "newname",
|
||||||
|
"availability_zone": "nova2"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<aggregate name="newname" availability_zone="nova2" />
|
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"aggregate": {
|
||||||
|
"availability_zone": "nova2",
|
||||||
|
"created_at": "%(timestamp)s",
|
||||||
|
"deleted": 0,
|
||||||
|
"deleted_at": null,
|
||||||
|
"hosts": [],
|
||||||
|
"id": 1,
|
||||||
|
"metadata": {
|
||||||
|
"availability_zone": "nova2"
|
||||||
|
},
|
||||||
|
"name": "newname",
|
||||||
|
"updated_at": "%(timestamp)s"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<aggregate>
|
||||||
|
<name>newname</name>
|
||||||
|
<availability_zone>nova2</availability_zone>
|
||||||
|
<deleted>False</deleted>
|
||||||
|
<created_at>%(timestamp)s</created_at>
|
||||||
|
<updated_at>%(timestamp)s</updated_at>
|
||||||
|
<hosts/>
|
||||||
|
<deleted_at>None</deleted_at>
|
||||||
|
<id>1</id>
|
||||||
|
<metadata>
|
||||||
|
<availability_zone>nova2</availability_zone>
|
||||||
|
</metadata>
|
||||||
|
</aggregate>
|
@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"aggregate": {
|
||||||
|
"availability_zone": "nova",
|
||||||
|
"created_at": "%(timestamp)s",
|
||||||
|
"deleted": 0,
|
||||||
|
"deleted_at": null,
|
||||||
|
"hosts": [
|
||||||
|
"%(compute_host)s"
|
||||||
|
],
|
||||||
|
"id": 1,
|
||||||
|
"metadata": {
|
||||||
|
"availability_zone": "nova"
|
||||||
|
},
|
||||||
|
"name": "name",
|
||||||
|
"updated_at": null
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<aggregate>
|
||||||
|
<name>name</name>
|
||||||
|
<availability_zone>nova</availability_zone>
|
||||||
|
<deleted>False</deleted>
|
||||||
|
<created_at>%(timestamp)s</created_at>
|
||||||
|
<updated_at>None</updated_at>
|
||||||
|
<hosts>
|
||||||
|
<host>%(compute_host)s</host>
|
||||||
|
</hosts>
|
||||||
|
<deleted_at>None</deleted_at>
|
||||||
|
<id>1</id>
|
||||||
|
<metadata>
|
||||||
|
<availability_zone>nova</availability_zone>
|
||||||
|
</metadata>
|
||||||
|
</aggregate>
|
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"aggregate": {
|
||||||
|
"availability_zone": "nova",
|
||||||
|
"created_at": "%(timestamp)s",
|
||||||
|
"deleted": 0,
|
||||||
|
"deleted_at": null,
|
||||||
|
"hosts": [],
|
||||||
|
"id": 1,
|
||||||
|
"metadata": {
|
||||||
|
"availability_zone": "nova"
|
||||||
|
},
|
||||||
|
"name": "name",
|
||||||
|
"updated_at": null
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<aggregate>
|
||||||
|
<name>name</name>
|
||||||
|
<availability_zone>nova</availability_zone>
|
||||||
|
<deleted>False</deleted>
|
||||||
|
<created_at>%(timestamp)s</created_at>
|
||||||
|
<updated_at>None</updated_at>
|
||||||
|
<hosts/>
|
||||||
|
<deleted_at>None</deleted_at>
|
||||||
|
<id>1</id>
|
||||||
|
<metadata>
|
||||||
|
<availability_zone>nova</availability_zone>
|
||||||
|
</metadata>
|
||||||
|
</aggregate>
|
@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"aggregates": [
|
||||||
|
{
|
||||||
|
"availability_zone": "nova",
|
||||||
|
"created_at": "%(timestamp)s",
|
||||||
|
"deleted": 0,
|
||||||
|
"deleted_at": null,
|
||||||
|
"hosts": [],
|
||||||
|
"id": 1,
|
||||||
|
"metadata": {
|
||||||
|
"availability_zone": "nova"
|
||||||
|
},
|
||||||
|
"name": "name",
|
||||||
|
"updated_at": null
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<aggregates>
|
||||||
|
<aggregate>
|
||||||
|
<name>name</name>
|
||||||
|
<availability_zone>nova</availability_zone>
|
||||||
|
<deleted>False</deleted>
|
||||||
|
<created_at>%(timestamp)s</created_at>
|
||||||
|
<updated_at>None</updated_at>
|
||||||
|
<hosts/>
|
||||||
|
<deleted_at>None</deleted_at>
|
||||||
|
<id>1</id>
|
||||||
|
<metadata>
|
||||||
|
<availability_zone>nova</availability_zone>
|
||||||
|
</metadata>
|
||||||
|
</aggregate>
|
||||||
|
</aggregates>
|
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"aggregate": {
|
||||||
|
"availability_zone": "nova",
|
||||||
|
"created_at": "%(timestamp)s",
|
||||||
|
"deleted": 0,
|
||||||
|
"deleted_at": null,
|
||||||
|
"hosts": [],
|
||||||
|
"id": 1,
|
||||||
|
"metadata": {
|
||||||
|
"availability_zone": "nova",
|
||||||
|
"key": "value"
|
||||||
|
},
|
||||||
|
"name": "name",
|
||||||
|
"updated_at": null
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<aggregate>
|
||||||
|
<name>name</name>
|
||||||
|
<availability_zone>nova</availability_zone>
|
||||||
|
<deleted>False</deleted>
|
||||||
|
<created_at>%(timestamp)s</created_at>
|
||||||
|
<updated_at>None</updated_at>
|
||||||
|
<hosts/>
|
||||||
|
<deleted_at>None</deleted_at>
|
||||||
|
<id>1</id>
|
||||||
|
<metadata>
|
||||||
|
<key>value</key>
|
||||||
|
<availability_zone>nova</availability_zone>
|
||||||
|
</metadata>
|
||||||
|
</aggregate>
|
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"aggregate": {
|
||||||
|
"availability_zone": "nova",
|
||||||
|
"created_at": "%(timestamp)s",
|
||||||
|
"deleted": 0,
|
||||||
|
"deleted_at": null,
|
||||||
|
"hosts": [],
|
||||||
|
"id": 1,
|
||||||
|
"metadata": {
|
||||||
|
"availability_zone": "nova"
|
||||||
|
},
|
||||||
|
"name": "name",
|
||||||
|
"updated_at": null
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<aggregate>
|
||||||
|
<name>name</name>
|
||||||
|
<availability_zone>nova</availability_zone>
|
||||||
|
<deleted>False</deleted>
|
||||||
|
<created_at>%(timestamp)s</created_at>
|
||||||
|
<updated_at>None</updated_at>
|
||||||
|
<hosts/>
|
||||||
|
<deleted_at>None</deleted_at>
|
||||||
|
<id>1</id>
|
||||||
|
<metadata>
|
||||||
|
<availability_zone>nova</availability_zone>
|
||||||
|
</metadata>
|
||||||
|
</aggregate>
|
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"certificate": {
|
||||||
|
"data": "%(text)s",
|
||||||
|
"private_key": "%(text)s"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<certificate private_key="%(text)s" data="%(text)s"/>
|
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"certificate": {
|
||||||
|
"data": "%(text)s",
|
||||||
|
"private_key": null
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<certificate private_key="None" data="%(text)s"/>
|
114
nova/tests/integrated/v3/test_agents.py
Normal file
114
nova/tests/integrated/v3/test_agents.py
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
# vim: tabstop=4 shiftwidth=4 softtabstop=4
|
||||||
|
# Copyright 2012 Nebula, Inc.
|
||||||
|
# Copyright 2013 IBM Corp.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
|
||||||
|
from nova import db
|
||||||
|
from nova.db.sqlalchemy import models
|
||||||
|
from nova.tests.integrated.v3 import api_sample_base
|
||||||
|
|
||||||
|
|
||||||
|
class AgentsJsonTest(api_sample_base.ApiSampleTestBaseV3):
|
||||||
|
extension_name = "os-agents"
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
super(AgentsJsonTest, self).setUp()
|
||||||
|
|
||||||
|
fake_agents_list = [{'url': 'xxxxxxxxxxxx',
|
||||||
|
'hypervisor': 'hypervisor',
|
||||||
|
'architecture': 'x86',
|
||||||
|
'os': 'os',
|
||||||
|
'version': '8.0',
|
||||||
|
'md5hash': 'add6bb58e139be103324d04d82d8f545',
|
||||||
|
'id': '1'}]
|
||||||
|
|
||||||
|
def fake_agent_build_create(context, values):
|
||||||
|
values['id'] = '1'
|
||||||
|
agent_build_ref = models.AgentBuild()
|
||||||
|
agent_build_ref.update(values)
|
||||||
|
return agent_build_ref
|
||||||
|
|
||||||
|
def fake_agent_build_get_all(context, hypervisor):
|
||||||
|
agent_build_all = []
|
||||||
|
for agent in fake_agents_list:
|
||||||
|
if hypervisor and hypervisor != agent['hypervisor']:
|
||||||
|
continue
|
||||||
|
agent_build_ref = models.AgentBuild()
|
||||||
|
agent_build_ref.update(agent)
|
||||||
|
agent_build_all.append(agent_build_ref)
|
||||||
|
return agent_build_all
|
||||||
|
|
||||||
|
def fake_agent_build_update(context, agent_build_id, values):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def fake_agent_build_destroy(context, agent_update_id):
|
||||||
|
pass
|
||||||
|
|
||||||
|
self.stubs.Set(db, "agent_build_create",
|
||||||
|
fake_agent_build_create)
|
||||||
|
self.stubs.Set(db, "agent_build_get_all",
|
||||||
|
fake_agent_build_get_all)
|
||||||
|
self.stubs.Set(db, "agent_build_update",
|
||||||
|
fake_agent_build_update)
|
||||||
|
self.stubs.Set(db, "agent_build_destroy",
|
||||||
|
fake_agent_build_destroy)
|
||||||
|
|
||||||
|
def test_agent_create(self):
|
||||||
|
# Creates a new agent build.
|
||||||
|
project = {'url': 'xxxxxxxxxxxx',
|
||||||
|
'hypervisor': 'hypervisor',
|
||||||
|
'architecture': 'x86',
|
||||||
|
'os': 'os',
|
||||||
|
'version': '8.0',
|
||||||
|
'md5hash': 'add6bb58e139be103324d04d82d8f545'
|
||||||
|
}
|
||||||
|
response = self._do_post('os-agents', 'agent-post-req',
|
||||||
|
project)
|
||||||
|
project['agent_id'] = 1
|
||||||
|
self._verify_response('agent-post-resp', project, response, 201)
|
||||||
|
return project
|
||||||
|
|
||||||
|
def test_agent_list(self):
|
||||||
|
# Return a list of all agent builds.
|
||||||
|
response = self._do_get('os-agents')
|
||||||
|
project = {'url': 'xxxxxxxxxxxx',
|
||||||
|
'hypervisor': 'hypervisor',
|
||||||
|
'architecture': 'x86',
|
||||||
|
'os': 'os',
|
||||||
|
'version': '8.0',
|
||||||
|
'md5hash': 'add6bb58e139be103324d04d82d8f545',
|
||||||
|
'agent_id': 1
|
||||||
|
}
|
||||||
|
self._verify_response('agents-get-resp', project, response, 200)
|
||||||
|
|
||||||
|
def test_agent_update(self):
|
||||||
|
# Update an existing agent build.
|
||||||
|
agent_id = 1
|
||||||
|
subs = {'version': '7.0',
|
||||||
|
'url': 'xxx://xxxx/xxx/xxx',
|
||||||
|
'md5hash': 'add6bb58e139be103324d04d82d8f545'}
|
||||||
|
response = self._do_put('os-agents/%s' % agent_id,
|
||||||
|
'agent-update-put-req', subs)
|
||||||
|
subs['agent_id'] = 1
|
||||||
|
self._verify_response('agent-update-put-resp', subs, response, 200)
|
||||||
|
|
||||||
|
def test_agent_delete(self):
|
||||||
|
# Deletes an existing agent build.
|
||||||
|
agent_id = 1
|
||||||
|
response = self._do_delete('os-agents/%s' % agent_id)
|
||||||
|
self.assertEqual(response.status, 204)
|
||||||
|
|
||||||
|
|
||||||
|
class AgentsXmlTest(AgentsJsonTest):
|
||||||
|
ctype = "xml"
|
85
nova/tests/integrated/v3/test_aggregates.py
Normal file
85
nova/tests/integrated/v3/test_aggregates.py
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
# vim: tabstop=4 shiftwidth=4 softtabstop=4
|
||||||
|
# Copyright 2012 Nebula, Inc.
|
||||||
|
# Copyright 2013 IBM Corp.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
|
||||||
|
from nova.tests.integrated.v3 import api_sample_base
|
||||||
|
|
||||||
|
|
||||||
|
class AggregatesSampleJsonTest(api_sample_base.ApiSampleTestBaseV3):
|
||||||
|
extension_name = "os-aggregates"
|
||||||
|
|
||||||
|
def test_aggregate_create(self):
|
||||||
|
subs = {
|
||||||
|
"aggregate_id": '(?P<id>\d+)'
|
||||||
|
}
|
||||||
|
response = self._do_post('os-aggregates', 'aggregate-post-req', subs)
|
||||||
|
subs.update(self._get_regexes())
|
||||||
|
return self._verify_response('aggregate-post-resp',
|
||||||
|
subs, response, 201)
|
||||||
|
|
||||||
|
def test_list_aggregates(self):
|
||||||
|
self.test_aggregate_create()
|
||||||
|
response = self._do_get('os-aggregates')
|
||||||
|
subs = self._get_regexes()
|
||||||
|
self._verify_response('aggregates-list-get-resp', subs, response, 200)
|
||||||
|
|
||||||
|
def test_aggregate_get(self):
|
||||||
|
agg_id = self.test_aggregate_create()
|
||||||
|
response = self._do_get('os-aggregates/%s' % agg_id)
|
||||||
|
subs = self._get_regexes()
|
||||||
|
self._verify_response('aggregates-get-resp', subs, response, 200)
|
||||||
|
|
||||||
|
def test_add_metadata(self):
|
||||||
|
agg_id = self.test_aggregate_create()
|
||||||
|
response = self._do_post('os-aggregates/%s/action' % agg_id,
|
||||||
|
'aggregate-metadata-post-req',
|
||||||
|
{'action': 'set_metadata'})
|
||||||
|
subs = self._get_regexes()
|
||||||
|
self._verify_response('aggregates-metadata-post-resp', subs,
|
||||||
|
response, 200)
|
||||||
|
|
||||||
|
def test_add_host(self):
|
||||||
|
aggregate_id = self.test_aggregate_create()
|
||||||
|
subs = {
|
||||||
|
"host_name": self.compute.host,
|
||||||
|
}
|
||||||
|
response = self._do_post('os-aggregates/%s/action' % aggregate_id,
|
||||||
|
'aggregate-add-host-post-req', subs)
|
||||||
|
subs.update(self._get_regexes())
|
||||||
|
self._verify_response('aggregates-add-host-post-resp', subs,
|
||||||
|
response, 200)
|
||||||
|
|
||||||
|
def test_remove_host(self):
|
||||||
|
self.test_add_host()
|
||||||
|
subs = {
|
||||||
|
"host_name": self.compute.host,
|
||||||
|
}
|
||||||
|
response = self._do_post('os-aggregates/1/action',
|
||||||
|
'aggregate-remove-host-post-req', subs)
|
||||||
|
subs.update(self._get_regexes())
|
||||||
|
self._verify_response('aggregates-remove-host-post-resp',
|
||||||
|
subs, response, 200)
|
||||||
|
|
||||||
|
def test_update_aggregate(self):
|
||||||
|
aggregate_id = self.test_aggregate_create()
|
||||||
|
response = self._do_put('os-aggregates/%s' % aggregate_id,
|
||||||
|
'aggregate-update-post-req', {})
|
||||||
|
subs = self._get_regexes()
|
||||||
|
self._verify_response('aggregate-update-post-resp',
|
||||||
|
subs, response, 200)
|
||||||
|
|
||||||
|
|
||||||
|
class AggregatesSampleXmlTest(AggregatesSampleJsonTest):
|
||||||
|
ctype = 'xml'
|
36
nova/tests/integrated/v3/test_certificates.py
Normal file
36
nova/tests/integrated/v3/test_certificates.py
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
# vim: tabstop=4 shiftwidth=4 softtabstop=4
|
||||||
|
# Copyright 2012 Nebula, Inc.
|
||||||
|
# Copyright 2013 IBM Corp.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
|
||||||
|
from nova.tests.integrated.v3 import api_sample_base
|
||||||
|
|
||||||
|
|
||||||
|
class CertificatesSamplesJsonTest(api_sample_base.ApiSampleTestBaseV3):
|
||||||
|
extension_name = "os-certificates"
|
||||||
|
|
||||||
|
def test_create_certificates(self):
|
||||||
|
response = self._do_post('os-certificates',
|
||||||
|
'certificate-create-req', {})
|
||||||
|
subs = self._get_regexes()
|
||||||
|
self._verify_response('certificate-create-resp', subs, response, 201)
|
||||||
|
|
||||||
|
def test_get_root_certificate(self):
|
||||||
|
response = self._do_get('os-certificates/root')
|
||||||
|
subs = self._get_regexes()
|
||||||
|
self._verify_response('certificate-get-root-resp', subs, response, 200)
|
||||||
|
|
||||||
|
|
||||||
|
class CertificatesSamplesXmlTest(CertificatesSamplesJsonTest):
|
||||||
|
ctype = 'xml'
|
Loading…
Reference in New Issue
Block a user