diff options
author | Zuul <zuul@review.opendev.org> | 2020-09-30 20:35:00 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2020-09-30 20:35:00 +0000 |
commit | 3902efc292e9c7e8859a841a3d5f4e9644b2e8c9 (patch) | |
tree | ea13cfee23b6adabc3c9557eff4ca9aad93da605 | |
parent | 2308a057337ab2da603ef1cd0992a4f7481579eb (diff) | |
parent | 51a1ea65f4d095b073381200e5268f909bf360de (diff) | |
download | python-openstackclient-3902efc292e9c7e8859a841a3d5f4e9644b2e8c9.tar.gz |
Merge "Add API check for server_groups.create"
-rw-r--r-- | openstackclient/compute/v2/server_group.py | 8 | ||||
-rw-r--r-- | openstackclient/tests/unit/compute/v2/test_server_group.py | 22 |
2 files changed, 28 insertions, 2 deletions
diff --git a/openstackclient/compute/v2/server_group.py b/openstackclient/compute/v2/server_group.py index cb6a503f..1af6e28d 100644 --- a/openstackclient/compute/v2/server_group.py +++ b/openstackclient/compute/v2/server_group.py @@ -68,9 +68,13 @@ class CreateServerGroup(command.ShowOne): def take_action(self, parsed_args): compute_client = self.app.client_manager.compute info = {} + + policy_arg = {'policies': [parsed_args.policy]} + if compute_client.api_version >= api_versions.APIVersion("2.64"): + policy_arg = {'policy': parsed_args.policy} server_group = compute_client.server_groups.create( - name=parsed_args.name, - policies=[parsed_args.policy]) + name=parsed_args.name, **policy_arg) + info.update(server_group._info) columns = _get_columns(info) diff --git a/openstackclient/tests/unit/compute/v2/test_server_group.py b/openstackclient/tests/unit/compute/v2/test_server_group.py index 4e20ed42..359cd2bd 100644 --- a/openstackclient/tests/unit/compute/v2/test_server_group.py +++ b/openstackclient/tests/unit/compute/v2/test_server_group.py @@ -108,6 +108,28 @@ class TestServerGroupCreate(TestServerGroup): self.assertEqual(self.columns, columns) self.assertEqual(self.data, data) + def test_server_group_create_v264(self): + self.app.client_manager.compute.api_version = api_versions.APIVersion( + '2.64') + + arglist = [ + '--policy', 'soft-anti-affinity', + 'affinity_group', + ] + verifylist = [ + ('policy', 'soft-anti-affinity'), + ('name', 'affinity_group'), + ] + parsed_args = self.check_parser(self.cmd, arglist, verifylist) + columns, data = self.cmd.take_action(parsed_args) + self.server_groups_mock.create.assert_called_once_with( + name=parsed_args.name, + policy=parsed_args.policy, + ) + + self.assertEqual(self.columns, columns) + self.assertEqual(self.data, data) + class TestServerGroupDelete(TestServerGroup): |