summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Riedemann <mriedem.os@gmail.com>2017-11-19 18:34:24 -0500
committerKevin Lefevre <lefevre.kevin@gmail.com>2017-11-29 12:32:31 +0000
commitf7701cd6bc36aae5adb6ece553cbc4dc914790e3 (patch)
tree746e5e8714f0930bb54e8a44c8681a258be07d32
parentff4abb7d19829efa0209cb67faf01011d9c841c5 (diff)
downloadpython-openstackclient-f7701cd6bc36aae5adb6ece553cbc4dc914790e3.tar.gz
Remove hard-coded policy choices for creating a server group
The hard-coded choices for the server group policy make it impossible to create a server group with the soft-affinity or soft-anti-affinity policy rules which were added in compute API microversion 2.15. This removes the hard-coded choices so that the policy is restricted on the server side rather than the client side. Change-Id: Ib3dc39422ac1015872d56ae2fdeddf0f29613494 Closes-Bug: #1732938 (cherry picked from commit d0917cd14b94ce13fd92237490efb5722761eda4)
-rw-r--r--openstackclient/compute/v2/server_group.py5
-rw-r--r--openstackclient/tests/unit/compute/v2/test_server_group.py4
2 files changed, 5 insertions, 4 deletions
diff --git a/openstackclient/compute/v2/server_group.py b/openstackclient/compute/v2/server_group.py
index c6e2161f..c49a552f 100644
--- a/openstackclient/compute/v2/server_group.py
+++ b/openstackclient/compute/v2/server_group.py
@@ -55,11 +55,12 @@ class CreateServerGroup(command.ShowOne):
parser.add_argument(
'--policy',
metavar='<policy>',
- choices=['affinity', 'anti-affinity'],
default='affinity',
help=_("Add a policy to <name> "
"('affinity' or 'anti-affinity', "
- "default to 'affinity')")
+ "defaults to 'affinity'). Specify --os-compute-api-version "
+ "2.15 or higher for the 'soft-affinity' or "
+ "'soft-anti-affinity' policy.")
)
return parser
diff --git a/openstackclient/tests/unit/compute/v2/test_server_group.py b/openstackclient/tests/unit/compute/v2/test_server_group.py
index 088497da..dc924e24 100644
--- a/openstackclient/tests/unit/compute/v2/test_server_group.py
+++ b/openstackclient/tests/unit/compute/v2/test_server_group.py
@@ -63,11 +63,11 @@ class TestServerGroupCreate(TestServerGroup):
def test_server_group_create(self):
arglist = [
- '--policy', 'anti-affinity',
+ '--policy', 'soft-anti-affinity',
'affinity_group',
]
verifylist = [
- ('policy', 'anti-affinity'),
+ ('policy', 'soft-anti-affinity'),
('name', 'affinity_group'),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)