Allow for creating server_group with max_nova_api_microversion

When users set max_nova_api_microversion in heat.conf, we should
use that to create the client.

Change-Id: If74f3f869fc696c87540357d96b039b68c456539
Task: 43661
This commit is contained in:
rabi 2021-10-18 14:23:55 +05:30
parent a65f610cbe
commit e70ff2e153
2 changed files with 14 additions and 2 deletions

View File

@ -96,8 +96,14 @@ class ServerGroup(resource.Resource):
name = self.physical_resource_name()
policies = self.properties[self.POLICIES]
rules = self.properties[self.RULES]
server_group = self.client().server_groups.create(
name=name, policy=policies[0], rules=rules)
rules_supported = self.client_plugin().is_version_supported(
MICROVERSION_RULE)
if rules_supported:
server_group = self.client().server_groups.create(
name=name, policy=policies[0], rules=rules)
else:
server_group = self.client().server_groups.create(
name=name, policies=policies)
self.resource_id_set(server_group.id)
def physical_resource_name(self):

View File

@ -52,6 +52,12 @@ class NovaServerGroupTest(common.HeatTestCase):
# create mock clients and objects
nova = mock.MagicMock()
self.sg.client = mock.MagicMock(return_value=nova)
mock_plugin = mock.MagicMock()
self.patchobject(mock_plugin,
'is_version_supported',
return_value=True)
self.patchobject(self.sg, 'client_plugin',
return_value=mock_plugin)
self.sg_mgr = nova.server_groups
def _create_sg(self, name):