compute: Add Server.restore, restore_server proxy method
Change-Id: I3c7222255f03797c8ae599090b482f317cb3c87c Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
This commit is contained in:
parent
79d1743d2a
commit
1921a195c6
@ -39,9 +39,9 @@ Starting, Stopping, etc.
|
||||
.. autoclass:: openstack.compute.v2._proxy.Proxy
|
||||
:noindex:
|
||||
:members: start_server, stop_server, suspend_server, resume_server,
|
||||
reboot_server, shelve_server, unshelve_server, lock_server,
|
||||
unlock_server, pause_server, unpause_server, rescue_server,
|
||||
unrescue_server, evacuate_server, migrate_server,
|
||||
reboot_server, restore_server, shelve_server, unshelve_server,
|
||||
lock_server, unlock_server, pause_server, unpause_server,
|
||||
rescue_server, unrescue_server, evacuate_server, migrate_server,
|
||||
get_server_console_output, live_migrate_server
|
||||
|
||||
Modifying a Server
|
||||
|
@ -1099,6 +1099,16 @@ class Proxy(proxy.Proxy):
|
||||
server = self._get_resource(_server.Server, server)
|
||||
server.stop(self)
|
||||
|
||||
def restore_server(self, server):
|
||||
"""Restore a soft-deleted server.
|
||||
|
||||
:param server: Either the ID of a server or a
|
||||
:class:`~openstack.compute.v2.server.Server` instance.
|
||||
:returns: None
|
||||
"""
|
||||
server = self._get_resource(_server.Server, server)
|
||||
server.restore(self)
|
||||
|
||||
def shelve_server(self, server):
|
||||
"""Shelves a server.
|
||||
|
||||
@ -1115,7 +1125,7 @@ class Proxy(proxy.Proxy):
|
||||
server.shelve(self)
|
||||
|
||||
def unshelve_server(self, server):
|
||||
"""Unselves or restores a shelved server.
|
||||
"""Unshelves or restores a shelved server.
|
||||
|
||||
Policy defaults enable only users with administrative role or the
|
||||
owner of the server to perform this operation. Cloud provides could
|
||||
|
@ -487,6 +487,10 @@ class Server(resource.Resource, metadata.MetadataMixin, tag.TagMixin):
|
||||
body = {"os-stop": None}
|
||||
self._action(session, body)
|
||||
|
||||
def restore(self, session):
|
||||
body = {"restore": None}
|
||||
self._action(session, body)
|
||||
|
||||
def shelve(self, session):
|
||||
body = {"shelve": None}
|
||||
self._action(session, body)
|
||||
|
@ -1096,6 +1096,13 @@ class TestCompute(TestComputeProxy):
|
||||
method_args=["value"],
|
||||
expected_args=[self.proxy])
|
||||
|
||||
def test_server_restore(self):
|
||||
self._verify(
|
||||
"openstack.compute.v2.server.Server.restore",
|
||||
self.proxy.restore_server,
|
||||
method_args=["value"],
|
||||
expected_args=[self.proxy])
|
||||
|
||||
def test_server_shelve(self):
|
||||
self._verify(
|
||||
"openstack.compute.v2.server.Server.shelve",
|
||||
|
@ -835,6 +835,20 @@ class TestServer(base.TestCase):
|
||||
microversion=self.sess.default_microversion,
|
||||
)
|
||||
|
||||
def test_restore(self):
|
||||
sot = server.Server(**EXAMPLE)
|
||||
|
||||
res = sot.restore(self.sess)
|
||||
|
||||
self.assertIsNone(res)
|
||||
url = 'servers/IDENTIFIER/action'
|
||||
body = {'restore': None}
|
||||
headers = {'Accept': ''}
|
||||
self.sess.post.assert_called_with(
|
||||
url, json=body, headers=headers,
|
||||
microversion=self.sess.default_microversion,
|
||||
)
|
||||
|
||||
def test_shelve(self):
|
||||
sot = server.Server(**EXAMPLE)
|
||||
|
||||
|
@ -0,0 +1,6 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
The ``openstack.compute.v2.server.Server`` object now provides a
|
||||
``restore`` method to restore it from a soft-deleted state, while the
|
||||
compute proxy method provides an equivalent ``restore_server`` method.
|
Loading…
x
Reference in New Issue
Block a user