From 12f1e56ebf2ea3999c57246410501c09fced2c4c Mon Sep 17 00:00:00 2001 From: Stephen Finucane Date: Wed, 22 Jul 2020 10:39:47 +0100 Subject: Add 'openstack server create --use-config-drive' Despite what the help text for this options says, the nova API only accepts boolean values for this value and has done so since at least the introduction of the 2.1 microversioned API. While it would be nice to convert '--config-drive' to a boolean flag, we'd need to be able to retain temporary support for people passing arguments. 'nargs=?' [1] looks promising but it has an annoying tendency to swallow a positional argument following it [2]. Since that is not an option, we have to live with a new config option, '--use-config-drive' and a '--no-config-drive' counterpart. [1] https://docs.python.org/3/library/argparse.html#nargs [2] https://bugs.python.org/issue9338 Change-Id: If9cce0ad4094cc9cef1c9136b80c3b0f35a82c7a Signed-off-by: Stephen Finucane Story: #2005468 Task: #30547 --- openstackclient/tests/unit/compute/v2/test_server.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'openstackclient/tests') diff --git a/openstackclient/tests/unit/compute/v2/test_server.py b/openstackclient/tests/unit/compute/v2/test_server.py index 7e4c71c5..dc699c0f 100644 --- a/openstackclient/tests/unit/compute/v2/test_server.py +++ b/openstackclient/tests/unit/compute/v2/test_server.py @@ -857,6 +857,7 @@ class TestServerCreate(TestServer): '--key-name', 'keyname', '--property', 'Beta=b', '--security-group', 'securitygroup', + '--use-config-drive', '--hint', 'a=b', '--hint', 'a=c', self.new_server.name, @@ -868,7 +869,7 @@ class TestServerCreate(TestServer): ('property', {'Beta': 'b'}), ('security_group', ['securitygroup']), ('hint', {'a': ['b', 'c']}), - ('config_drive', False), + ('config_drive', True), ('server_name', self.new_server.name), ] parsed_args = self.check_parser(self.cmd, arglist, verifylist) @@ -900,7 +901,7 @@ class TestServerCreate(TestServer): block_device_mapping_v2=[], nics=[], scheduler_hints={'a': ['b', 'c']}, - config_drive=None, + config_drive=True, ) # ServerManager.create(name, image, flavor, **kwargs) self.servers_mock.create.assert_called_with( -- cgit v1.2.1