summaryrefslogtreecommitdiff
path: root/openstackclient/tests
diff options
context:
space:
mode:
authorStephen Finucane <sfinucan@redhat.com>2021-01-21 11:45:38 +0000
committerStephen Finucane <sfinucan@redhat.com>2021-01-22 13:00:46 +0000
commit8868c77a201703edaded5d06aa1734265431f786 (patch)
tree698fbf9764913ed07f9113baad2e2650f4df6be5 /openstackclient/tests
parent2bdf34dcc3f8957ff78709467197b5fcb44e07c3 (diff)
downloadpython-openstackclient-8868c77a201703edaded5d06aa1734265431f786.tar.gz
compute: Stop silently ignore --(no-)disk-overcommit
These options are not supported from Nova API microversion 2.25 and above. This can be a source of confusion. Start warning, with an eye on erroring out in the future. Change-Id: I53f27eb3e3c1a84d0d77a1672c008d0e8bb8536f Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Diffstat (limited to 'openstackclient/tests')
-rw-r--r--openstackclient/tests/unit/compute/v2/test_server.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/openstackclient/tests/unit/compute/v2/test_server.py b/openstackclient/tests/unit/compute/v2/test_server.py
index 5de6d006..9afc4ceb 100644
--- a/openstackclient/tests/unit/compute/v2/test_server.py
+++ b/openstackclient/tests/unit/compute/v2/test_server.py
@@ -4832,6 +4832,40 @@ class TestServerMigrate(TestServer):
self.assertNotCalled(self.servers_mock.migrate)
self.assertIsNone(result)
+ def test_server_live_migrate_with_disk_overcommit_post_v224(self):
+ arglist = [
+ '--live-migration',
+ '--disk-overcommit',
+ self.server.id,
+ ]
+ verifylist = [
+ ('live', None),
+ ('live_migration', True),
+ ('block_migration', None),
+ ('disk_overcommit', True),
+ ('wait', False),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ self.app.client_manager.compute.api_version = \
+ api_versions.APIVersion('2.25')
+
+ 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)
+ # There should be no 'disk_over_commit' value present
+ self.server.live_migrate.assert_called_with(
+ block_migration='auto',
+ host=None)
+ self.assertNotCalled(self.servers_mock.migrate)
+ self.assertIsNone(result)
+ # A warning should have been logged for using --disk-overcommit.
+ mock_warning.assert_called_once()
+ self.assertIn(
+ 'The --disk-overcommit and --no-disk-overcommit options ',
+ str(mock_warning.call_args[0][0]))
+
def test_server_live_migrate_with_false_value_options(self):
arglist = [
'--live', 'fakehost', '--no-disk-overcommit',