From 12c8ea8569a64e0688544db18da1946e4a3ffd82 Mon Sep 17 00:00:00 2001 From: Chris Yeoh Date: Mon, 9 Sep 2013 21:39:52 +0930 Subject: [PATCH] Adds v3 API samples for hide server addresses and keypairs Adds the v3 API samples for the hide server addresses and keypairs extensions. Bundled together to reduce review load Partially implements blueprint v3-api-specification +DocImpact Change-Id: If331d79a878af7543c8792ab4d675fc996c3cd04 --- .../keypairs/keypairs-get-resp.json | 11 +++ .../keypairs/keypairs-get-resp.xml | 9 +++ .../keypairs/keypairs-import-post-req.json | 6 ++ .../keypairs/keypairs-import-post-req.xml | 4 ++ .../keypairs/keypairs-import-post-resp.json | 8 +++ .../keypairs/keypairs-import-post-resp.xml | 7 ++ .../keypairs/keypairs-post-req.json | 5 ++ .../keypairs/keypairs-post-req.xml | 3 + .../keypairs/keypairs-post-resp.json | 9 +++ .../keypairs/keypairs-post-resp.xml | 36 ++++++++++ .../server-get-resp.json | 48 +++++++++++++ .../server-get-resp.xml | 15 ++++ .../server-post-req.json | 16 +++++ .../server-post-req.xml | 19 +++++ .../server-post-resp.json | 16 +++++ .../server-post-resp.xml | 6 ++ .../servers-details-resp.json | 50 ++++++++++++++ .../servers-details-resp.xml | 17 +++++ .../servers-list-resp.json | 18 +++++ .../servers-list-resp.xml | 7 ++ .../keypairs/keypairs-get-resp.json.tpl | 11 +++ .../keypairs/keypairs-get-resp.xml.tpl | 9 +++ .../keypairs-import-post-req.json.tpl | 6 ++ .../keypairs/keypairs-import-post-req.xml.tpl | 4 ++ .../keypairs-import-post-resp.json.tpl | 8 +++ .../keypairs-import-post-resp.xml.tpl | 7 ++ .../keypairs/keypairs-post-req.json.tpl | 5 ++ .../keypairs/keypairs-post-req.xml.tpl | 3 + .../keypairs/keypairs-post-resp.json.tpl | 9 +++ .../keypairs/keypairs-post-resp.xml.tpl | 10 +++ .../server-get-resp.json.tpl | 49 +++++++++++++ .../server-get-resp.xml.tpl | 15 ++++ .../server-post-req.json.tpl | 16 +++++ .../server-post-req.xml.tpl | 19 +++++ .../server-post-resp.json.tpl | 16 +++++ .../server-post-resp.xml.tpl | 6 ++ .../servers-details-resp.json.tpl | 50 ++++++++++++++ .../servers-details-resp.xml.tpl | 17 +++++ .../servers-list-resp.json.tpl | 18 +++++ .../servers-list-resp.xml.tpl | 7 ++ .../v3/test_hide_server_addresses.py | 44 ++++++++++++ nova/tests/integrated/v3/test_keypairs.py | 69 +++++++++++++++++++ 42 files changed, 708 insertions(+) create mode 100644 doc/v3/api_samples/keypairs/keypairs-get-resp.json create mode 100644 doc/v3/api_samples/keypairs/keypairs-get-resp.xml create mode 100644 doc/v3/api_samples/keypairs/keypairs-import-post-req.json create mode 100644 doc/v3/api_samples/keypairs/keypairs-import-post-req.xml create mode 100644 doc/v3/api_samples/keypairs/keypairs-import-post-resp.json create mode 100644 doc/v3/api_samples/keypairs/keypairs-import-post-resp.xml create mode 100644 doc/v3/api_samples/keypairs/keypairs-post-req.json create mode 100644 doc/v3/api_samples/keypairs/keypairs-post-req.xml create mode 100644 doc/v3/api_samples/keypairs/keypairs-post-resp.json create mode 100644 doc/v3/api_samples/keypairs/keypairs-post-resp.xml create mode 100644 doc/v3/api_samples/os-hide-server-addresses/server-get-resp.json create mode 100644 doc/v3/api_samples/os-hide-server-addresses/server-get-resp.xml create mode 100644 doc/v3/api_samples/os-hide-server-addresses/server-post-req.json create mode 100644 doc/v3/api_samples/os-hide-server-addresses/server-post-req.xml create mode 100644 doc/v3/api_samples/os-hide-server-addresses/server-post-resp.json create mode 100644 doc/v3/api_samples/os-hide-server-addresses/server-post-resp.xml create mode 100644 doc/v3/api_samples/os-hide-server-addresses/servers-details-resp.json create mode 100644 doc/v3/api_samples/os-hide-server-addresses/servers-details-resp.xml create mode 100644 doc/v3/api_samples/os-hide-server-addresses/servers-list-resp.json create mode 100644 doc/v3/api_samples/os-hide-server-addresses/servers-list-resp.xml create mode 100644 nova/tests/integrated/v3/api_samples/keypairs/keypairs-get-resp.json.tpl create mode 100644 nova/tests/integrated/v3/api_samples/keypairs/keypairs-get-resp.xml.tpl create mode 100644 nova/tests/integrated/v3/api_samples/keypairs/keypairs-import-post-req.json.tpl create mode 100644 nova/tests/integrated/v3/api_samples/keypairs/keypairs-import-post-req.xml.tpl create mode 100644 nova/tests/integrated/v3/api_samples/keypairs/keypairs-import-post-resp.json.tpl create mode 100644 nova/tests/integrated/v3/api_samples/keypairs/keypairs-import-post-resp.xml.tpl create mode 100644 nova/tests/integrated/v3/api_samples/keypairs/keypairs-post-req.json.tpl create mode 100644 nova/tests/integrated/v3/api_samples/keypairs/keypairs-post-req.xml.tpl create mode 100644 nova/tests/integrated/v3/api_samples/keypairs/keypairs-post-resp.json.tpl create mode 100644 nova/tests/integrated/v3/api_samples/keypairs/keypairs-post-resp.xml.tpl create mode 100644 nova/tests/integrated/v3/api_samples/os-hide-server-addresses/server-get-resp.json.tpl create mode 100644 nova/tests/integrated/v3/api_samples/os-hide-server-addresses/server-get-resp.xml.tpl create mode 100644 nova/tests/integrated/v3/api_samples/os-hide-server-addresses/server-post-req.json.tpl create mode 100644 nova/tests/integrated/v3/api_samples/os-hide-server-addresses/server-post-req.xml.tpl create mode 100644 nova/tests/integrated/v3/api_samples/os-hide-server-addresses/server-post-resp.json.tpl create mode 100644 nova/tests/integrated/v3/api_samples/os-hide-server-addresses/server-post-resp.xml.tpl create mode 100644 nova/tests/integrated/v3/api_samples/os-hide-server-addresses/servers-details-resp.json.tpl create mode 100644 nova/tests/integrated/v3/api_samples/os-hide-server-addresses/servers-details-resp.xml.tpl create mode 100644 nova/tests/integrated/v3/api_samples/os-hide-server-addresses/servers-list-resp.json.tpl create mode 100644 nova/tests/integrated/v3/api_samples/os-hide-server-addresses/servers-list-resp.xml.tpl create mode 100644 nova/tests/integrated/v3/test_hide_server_addresses.py create mode 100644 nova/tests/integrated/v3/test_keypairs.py diff --git a/doc/v3/api_samples/keypairs/keypairs-get-resp.json b/doc/v3/api_samples/keypairs/keypairs-get-resp.json new file mode 100644 index 000000000000..e650c3dd61fc --- /dev/null +++ b/doc/v3/api_samples/keypairs/keypairs-get-resp.json @@ -0,0 +1,11 @@ +{ + "keypairs": [ + { + "keypair": { + "fingerprint": "7e:eb:ab:24:ba:d1:e1:88:ae:9a:fb:66:53:df:d3:bd", + "name": "keypair-50ca852e-273f-4cdc-8949-45feba200837", + "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCkF3MX59OrlBs3dH5CU7lNmvpbrgZxSpyGjlnE8Flkirnc/Up22lpjznoxqeoTAwTW034k7Dz6aYIrZGmQwe2TkE084yqvlj45Dkyoj95fW/sZacm0cZNuL69EObEGHdprfGJQajrpz22NQoCD8TFB8Wv+8om9NH9Le6s+WPe98WC77KLw8qgfQsbIey+JawPWl4O67ZdL5xrypuRjfIPWjgy/VH85IXg/Z/GONZ2nxHgSShMkwqSFECAC5L3PHB+0+/12M/iikdatFSVGjpuHvkLOs3oe7m6HlOfluSJ85BzLWBbvva93qkGmLg4ZAc8rPh2O+YIsBUHNLLMM/oQp Generated by Nova\n" + } + } + ] +} \ No newline at end of file diff --git a/doc/v3/api_samples/keypairs/keypairs-get-resp.xml b/doc/v3/api_samples/keypairs/keypairs-get-resp.xml new file mode 100644 index 000000000000..bc5401e6ec6e --- /dev/null +++ b/doc/v3/api_samples/keypairs/keypairs-get-resp.xml @@ -0,0 +1,9 @@ + + + + ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDcPLt/SUCvzrObsa5dn1M+rHz/9dFTnPhAQ6BFMNMo9EjCLmqWHcOeZ87L6K/caXQOQ7L4rKkQi2aMRt1+GLrY+Y5FeK16Acbd+/37WtB61roPh6uqaMNrm8y2Yusx5/WEDzAZizGDfZwvJa6DVRiQSXSWUeft8dEEWbkCY9FrisnDBA0acb1+kwC+sT9MbjWZ94FJD5ctiHLaQR7e5nFQ7tmMAqiKq14i0R09BoHTd8LUOlh0DD0mtwoHW3YAoIFyJsAtoH/CmBbJ1vjYtna4aATg4eMQMsbz+6LhSQE53dwaRu9AojG7jdC28SEWO/rqznyrDrN6e8sXI5XLX/xL Generated by Nova + + keypair-ccaba351-1a04-41dd-b80a-0302d460e2f7 + f4:5a:08:66:ef:5a:1b:52:49:1b:82:2c:fc:b3:df:5d + + \ No newline at end of file diff --git a/doc/v3/api_samples/keypairs/keypairs-import-post-req.json b/doc/v3/api_samples/keypairs/keypairs-import-post-req.json new file mode 100644 index 000000000000..2a1179d70f0a --- /dev/null +++ b/doc/v3/api_samples/keypairs/keypairs-import-post-req.json @@ -0,0 +1,6 @@ +{ + "keypair": { + "name": "keypair-d20a3d59-9433-4b79-8726-20b431d89c78", + "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDx8nkQv/zgGgB4rMYmIf+6A4l6Rr+o/6lHBQdW5aYd44bd8JttDCE/F/pNRr0lRE+PiqSPO8nDPHw0010JeMH9gYgnnFlyY3/OcJ02RhIPyyxYpv9FhY+2YiUkpwFOcLImyrxEsYXpD/0d3ac30bNH6Sw9JD9UZHYcpSxsIbECHw== Generated by Nova" + } +} \ No newline at end of file diff --git a/doc/v3/api_samples/keypairs/keypairs-import-post-req.xml b/doc/v3/api_samples/keypairs/keypairs-import-post-req.xml new file mode 100644 index 000000000000..7be37f5cf130 --- /dev/null +++ b/doc/v3/api_samples/keypairs/keypairs-import-post-req.xml @@ -0,0 +1,4 @@ + + keypair-c180f683-b051-4d3c-aed1-962f0ec2658b + ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDx8nkQv/zgGgB4rMYmIf+6A4l6Rr+o/6lHBQdW5aYd44bd8JttDCE/F/pNRr0lRE+PiqSPO8nDPHw0010JeMH9gYgnnFlyY3/OcJ02RhIPyyxYpv9FhY+2YiUkpwFOcLImyrxEsYXpD/0d3ac30bNH6Sw9JD9UZHYcpSxsIbECHw== Generated by Nova + \ No newline at end of file diff --git a/doc/v3/api_samples/keypairs/keypairs-import-post-resp.json b/doc/v3/api_samples/keypairs/keypairs-import-post-resp.json new file mode 100644 index 000000000000..9022571546db --- /dev/null +++ b/doc/v3/api_samples/keypairs/keypairs-import-post-resp.json @@ -0,0 +1,8 @@ +{ + "keypair": { + "fingerprint": "1e:2c:9b:56:79:4b:45:77:f9:ca:7a:98:2c:b0:d5:3c", + "name": "keypair-803a1926-af78-4b05-902a-1d6f7a8d9d3e", + "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDx8nkQv/zgGgB4rMYmIf+6A4l6Rr+o/6lHBQdW5aYd44bd8JttDCE/F/pNRr0lRE+PiqSPO8nDPHw0010JeMH9gYgnnFlyY3/OcJ02RhIPyyxYpv9FhY+2YiUkpwFOcLImyrxEsYXpD/0d3ac30bNH6Sw9JD9UZHYcpSxsIbECHw== Generated by Nova", + "user_id": "fake" + } +} \ No newline at end of file diff --git a/doc/v3/api_samples/keypairs/keypairs-import-post-resp.xml b/doc/v3/api_samples/keypairs/keypairs-import-post-resp.xml new file mode 100644 index 000000000000..78e77f62f120 --- /dev/null +++ b/doc/v3/api_samples/keypairs/keypairs-import-post-resp.xml @@ -0,0 +1,7 @@ + + + ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDx8nkQv/zgGgB4rMYmIf+6A4l6Rr+o/6lHBQdW5aYd44bd8JttDCE/F/pNRr0lRE+PiqSPO8nDPHw0010JeMH9gYgnnFlyY3/OcJ02RhIPyyxYpv9FhY+2YiUkpwFOcLImyrxEsYXpD/0d3ac30bNH6Sw9JD9UZHYcpSxsIbECHw== Generated by Nova + fake + keypair-3f16a239-c29d-4db6-be73-49d2ec93d080 + 1e:2c:9b:56:79:4b:45:77:f9:ca:7a:98:2c:b0:d5:3c + \ No newline at end of file diff --git a/doc/v3/api_samples/keypairs/keypairs-post-req.json b/doc/v3/api_samples/keypairs/keypairs-post-req.json new file mode 100644 index 000000000000..e4e9f4a8aca0 --- /dev/null +++ b/doc/v3/api_samples/keypairs/keypairs-post-req.json @@ -0,0 +1,5 @@ +{ + "keypair": { + "name": "keypair-ab9ff2e6-a6d7-4915-a241-044c369c07f9" + } +} \ No newline at end of file diff --git a/doc/v3/api_samples/keypairs/keypairs-post-req.xml b/doc/v3/api_samples/keypairs/keypairs-post-req.xml new file mode 100644 index 000000000000..90c2a74c8aa8 --- /dev/null +++ b/doc/v3/api_samples/keypairs/keypairs-post-req.xml @@ -0,0 +1,3 @@ + + keypair-94f987ab-8bcf-4398-8aa6-5e00f313394e + \ No newline at end of file diff --git a/doc/v3/api_samples/keypairs/keypairs-post-resp.json b/doc/v3/api_samples/keypairs/keypairs-post-resp.json new file mode 100644 index 000000000000..f049e05510a9 --- /dev/null +++ b/doc/v3/api_samples/keypairs/keypairs-post-resp.json @@ -0,0 +1,9 @@ +{ + "keypair": { + "fingerprint": "7e:eb:ab:24:ba:d1:e1:88:ae:9a:fb:66:53:df:d3:bd", + "name": "keypair-50ca852e-273f-4cdc-8949-45feba200837", + "private_key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEApBdzF+fTq5QbN3R+QlO5TZr6W64GcUqcho5ZxPBZZIq53P1K\ndtpaY856ManqEwME1tN+JOw8+mmCK2RpkMHtk5BNPOMqr5Y+OQ5MqI/eX1v7GWnJ\ntHGTbi+vRDmxBh3aa3xiUGo66c9tjUKAg/ExQfFr/vKJvTR/S3urPlj3vfFgu+yi\n8PKoH0LGyHsviWsD1peDuu2XS+ca8qbkY3yD1o4Mv1R/OSF4P2fxjjWdp8R4EkoT\nJMKkhRAgAuS9zxwftPv9djP4opHWrRUlRo6bh75CzrN6Hu5uh5Tn5bkifOQcy1gW\n772vd6pBpi4OGQHPKz4djvmCLAVBzSyzDP6EKQIDAQABAoIBAQCB+tU/ZXKlIe+h\nMNTmoz1QfOe+AY625Rwx9cakGqMk4kKyC62VkgcxshfXCToSjzyhEuyEQOFYloT2\n7FY2xXb0gcS861Efv0pQlcQhbbz/GnQ/wC13ktPu3zTdPTm9l54xsFiMTGmYVaf4\n0mnMmhyjmKIsVGDJEDGZUD/oZj7wJGOFha5M4FZrZlJIrEZC0rGGlcC0kGF2no6B\nj1Mu7HjyK3pTKf4dlp+jeRikUF5Pct+qT+rcv2rZ3fl3inxtlLEwZeFPbp/njf/U\nIGxFzZsuLmiFlsJar6M5nEckTB3p25maWWaR8/0jvJRgsPnuoUrUoGDq87DMKCdk\nlw6by9fRAoGBANhnS9ko7Of+ntqIFR7xOG9p/oPATztgHkFxe4GbQ0leaDRTx3vE\ndQmUCnn24xtyVECaI9a4IV+LP1npw8niWUJ4pjgdAlkF4cCTu9sN+cBO15SfdACI\nzD1DaaHmpFCAWlpTo68VWlvWll6i2ncCkRJR1+q/C/yQz7asvl4AakElAoGBAMId\nxqMT2Sy9xLuHsrAoMUvBOkwaMYZH+IAb4DvUDjVIiKWjmonrmopS5Lpb+ALBKqZe\neVfD6HwWQqGwCFItToaEkZvrNfTapoNCHWWg001D49765UV5lMrArDbM1vXtFfM4\nDRYM6+Y6o/6QH8EBgXtyBxcYthIDBM3wBJa67xG1AoGAKTm8fFlMkIG0N4N3Kpbf\nnnH915GaRoBwIx2AXtd6QQ7oIRfYx95MQY/fUw7SgxcLr+btbulTCkWXwwRClUI2\nqPAdElGMcfMp56r9PaTy8EzUyu55heSJrB4ckIhEw0VAcTa/1wnlVduSd+LkZYmq\no2fOD11n5iycNXvBJF1F4LUCgYAMaRbwCi7SW3eefbiA5rDwJPRzNSGBckyC9EVL\nzezynyaNYH5a3wNMYKxa9dJPasYtSND9OXs9o7ay26xMhLUGiKc+jrUuaGRI9Asp\nGjUoNXT2JphN7s4CgHsCLep4YqYKnMTJah4S5CDj/5boIg6DM/EcGupZEHRYLkY8\n1MrAGQKBgQCi9yeC39ctLUNn+Ix604gttWWChdt3ozufTZ7HybJOSRA9Gh3iD5gm\nzlz0xqpGShKpOY2k+ftvja0poMdGeJLt84P3r2q01IgI7w0LmOj5m0W10dHysH27\nBWpCnHdBJMxnBsMRPoM4MKkmKWD9l5PSTCTWtkIpsyuDCko6D9UwZA==\n-----END RSA PRIVATE KEY-----\n", + "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCkF3MX59OrlBs3dH5CU7lNmvpbrgZxSpyGjlnE8Flkirnc/Up22lpjznoxqeoTAwTW034k7Dz6aYIrZGmQwe2TkE084yqvlj45Dkyoj95fW/sZacm0cZNuL69EObEGHdprfGJQajrpz22NQoCD8TFB8Wv+8om9NH9Le6s+WPe98WC77KLw8qgfQsbIey+JawPWl4O67ZdL5xrypuRjfIPWjgy/VH85IXg/Z/GONZ2nxHgSShMkwqSFECAC5L3PHB+0+/12M/iikdatFSVGjpuHvkLOs3oe7m6HlOfluSJ85BzLWBbvva93qkGmLg4ZAc8rPh2O+YIsBUHNLLMM/oQp Generated by Nova\n", + "user_id": "fake" + } +} \ No newline at end of file diff --git a/doc/v3/api_samples/keypairs/keypairs-post-resp.xml b/doc/v3/api_samples/keypairs/keypairs-post-resp.xml new file mode 100644 index 000000000000..eb7da8d57d15 --- /dev/null +++ b/doc/v3/api_samples/keypairs/keypairs-post-resp.xml @@ -0,0 +1,36 @@ + + + ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDcPLt/SUCvzrObsa5dn1M+rHz/9dFTnPhAQ6BFMNMo9EjCLmqWHcOeZ87L6K/caXQOQ7L4rKkQi2aMRt1+GLrY+Y5FeK16Acbd+/37WtB61roPh6uqaMNrm8y2Yusx5/WEDzAZizGDfZwvJa6DVRiQSXSWUeft8dEEWbkCY9FrisnDBA0acb1+kwC+sT9MbjWZ94FJD5ctiHLaQR7e5nFQ7tmMAqiKq14i0R09BoHTd8LUOlh0DD0mtwoHW3YAoIFyJsAtoH/CmBbJ1vjYtna4aATg4eMQMsbz+6LhSQE53dwaRu9AojG7jdC28SEWO/rqznyrDrN6e8sXI5XLX/xL Generated by Nova + + -----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEA3Dy7f0lAr86zm7GuXZ9TPqx8//XRU5z4QEOgRTDTKPRIwi5q +lh3DnmfOy+iv3Gl0DkOy+KypEItmjEbdfhi62PmORXitegHG3fv9+1rQeta6D4er +qmjDa5vMtmLrMef1hA8wGYsxg32cLyWug1UYkEl0llHn7fHRBFm5AmPRa4rJwwQN +GnG9fpMAvrE/TG41mfeBSQ+XLYhy2kEe3uZxUO7ZjAKoiqteItEdPQaB03fC1DpY +dAw9JrcKB1t2AKCBcibALaB/wpgWydb42LZ2uGgE4OHjEDLG8/ui4UkBOd3cGkbv +QKIxu43QtvEhFjv66s58qw6zenvLFyOVy1/8SwIDAQABAoIBAA+E0Al2FfLNc+aC +rLC4K1t9OAmpPqjPpMaSfVaizB5UqFPWhXgyfLhKxE2mBc5YN+9RYekX8YnS6NT1 +oWHjSDdFznqiuEainWrC+PCfQ5WET/QMMVJ+s1Z/0fsAGWaY27oEf/Us075aOYkw +9I0Yj/SK2IZHGzqvEXVnBRxgAD+9lFukPQMIL6PzxnPyOgpWl32qS+BJjtTPvkwf +/SAplL6EhcXgETsxnjX4Wnyqzn7oMVJ7UMaeqTP1Dqf9jKZJThDClegmTTxAicwK +dE568+KyYhetVRoAe72PribIJJ+EioeurZrhJJ8cQtyRO6IJgn2iUVEegjAdKKbI +ymA6AnECgYEA+jdIqE0DYBByJYOJIlXTJs+5lYiW2onOzmRc0rUlY9sodVhutoTW +VzVVD2Prmg2tlsEL/3d7/xZtQl9V6nlUPzK7Tj0s+u6bTdnDpz3j2MGhMKWFXpUn +TyZ8MIQz1fvPP6LBE6iqC8qFCuB2dpJ7n47gTJNI57yH05iXSDdGUh8CgYEA4VQK +vaZy+/ej4gJ21PoeVoJMeGoGJUfkfOMVWASSxPH9lryDCCCBPfE5EB6o+hUGI/Gp +rUByifnEXmHUSHYBLhDRaLI9x9/AlFpi54+OFCveZpPeMV1awTJPrW6VeqT9wZib +Lzbqie7Elshks95E7cFxZ+RWoZOi/SbhYyRSSFUCgYAX1OAkt4EUyzwz+n07OfVs +guhoJ6RGmE2MNt7oarxu8FbAJnYVCD3p/HhniNrNx3O7IhPkdxrmRtqNMctbE8dE +Za6VWxpHpCZCmfUanrhu0rJpkbpMMeSWk1HMxSqyvNMWeoftOWlIyjc1u/9Md9My +dUdDw9tzxu8g5i2ygSE/fQKBgA6nToOC3ZtxQWEjU+MJ2Qs7Mgnqqzelc0CD7BFr +SrgwHJO+8q6GnqEOnO1lcQvCbkHMJ4Ky3EAI1DJnHk0QD4eVZGjwnn/vFzEOp7vz +ZAP/zljRaPPA5HQH95KJzILLVA1RBVaOtbX+px4/Lf1ciRMFL4DYIqIjXcgkzSeL +ZyZ5AoGBAOlBzur3UJFn+ZMtbE3F4/zO39e8ns/OwzgfkgxjELmkbNpb8qvmI0JT +MHOHdUNUJmjjZ8BQmynUiuPVISSOMiACo7cPzTWYY5Gh7ijSUQ/tn08tcTBAyo0l +ak3qRYzz2heSi7Qe0RiHSX44rXyL9XYa7u3aexQGuGCjDwxkr2pw +-----END RSA PRIVATE KEY----- + + fake + keypair-ccaba351-1a04-41dd-b80a-0302d460e2f7 + f4:5a:08:66:ef:5a:1b:52:49:1b:82:2c:fc:b3:df:5d + \ No newline at end of file diff --git a/doc/v3/api_samples/os-hide-server-addresses/server-get-resp.json b/doc/v3/api_samples/os-hide-server-addresses/server-get-resp.json new file mode 100644 index 000000000000..fdd83c47afe2 --- /dev/null +++ b/doc/v3/api_samples/os-hide-server-addresses/server-get-resp.json @@ -0,0 +1,48 @@ +{ + "server": { + "access_ip_v4": "", + "access_ip_v6": "", + "addresses": {}, + "created": "2013-09-24T14:39:00Z", + "flavor": { + "id": "1", + "links": [ + { + "href": "http://openstack.example.com/flavors/1", + "rel": "bookmark" + } + ] + }, + "host_id": "d0635823e9162b22b90ff103f0c30f129bacf6ffb72f4d6fde87e738", + "id": "4bdee8c7-507f-40f2-8429-d301edd3791b", + "image": { + "id": "70a599e0-31e7-49b7-b260-868f441e862b", + "links": [ + { + "href": "http://glance.openstack.example.com/images/70a599e0-31e7-49b7-b260-868f441e862b", + "rel": "bookmark" + } + ] + }, + "key_name": null, + "links": [ + { + "href": "http://openstack.example.com/v3/servers/4bdee8c7-507f-40f2-8429-d301edd3791b", + "rel": "self" + }, + { + "href": "http://openstack.example.com/servers/4bdee8c7-507f-40f2-8429-d301edd3791b", + "rel": "bookmark" + } + ], + "metadata": { + "My Server Name": "Apache1" + }, + "name": "new-server-test", + "progress": 0, + "status": "ACTIVE", + "tenant_id": "openstack", + "updated": "2013-09-24T14:39:01Z", + "user_id": "fake" + } +} \ No newline at end of file diff --git a/doc/v3/api_samples/os-hide-server-addresses/server-get-resp.xml b/doc/v3/api_samples/os-hide-server-addresses/server-get-resp.xml new file mode 100644 index 000000000000..485359235109 --- /dev/null +++ b/doc/v3/api_samples/os-hide-server-addresses/server-get-resp.xml @@ -0,0 +1,15 @@ + + + + + + + + + + Apache1 + + + + + \ No newline at end of file diff --git a/doc/v3/api_samples/os-hide-server-addresses/server-post-req.json b/doc/v3/api_samples/os-hide-server-addresses/server-post-req.json new file mode 100644 index 000000000000..d41985a1bc39 --- /dev/null +++ b/doc/v3/api_samples/os-hide-server-addresses/server-post-req.json @@ -0,0 +1,16 @@ +{ + "server" : { + "name" : "new-server-test", + "image_ref" : "http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b", + "flavor_ref" : "http://openstack.example.com/openstack/flavors/1", + "metadata" : { + "My Server Name" : "Apache1" + }, + "personality" : [ + { + "path" : "/etc/banner.txt", + "contents" : "ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBpdCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5kIGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVsc2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4gQnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRoZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlvdSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vyc2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6b25zLiINCg0KLVJpY2hhcmQgQmFjaA==" + } + ] + } +} \ No newline at end of file diff --git a/doc/v3/api_samples/os-hide-server-addresses/server-post-req.xml b/doc/v3/api_samples/os-hide-server-addresses/server-post-req.xml new file mode 100644 index 000000000000..598839cf6a3a --- /dev/null +++ b/doc/v3/api_samples/os-hide-server-addresses/server-post-req.xml @@ -0,0 +1,19 @@ + + + + Apache1 + + + + ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBp + dCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5k + IGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVs + c2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4g + QnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRo + ZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlv + dSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vy + c2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6 + b25zLiINCg0KLVJpY2hhcmQgQmFjaA== + + + \ No newline at end of file diff --git a/doc/v3/api_samples/os-hide-server-addresses/server-post-resp.json b/doc/v3/api_samples/os-hide-server-addresses/server-post-resp.json new file mode 100644 index 000000000000..9f312b3c2b92 --- /dev/null +++ b/doc/v3/api_samples/os-hide-server-addresses/server-post-resp.json @@ -0,0 +1,16 @@ +{ + "server": { + "admin_pass": "5bjyggD6SaSB", + "id": "3d8bedd4-003d-417a-8cd7-a94cb181185d", + "links": [ + { + "href": "http://openstack.example.com/v3/servers/3d8bedd4-003d-417a-8cd7-a94cb181185d", + "rel": "self" + }, + { + "href": "http://openstack.example.com/servers/3d8bedd4-003d-417a-8cd7-a94cb181185d", + "rel": "bookmark" + } + ] + } +} \ No newline at end of file diff --git a/doc/v3/api_samples/os-hide-server-addresses/server-post-resp.xml b/doc/v3/api_samples/os-hide-server-addresses/server-post-resp.xml new file mode 100644 index 000000000000..5602cf1fda6f --- /dev/null +++ b/doc/v3/api_samples/os-hide-server-addresses/server-post-resp.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/doc/v3/api_samples/os-hide-server-addresses/servers-details-resp.json b/doc/v3/api_samples/os-hide-server-addresses/servers-details-resp.json new file mode 100644 index 000000000000..3d1b4baae07a --- /dev/null +++ b/doc/v3/api_samples/os-hide-server-addresses/servers-details-resp.json @@ -0,0 +1,50 @@ +{ + "servers": [ + { + "access_ip_v4": "", + "access_ip_v6": "", + "addresses": {}, + "created": "2013-09-24T14:44:01Z", + "flavor": { + "id": "1", + "links": [ + { + "href": "http://openstack.example.com/flavors/1", + "rel": "bookmark" + } + ] + }, + "host_id": "a4fa72ae8741e5e18fb062c15657b8f689b8da2837b734c61fc9eedd", + "id": "a747eac1-e3ed-446c-935a-c2a2853f919c", + "image": { + "id": "70a599e0-31e7-49b7-b260-868f441e862b", + "links": [ + { + "href": "http://glance.openstack.example.com/images/70a599e0-31e7-49b7-b260-868f441e862b", + "rel": "bookmark" + } + ] + }, + "key_name": null, + "links": [ + { + "href": "http://openstack.example.com/v3/servers/a747eac1-e3ed-446c-935a-c2a2853f919c", + "rel": "self" + }, + { + "href": "http://openstack.example.com/servers/a747eac1-e3ed-446c-935a-c2a2853f919c", + "rel": "bookmark" + } + ], + "metadata": { + "My Server Name": "Apache1" + }, + "name": "new-server-test", + "progress": 0, + "status": "ACTIVE", + "tenant_id": "openstack", + "updated": "2013-09-24T14:44:01Z", + "user_id": "fake" + } + ] +} \ No newline at end of file diff --git a/doc/v3/api_samples/os-hide-server-addresses/servers-details-resp.xml b/doc/v3/api_samples/os-hide-server-addresses/servers-details-resp.xml new file mode 100644 index 000000000000..76fab82f5dfd --- /dev/null +++ b/doc/v3/api_samples/os-hide-server-addresses/servers-details-resp.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + Apache1 + + + + + + \ No newline at end of file diff --git a/doc/v3/api_samples/os-hide-server-addresses/servers-list-resp.json b/doc/v3/api_samples/os-hide-server-addresses/servers-list-resp.json new file mode 100644 index 000000000000..caca8f0fc8ce --- /dev/null +++ b/doc/v3/api_samples/os-hide-server-addresses/servers-list-resp.json @@ -0,0 +1,18 @@ +{ + "servers": [ + { + "id": "b2a7068b-8aed-41a4-aa74-af8feb984bae", + "links": [ + { + "href": "http://openstack.example.com/v3/servers/b2a7068b-8aed-41a4-aa74-af8feb984bae", + "rel": "self" + }, + { + "href": "http://openstack.example.com/servers/b2a7068b-8aed-41a4-aa74-af8feb984bae", + "rel": "bookmark" + } + ], + "name": "new-server-test" + } + ] +} \ No newline at end of file diff --git a/doc/v3/api_samples/os-hide-server-addresses/servers-list-resp.xml b/doc/v3/api_samples/os-hide-server-addresses/servers-list-resp.xml new file mode 100644 index 000000000000..51ddbd8b3af7 --- /dev/null +++ b/doc/v3/api_samples/os-hide-server-addresses/servers-list-resp.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/nova/tests/integrated/v3/api_samples/keypairs/keypairs-get-resp.json.tpl b/nova/tests/integrated/v3/api_samples/keypairs/keypairs-get-resp.json.tpl new file mode 100644 index 000000000000..29ba63c00b03 --- /dev/null +++ b/nova/tests/integrated/v3/api_samples/keypairs/keypairs-get-resp.json.tpl @@ -0,0 +1,11 @@ +{ + "keypairs": [ + { + "keypair": { + "fingerprint": "%(fingerprint)s", + "name": "%(keypair_name)s", + "public_key": "%(public_key)s" + } + } + ] +} diff --git a/nova/tests/integrated/v3/api_samples/keypairs/keypairs-get-resp.xml.tpl b/nova/tests/integrated/v3/api_samples/keypairs/keypairs-get-resp.xml.tpl new file mode 100644 index 000000000000..493bfa31610d --- /dev/null +++ b/nova/tests/integrated/v3/api_samples/keypairs/keypairs-get-resp.xml.tpl @@ -0,0 +1,9 @@ + + + + %(public_key)s + + %(keypair_name)s + %(fingerprint)s + + diff --git a/nova/tests/integrated/v3/api_samples/keypairs/keypairs-import-post-req.json.tpl b/nova/tests/integrated/v3/api_samples/keypairs/keypairs-import-post-req.json.tpl new file mode 100644 index 000000000000..2301fa05b22c --- /dev/null +++ b/nova/tests/integrated/v3/api_samples/keypairs/keypairs-import-post-req.json.tpl @@ -0,0 +1,6 @@ +{ + "keypair": { + "name": "%(keypair_name)s", + "public_key": "%(public_key)s" + } +} diff --git a/nova/tests/integrated/v3/api_samples/keypairs/keypairs-import-post-req.xml.tpl b/nova/tests/integrated/v3/api_samples/keypairs/keypairs-import-post-req.xml.tpl new file mode 100644 index 000000000000..0516de30352d --- /dev/null +++ b/nova/tests/integrated/v3/api_samples/keypairs/keypairs-import-post-req.xml.tpl @@ -0,0 +1,4 @@ + + %(keypair_name)s + %(public_key)s + diff --git a/nova/tests/integrated/v3/api_samples/keypairs/keypairs-import-post-resp.json.tpl b/nova/tests/integrated/v3/api_samples/keypairs/keypairs-import-post-resp.json.tpl new file mode 100644 index 000000000000..ca7192d5dc5d --- /dev/null +++ b/nova/tests/integrated/v3/api_samples/keypairs/keypairs-import-post-resp.json.tpl @@ -0,0 +1,8 @@ +{ + "keypair": { + "fingerprint": "%(fingerprint)s", + "name": "%(keypair_name)s", + "public_key": "%(public_key)s", + "user_id": "fake" + } +} diff --git a/nova/tests/integrated/v3/api_samples/keypairs/keypairs-import-post-resp.xml.tpl b/nova/tests/integrated/v3/api_samples/keypairs/keypairs-import-post-resp.xml.tpl new file mode 100644 index 000000000000..ed2543c10753 --- /dev/null +++ b/nova/tests/integrated/v3/api_samples/keypairs/keypairs-import-post-resp.xml.tpl @@ -0,0 +1,7 @@ + + + %(public_key)s + fake + %(keypair_name)s + %(fingerprint)s + diff --git a/nova/tests/integrated/v3/api_samples/keypairs/keypairs-post-req.json.tpl b/nova/tests/integrated/v3/api_samples/keypairs/keypairs-post-req.json.tpl new file mode 100644 index 000000000000..68e2f03487b7 --- /dev/null +++ b/nova/tests/integrated/v3/api_samples/keypairs/keypairs-post-req.json.tpl @@ -0,0 +1,5 @@ +{ + "keypair": { + "name": "%(keypair_name)s" + } +} diff --git a/nova/tests/integrated/v3/api_samples/keypairs/keypairs-post-req.xml.tpl b/nova/tests/integrated/v3/api_samples/keypairs/keypairs-post-req.xml.tpl new file mode 100644 index 000000000000..e14935d314da --- /dev/null +++ b/nova/tests/integrated/v3/api_samples/keypairs/keypairs-post-req.xml.tpl @@ -0,0 +1,3 @@ + + %(keypair_name)s + diff --git a/nova/tests/integrated/v3/api_samples/keypairs/keypairs-post-resp.json.tpl b/nova/tests/integrated/v3/api_samples/keypairs/keypairs-post-resp.json.tpl new file mode 100644 index 000000000000..aace6f5ccc23 --- /dev/null +++ b/nova/tests/integrated/v3/api_samples/keypairs/keypairs-post-resp.json.tpl @@ -0,0 +1,9 @@ +{ + "keypair": { + "fingerprint": "%(fingerprint)s", + "name": "%(keypair_name)s", + "private_key": "%(private_key)s", + "public_key": "%(public_key)s", + "user_id": "fake" + } +} diff --git a/nova/tests/integrated/v3/api_samples/keypairs/keypairs-post-resp.xml.tpl b/nova/tests/integrated/v3/api_samples/keypairs/keypairs-post-resp.xml.tpl new file mode 100644 index 000000000000..4f4bb3e20eb6 --- /dev/null +++ b/nova/tests/integrated/v3/api_samples/keypairs/keypairs-post-resp.xml.tpl @@ -0,0 +1,10 @@ + + + %(public_key)s + + %(private_key)s + + fake + %(keypair_name)s + %(fingerprint)s + diff --git a/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/server-get-resp.json.tpl b/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/server-get-resp.json.tpl new file mode 100644 index 000000000000..bb38484c6f39 --- /dev/null +++ b/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/server-get-resp.json.tpl @@ -0,0 +1,49 @@ +{ + "server": { + "access_ip_v4": "", + "access_ip_v6": "", + "addresses": { + }, + "created": "%(timestamp)s", + "flavor": { + "id": "1", + "links": [ + { + "href": "%(host)s/flavors/1", + "rel": "bookmark" + } + ] + }, + "host_id": "%(hostid)s", + "id": "%(id)s", + "image": { + "id": "%(uuid)s", + "links": [ + { + "href": "%(glance_host)s/images/%(uuid)s", + "rel": "bookmark" + } + ] + }, + "key_name": null, + "links": [ + { + "href": "%(host)s/v3/servers/%(uuid)s", + "rel": "self" + }, + { + "href": "%(host)s/servers/%(uuid)s", + "rel": "bookmark" + } + ], + "metadata": { + "My Server Name": "Apache1" + }, + "name": "new-server-test", + "progress": 0, + "status": "ACTIVE", + "tenant_id": "openstack", + "updated": "%(timestamp)s", + "user_id": "fake" + } +} diff --git a/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/server-get-resp.xml.tpl b/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/server-get-resp.xml.tpl new file mode 100644 index 000000000000..81314ef57cee --- /dev/null +++ b/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/server-get-resp.xml.tpl @@ -0,0 +1,15 @@ + + + + + + + + + + Apache1 + + + + + diff --git a/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/server-post-req.json.tpl b/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/server-post-req.json.tpl new file mode 100644 index 000000000000..1dcb63e3b2ae --- /dev/null +++ b/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/server-post-req.json.tpl @@ -0,0 +1,16 @@ +{ + "server" : { + "name" : "new-server-test", + "image_ref" : "%(host)s/openstack/images/%(image_id)s", + "flavor_ref" : "%(host)s/openstack/flavors/1", + "metadata" : { + "My Server Name" : "Apache1" + }, + "personality" : [ + { + "path" : "/etc/banner.txt", + "contents" : "ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBpdCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5kIGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVsc2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4gQnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRoZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlvdSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vyc2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6b25zLiINCg0KLVJpY2hhcmQgQmFjaA==" + } + ] + } +} diff --git a/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/server-post-req.xml.tpl b/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/server-post-req.xml.tpl new file mode 100644 index 000000000000..ddb5ea78c4b5 --- /dev/null +++ b/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/server-post-req.xml.tpl @@ -0,0 +1,19 @@ + + + + Apache1 + + + + ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBp + dCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5k + IGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVs + c2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4g + QnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRo + ZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlv + dSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vy + c2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6 + b25zLiINCg0KLVJpY2hhcmQgQmFjaA== + + + diff --git a/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/server-post-resp.json.tpl b/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/server-post-resp.json.tpl new file mode 100644 index 000000000000..6c3100fbec86 --- /dev/null +++ b/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/server-post-resp.json.tpl @@ -0,0 +1,16 @@ +{ + "server": { + "admin_pass": "%(password)s", + "id": "%(id)s", + "links": [ + { + "href": "http://openstack.example.com/v3/servers/%(uuid)s", + "rel": "self" + }, + { + "href": "http://openstack.example.com/servers/%(uuid)s", + "rel": "bookmark" + } + ] + } +} diff --git a/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/server-post-resp.xml.tpl b/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/server-post-resp.xml.tpl new file mode 100644 index 000000000000..3470373e171f --- /dev/null +++ b/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/server-post-resp.xml.tpl @@ -0,0 +1,6 @@ + + + + + + diff --git a/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/servers-details-resp.json.tpl b/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/servers-details-resp.json.tpl new file mode 100644 index 000000000000..39e56583c7ac --- /dev/null +++ b/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/servers-details-resp.json.tpl @@ -0,0 +1,50 @@ +{ + "servers": [ + { + "access_ip_v4": "", + "access_ip_v6": "", + "addresses": {}, + "created": "%(timestamp)s", + "flavor": { + "id": "1", + "links": [ + { + "href": "%(host)s/flavors/1", + "rel": "bookmark" + } + ] + }, + "host_id": "%(hostid)s", + "id": "%(id)s", + "image": { + "id": "%(uuid)s", + "links": [ + { + "href": "%(glance_host)s/images/%(uuid)s", + "rel": "bookmark" + } + ] + }, + "key_name": null, + "links": [ + { + "href": "%(host)s/v3/servers/%(uuid)s", + "rel": "self" + }, + { + "href": "%(host)s/servers/%(id)s", + "rel": "bookmark" + } + ], + "metadata": { + "My Server Name": "Apache1" + }, + "name": "new-server-test", + "progress": 0, + "status": "ACTIVE", + "tenant_id": "openstack", + "updated": "%(timestamp)s", + "user_id": "fake" + } + ] +} diff --git a/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/servers-details-resp.xml.tpl b/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/servers-details-resp.xml.tpl new file mode 100644 index 000000000000..7b184c6df0e8 --- /dev/null +++ b/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/servers-details-resp.xml.tpl @@ -0,0 +1,17 @@ + + + + + + + + + + + Apache1 + + + + + + diff --git a/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/servers-list-resp.json.tpl b/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/servers-list-resp.json.tpl new file mode 100644 index 000000000000..8797266b68f9 --- /dev/null +++ b/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/servers-list-resp.json.tpl @@ -0,0 +1,18 @@ +{ + "servers": [ + { + "id": "%(id)s", + "links": [ + { + "href": "%(host)s/v3/servers/%(id)s", + "rel": "self" + }, + { + "href": "%(host)s/servers/%(id)s", + "rel": "bookmark" + } + ], + "name": "new-server-test" + } + ] +} diff --git a/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/servers-list-resp.xml.tpl b/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/servers-list-resp.xml.tpl new file mode 100644 index 000000000000..421eb28d5321 --- /dev/null +++ b/nova/tests/integrated/v3/api_samples/os-hide-server-addresses/servers-list-resp.xml.tpl @@ -0,0 +1,7 @@ + + + + + + + diff --git a/nova/tests/integrated/v3/test_hide_server_addresses.py b/nova/tests/integrated/v3/test_hide_server_addresses.py new file mode 100644 index 000000000000..5dc0710cb45c --- /dev/null +++ b/nova/tests/integrated/v3/test_hide_server_addresses.py @@ -0,0 +1,44 @@ +# 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 oslo.config import cfg + +from nova.compute import vm_states +from nova.tests.integrated.v3 import test_servers + +CONF = cfg.CONF +CONF.import_opt('osapi_hide_server_address_states', + 'nova.api.openstack.compute.plugins.v3.hide_server_addresses') + + +class ServersSampleHideAddressesJsonTest(test_servers.ServersSampleJsonTest): + extension_name = 'os-hide-server-addresses' + # Override the sample dirname because + # test_servers.ServersSampleJsonTest does and so it won't default + # to the extension name + sample_dir = extension_name + + def setUp(self): + # We override osapi_hide_server_address_states in order + # to have an example of in the json/xml samples of the + # addresses being hidden + CONF.set_override("osapi_hide_server_address_states", + [vm_states.ACTIVE]) + super(ServersSampleHideAddressesJsonTest, self).setUp() + + +class ServersSampleHideAddressesXMLTest(ServersSampleHideAddressesJsonTest): + ctype = 'xml' diff --git a/nova/tests/integrated/v3/test_keypairs.py b/nova/tests/integrated/v3/test_keypairs.py new file mode 100644 index 000000000000..f1d4da4db0d5 --- /dev/null +++ b/nova/tests/integrated/v3/test_keypairs.py @@ -0,0 +1,69 @@ +# 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. + +import uuid + +from nova.tests.integrated.v3 import api_sample_base + + +class KeyPairsSampleJsonTest(api_sample_base.ApiSampleTestBaseV3): + sample_dir = "keypairs" + + def generalize_subs(self, subs, vanilla_regexes): + subs['keypair_name'] = 'keypair-[0-9a-f-]+' + return subs + + def test_keypairs_post(self, public_key=None): + """Get api sample of key pairs post request.""" + key_name = 'keypair-' + str(uuid.uuid4()) + response = self._do_post('keypairs', 'keypairs-post-req', + {'keypair_name': key_name}) + subs = self._get_regexes() + subs['keypair_name'] = '(%s)' % key_name + self._verify_response('keypairs-post-resp', subs, response, 201) + # NOTE(maurosr): return the key_name is necessary cause the + # verification returns the label of the last compared information in + # the response, not necessarily the key name. + return key_name + + def test_keypairs_import_key_post(self): + # Get api sample of key pairs post to import user's key. + key_name = 'keypair-' + str(uuid.uuid4()) + subs = { + 'keypair_name': key_name, + 'public_key': "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDx8nkQv/zgGg" + "B4rMYmIf+6A4l6Rr+o/6lHBQdW5aYd44bd8JttDCE/F/pNRr0l" + "RE+PiqSPO8nDPHw0010JeMH9gYgnnFlyY3/OcJ02RhIPyyxYpv" + "9FhY+2YiUkpwFOcLImyrxEsYXpD/0d3ac30bNH6Sw9JD9UZHYc" + "pSxsIbECHw== Generated by Nova" + } + response = self._do_post('keypairs', 'keypairs-import-post-req', + subs) + subs = self._get_regexes() + subs['keypair_name'] = '(%s)' % key_name + self._verify_response('keypairs-import-post-resp', subs, response, 201) + + def test_keypairs_get(self): + # Get api sample of key pairs get request. + key_name = self.test_keypairs_post() + response = self._do_get('keypairs') + subs = self._get_regexes() + subs['keypair_name'] = '(%s)' % key_name + self._verify_response('keypairs-get-resp', subs, response, 200) + + +class KeyPairsSampleXmlTest(KeyPairsSampleJsonTest): + ctype = 'xml'