diff --git a/doc/api_samples/os-shelve/os-shelve-offload.json b/doc/api_samples/os-shelve/os-shelve-offload.json
new file mode 100644
index 0000000000..39c1e07982
--- /dev/null
+++ b/doc/api_samples/os-shelve/os-shelve-offload.json
@@ -0,0 +1,3 @@
+{
+ "shelveOffload": null
+}
\ No newline at end of file
diff --git a/doc/api_samples/os-shelve/os-shelve-offload.xml b/doc/api_samples/os-shelve/os-shelve-offload.xml
new file mode 100644
index 0000000000..0d6e379123
--- /dev/null
+++ b/doc/api_samples/os-shelve/os-shelve-offload.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/doc/api_samples/os-shelve/os-unshelve.json b/doc/api_samples/os-shelve/os-unshelve.json
new file mode 100644
index 0000000000..fd05c2a2fe
--- /dev/null
+++ b/doc/api_samples/os-shelve/os-unshelve.json
@@ -0,0 +1,3 @@
+{
+ "unshelve": null
+}
\ No newline at end of file
diff --git a/doc/api_samples/os-shelve/os-unshelve.xml b/doc/api_samples/os-shelve/os-unshelve.xml
new file mode 100644
index 0000000000..e56b78a83c
--- /dev/null
+++ b/doc/api_samples/os-shelve/os-unshelve.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/doc/v3/api_samples/os-shelve/os-shelve-offload.json b/doc/v3/api_samples/os-shelve/os-shelve-offload.json
new file mode 100644
index 0000000000..6d6aeeea44
--- /dev/null
+++ b/doc/v3/api_samples/os-shelve/os-shelve-offload.json
@@ -0,0 +1,3 @@
+{
+ "shelve_offload": null
+}
diff --git a/doc/v3/api_samples/os-shelve/os-unshelve.json b/doc/v3/api_samples/os-shelve/os-unshelve.json
new file mode 100644
index 0000000000..d78efa84e1
--- /dev/null
+++ b/doc/v3/api_samples/os-shelve/os-unshelve.json
@@ -0,0 +1,3 @@
+{
+ "unshelve": null
+}
diff --git a/nova/tests/integrated/api_samples/os-shelve/os-shelve-offload.json.tpl b/nova/tests/integrated/api_samples/os-shelve/os-shelve-offload.json.tpl
new file mode 100644
index 0000000000..5a19f85cff
--- /dev/null
+++ b/nova/tests/integrated/api_samples/os-shelve/os-shelve-offload.json.tpl
@@ -0,0 +1,3 @@
+{
+ "%(action)s": null
+}
diff --git a/nova/tests/integrated/api_samples/os-shelve/os-shelve-offload.xml.tpl b/nova/tests/integrated/api_samples/os-shelve/os-shelve-offload.xml.tpl
new file mode 100644
index 0000000000..41d18bdac0
--- /dev/null
+++ b/nova/tests/integrated/api_samples/os-shelve/os-shelve-offload.xml.tpl
@@ -0,0 +1,2 @@
+
+ <%(action)s/>
diff --git a/nova/tests/integrated/api_samples/os-shelve/os-unshelve.json.tpl b/nova/tests/integrated/api_samples/os-shelve/os-unshelve.json.tpl
new file mode 100644
index 0000000000..5a19f85cff
--- /dev/null
+++ b/nova/tests/integrated/api_samples/os-shelve/os-unshelve.json.tpl
@@ -0,0 +1,3 @@
+{
+ "%(action)s": null
+}
diff --git a/nova/tests/integrated/api_samples/os-shelve/os-unshelve.xml.tpl b/nova/tests/integrated/api_samples/os-shelve/os-unshelve.xml.tpl
new file mode 100644
index 0000000000..41d18bdac0
--- /dev/null
+++ b/nova/tests/integrated/api_samples/os-shelve/os-unshelve.xml.tpl
@@ -0,0 +1,2 @@
+
+ <%(action)s/>
diff --git a/nova/tests/integrated/test_api_samples.py b/nova/tests/integrated/test_api_samples.py
index 1195ffaf09..d9e1a44a03 100644
--- a/nova/tests/integrated/test_api_samples.py
+++ b/nova/tests/integrated/test_api_samples.py
@@ -1182,26 +1182,25 @@ class ShelveJsonTest(ServersSampleBase):
# Don't offload instance, so we can test the offload call.
CONF.set_override('shelved_offload_time', -1)
- def _test_server_action(self, uuid, action):
+ def _test_server_action(self, uuid, template, action):
response = self._do_post('servers/%s/action' % uuid,
- 'os-shelve',
- {'action': action})
+ template, {'action': action})
self.assertEqual(response.status, 202)
self.assertEqual(response.read(), "")
def test_shelve(self):
uuid = self._post_server()
- self._test_server_action(uuid, 'shelve')
+ self._test_server_action(uuid, 'os-shelve', 'shelve')
def test_shelve_offload(self):
uuid = self._post_server()
- self._test_server_action(uuid, 'shelve')
- self._test_server_action(uuid, 'shelveOffload')
+ self._test_server_action(uuid, 'os-shelve', 'shelve')
+ self._test_server_action(uuid, 'os-shelve-offload', 'shelveOffload')
def test_unshelve(self):
uuid = self._post_server()
- self._test_server_action(uuid, 'shelve')
- self._test_server_action(uuid, 'unshelve')
+ self._test_server_action(uuid, 'os-shelve', 'shelve')
+ self._test_server_action(uuid, 'os-unshelve', 'unshelve')
class ShelveXmlTest(ShelveJsonTest):
diff --git a/nova/tests/integrated/v3/api_samples/os-shelve/os-shelve-offload.json.tpl b/nova/tests/integrated/v3/api_samples/os-shelve/os-shelve-offload.json.tpl
new file mode 100644
index 0000000000..5a19f85cff
--- /dev/null
+++ b/nova/tests/integrated/v3/api_samples/os-shelve/os-shelve-offload.json.tpl
@@ -0,0 +1,3 @@
+{
+ "%(action)s": null
+}
diff --git a/nova/tests/integrated/v3/api_samples/os-shelve/os-unshelve.json.tpl b/nova/tests/integrated/v3/api_samples/os-shelve/os-unshelve.json.tpl
new file mode 100644
index 0000000000..5a19f85cff
--- /dev/null
+++ b/nova/tests/integrated/v3/api_samples/os-shelve/os-unshelve.json.tpl
@@ -0,0 +1,3 @@
+{
+ "%(action)s": null
+}
diff --git a/nova/tests/integrated/v3/test_shelve.py b/nova/tests/integrated/v3/test_shelve.py
index 78e1a70f3c..0ac0e6c81b 100644
--- a/nova/tests/integrated/v3/test_shelve.py
+++ b/nova/tests/integrated/v3/test_shelve.py
@@ -29,23 +29,22 @@ class ShelveJsonTest(test_servers.ServersSampleBase):
# Don't offload instance, so we can test the offload call.
CONF.set_override('shelved_offload_time', -1)
- def _test_server_action(self, uuid, action):
+ def _test_server_action(self, uuid, template, action):
response = self._do_post('servers/%s/action' % uuid,
- 'os-shelve',
- {'action': action})
+ template, {'action': action})
self.assertEqual(response.status, 202)
self.assertEqual(response.read(), "")
def test_shelve(self):
uuid = self._post_server()
- self._test_server_action(uuid, 'shelve')
+ self._test_server_action(uuid, 'os-shelve', 'shelve')
def test_shelve_offload(self):
uuid = self._post_server()
- self._test_server_action(uuid, 'shelve')
- self._test_server_action(uuid, 'shelve_offload')
+ self._test_server_action(uuid, 'os-shelve', 'shelve')
+ self._test_server_action(uuid, 'os-shelve-offload', 'shelve_offload')
def test_unshelve(self):
uuid = self._post_server()
- self._test_server_action(uuid, 'shelve')
- self._test_server_action(uuid, 'unshelve')
+ self._test_server_action(uuid, 'os-shelve', 'shelve')
+ self._test_server_action(uuid, 'os-unshelve', 'unshelve')