Merge "Add 'openstack server resize (confirm|revert)' commands"
This commit is contained in:
commit
a15e4741fa
@ -2226,11 +2226,66 @@ the new server and restart the old one.""")
|
|||||||
self.app.stdout.write(_('Error resizing server\n'))
|
self.app.stdout.write(_('Error resizing server\n'))
|
||||||
raise SystemExit
|
raise SystemExit
|
||||||
elif parsed_args.confirm:
|
elif parsed_args.confirm:
|
||||||
|
self.log.warning(_(
|
||||||
|
"The --confirm option has been deprecated. Please use the "
|
||||||
|
"'openstack server resize confirm' command instead."))
|
||||||
compute_client.servers.confirm_resize(server)
|
compute_client.servers.confirm_resize(server)
|
||||||
elif parsed_args.revert:
|
elif parsed_args.revert:
|
||||||
|
self.log.warning(_(
|
||||||
|
"The --revert option has been deprecated. Please use the "
|
||||||
|
"'openstack server resize revert' command instead."))
|
||||||
compute_client.servers.revert_resize(server)
|
compute_client.servers.revert_resize(server)
|
||||||
|
|
||||||
|
|
||||||
|
class ResizeConfirm(command.Command):
|
||||||
|
_description = _("""Confirm server resize.
|
||||||
|
|
||||||
|
Confirm (verify) success of resize operation and release the old server.""")
|
||||||
|
|
||||||
|
def get_parser(self, prog_name):
|
||||||
|
parser = super(ResizeConfirm, self).get_parser(prog_name)
|
||||||
|
parser.add_argument(
|
||||||
|
'server',
|
||||||
|
metavar='<server>',
|
||||||
|
help=_('Server (name or ID)'),
|
||||||
|
)
|
||||||
|
return parser
|
||||||
|
|
||||||
|
def take_action(self, parsed_args):
|
||||||
|
|
||||||
|
compute_client = self.app.client_manager.compute
|
||||||
|
server = utils.find_resource(
|
||||||
|
compute_client.servers,
|
||||||
|
parsed_args.server,
|
||||||
|
)
|
||||||
|
server.confirm_resize()
|
||||||
|
|
||||||
|
|
||||||
|
class ResizeRevert(command.Command):
|
||||||
|
_description = _("""Revert server resize.
|
||||||
|
|
||||||
|
Revert the resize operation. Release the new server and restart the old
|
||||||
|
one.""")
|
||||||
|
|
||||||
|
def get_parser(self, prog_name):
|
||||||
|
parser = super(ResizeRevert, self).get_parser(prog_name)
|
||||||
|
parser.add_argument(
|
||||||
|
'server',
|
||||||
|
metavar='<server>',
|
||||||
|
help=_('Server (name or ID)'),
|
||||||
|
)
|
||||||
|
return parser
|
||||||
|
|
||||||
|
def take_action(self, parsed_args):
|
||||||
|
|
||||||
|
compute_client = self.app.client_manager.compute
|
||||||
|
server = utils.find_resource(
|
||||||
|
compute_client.servers,
|
||||||
|
parsed_args.server,
|
||||||
|
)
|
||||||
|
server.revert_resize()
|
||||||
|
|
||||||
|
|
||||||
class RestoreServer(command.Command):
|
class RestoreServer(command.Command):
|
||||||
_description = _("Restore server(s)")
|
_description = _("Restore server(s)")
|
||||||
|
|
||||||
|
@ -4054,13 +4054,18 @@ class TestServerResize(TestServer):
|
|||||||
]
|
]
|
||||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
|
||||||
result = self.cmd.take_action(parsed_args)
|
with mock.patch.object(self.cmd.log, 'warning') as mock_warning:
|
||||||
|
result = self.cmd.take_action(parsed_args)
|
||||||
|
|
||||||
self.servers_mock.get.assert_called_with(self.server.id)
|
self.servers_mock.get.assert_called_with(self.server.id)
|
||||||
self.assertNotCalled(self.servers_mock.resize)
|
self.assertNotCalled(self.servers_mock.resize)
|
||||||
self.servers_mock.confirm_resize.assert_called_with(self.server)
|
self.servers_mock.confirm_resize.assert_called_with(self.server)
|
||||||
self.assertNotCalled(self.servers_mock.revert_resize)
|
self.assertNotCalled(self.servers_mock.revert_resize)
|
||||||
self.assertIsNone(result)
|
self.assertIsNone(result)
|
||||||
|
# A warning should have been logged for using --confirm.
|
||||||
|
mock_warning.assert_called_once()
|
||||||
|
self.assertIn('The --confirm option has been deprecated.',
|
||||||
|
six.text_type(mock_warning.call_args[0][0]))
|
||||||
|
|
||||||
def test_server_resize_revert(self):
|
def test_server_resize_revert(self):
|
||||||
arglist = [
|
arglist = [
|
||||||
@ -4074,13 +4079,18 @@ class TestServerResize(TestServer):
|
|||||||
]
|
]
|
||||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
|
||||||
result = self.cmd.take_action(parsed_args)
|
with mock.patch.object(self.cmd.log, 'warning') as mock_warning:
|
||||||
|
result = self.cmd.take_action(parsed_args)
|
||||||
|
|
||||||
self.servers_mock.get.assert_called_with(self.server.id)
|
self.servers_mock.get.assert_called_with(self.server.id)
|
||||||
self.assertNotCalled(self.servers_mock.resize)
|
self.assertNotCalled(self.servers_mock.resize)
|
||||||
self.assertNotCalled(self.servers_mock.confirm_resize)
|
self.assertNotCalled(self.servers_mock.confirm_resize)
|
||||||
self.servers_mock.revert_resize.assert_called_with(self.server)
|
self.servers_mock.revert_resize.assert_called_with(self.server)
|
||||||
self.assertIsNone(result)
|
self.assertIsNone(result)
|
||||||
|
# A warning should have been logged for using --revert.
|
||||||
|
mock_warning.assert_called_once()
|
||||||
|
self.assertIn('The --revert option has been deprecated.',
|
||||||
|
six.text_type(mock_warning.call_args[0][0]))
|
||||||
|
|
||||||
@mock.patch.object(common_utils, 'wait_for_status', return_value=True)
|
@mock.patch.object(common_utils, 'wait_for_status', return_value=True)
|
||||||
def test_server_resize_with_wait_ok(self, mock_wait_for_status):
|
def test_server_resize_with_wait_ok(self, mock_wait_for_status):
|
||||||
@ -4161,6 +4171,74 @@ class TestServerResize(TestServer):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class TestServerResizeConfirm(TestServer):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
super(TestServerResizeConfirm, self).setUp()
|
||||||
|
|
||||||
|
methods = {
|
||||||
|
'confirm_resize': None,
|
||||||
|
}
|
||||||
|
self.server = compute_fakes.FakeServer.create_one_server(
|
||||||
|
methods=methods)
|
||||||
|
|
||||||
|
# This is the return value for utils.find_resource()
|
||||||
|
self.servers_mock.get.return_value = self.server
|
||||||
|
|
||||||
|
self.servers_mock.confirm_resize.return_value = None
|
||||||
|
|
||||||
|
# Get the command object to test
|
||||||
|
self.cmd = server.ResizeConfirm(self.app, None)
|
||||||
|
|
||||||
|
def test_resize_confirm(self):
|
||||||
|
arglist = [
|
||||||
|
self.server.id,
|
||||||
|
]
|
||||||
|
verifylist = [
|
||||||
|
('server', self.server.id),
|
||||||
|
]
|
||||||
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
|
||||||
|
self.cmd.take_action(parsed_args)
|
||||||
|
|
||||||
|
self.servers_mock.get.assert_called_with(self.server.id)
|
||||||
|
self.server.confirm_resize.assert_called_with()
|
||||||
|
|
||||||
|
|
||||||
|
class TestServerResizeRevert(TestServer):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
super(TestServerResizeRevert, self).setUp()
|
||||||
|
|
||||||
|
methods = {
|
||||||
|
'revert_resize': None,
|
||||||
|
}
|
||||||
|
self.server = compute_fakes.FakeServer.create_one_server(
|
||||||
|
methods=methods)
|
||||||
|
|
||||||
|
# This is the return value for utils.find_resource()
|
||||||
|
self.servers_mock.get.return_value = self.server
|
||||||
|
|
||||||
|
self.servers_mock.revert_resize.return_value = None
|
||||||
|
|
||||||
|
# Get the command object to test
|
||||||
|
self.cmd = server.ResizeRevert(self.app, None)
|
||||||
|
|
||||||
|
def test_resize_revert(self):
|
||||||
|
arglist = [
|
||||||
|
self.server.id,
|
||||||
|
]
|
||||||
|
verifylist = [
|
||||||
|
('server', self.server.id),
|
||||||
|
]
|
||||||
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
|
||||||
|
self.cmd.take_action(parsed_args)
|
||||||
|
|
||||||
|
self.servers_mock.get.assert_called_with(self.server.id)
|
||||||
|
self.server.revert_resize.assert_called_with()
|
||||||
|
|
||||||
|
|
||||||
class TestServerRestore(TestServer):
|
class TestServerRestore(TestServer):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
|
@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
Add ``server resize confirm`` and ``server resize revert`` commands.
|
||||||
|
These replace the now deprecated ``--confirm`` and ``--revert``
|
||||||
|
options to the ``server resize`` commands, respectively.
|
||||||
|
deprecations:
|
||||||
|
- |
|
||||||
|
Deprecate the ``--confirm`` and ``--revert`` options for the
|
||||||
|
``server resize`` command. They have been replaced with the
|
||||||
|
``server resize confirm`` and `server resize revert`` commands,
|
||||||
|
respectively.
|
@ -119,6 +119,8 @@ openstack.compute.v2 =
|
|||||||
server_remove_volume = openstackclient.compute.v2.server:RemoveServerVolume
|
server_remove_volume = openstackclient.compute.v2.server:RemoveServerVolume
|
||||||
server_rescue = openstackclient.compute.v2.server:RescueServer
|
server_rescue = openstackclient.compute.v2.server:RescueServer
|
||||||
server_resize = openstackclient.compute.v2.server:ResizeServer
|
server_resize = openstackclient.compute.v2.server:ResizeServer
|
||||||
|
server_resize_confirm = openstackclient.compute.v2.server:ResizeConfirm
|
||||||
|
server_resize_revert = openstackclient.compute.v2.server:ResizeRevert
|
||||||
server_restore = openstackclient.compute.v2.server:RestoreServer
|
server_restore = openstackclient.compute.v2.server:RestoreServer
|
||||||
server_resume = openstackclient.compute.v2.server:ResumeServer
|
server_resume = openstackclient.compute.v2.server:ResumeServer
|
||||||
server_set = openstackclient.compute.v2.server:SetServer
|
server_set = openstackclient.compute.v2.server:SetServer
|
||||||
|
Loading…
Reference in New Issue
Block a user