From 7d9483b21c1e45ef4834f3d3d9973d95d181df3c Mon Sep 17 00:00:00 2001 From: Telles Nobrega Date: Wed, 1 Aug 2018 15:52:55 -0300 Subject: [PATCH] Fixing anti-affinity for Sahara Sahara anti-affinity was broken since some problematic changes in cd1569852614698c4843d4c97475d8f8f3069478. This should be able to fix it. Change-Id: I374c0340cb0f85c00b9a04cd1b23e3912737994c Co-Authored-By: Joe Topjian Story: #2002656 Task: #22466 (cherry picked from commit 4ac73ea6ecb001e7973a563a04b25ab914f79f21) --- sahara/service/heat/templates.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/sahara/service/heat/templates.py b/sahara/service/heat/templates.py index 1901bbf35c..44e60b0e7d 100644 --- a/sahara/service/heat/templates.py +++ b/sahara/service/heat/templates.py @@ -253,8 +253,8 @@ class ClusterStack(object): if self.cluster.anti_affinity: # Creating server groups equal to the anti_affinity_ratio - for i in range(1, self.cluster.anti_affinity_ratio): - resources.update(self._serialize_aa_server_group(i)) + for i in range(0, self.cluster.anti_affinity_ratio): + resources.update(self._serialize_aa_server_group(i + 1)) for ng in self.cluster.node_groups: resources.update(self._serialize_ng_group(ng, outputs, @@ -274,13 +274,16 @@ class ClusterStack(object): properties = {"instance_index": "%index%"} if ng.cluster.anti_affinity: - ng_count = ng.count + ng_count = self.node_groups_extra[ng.id]['node_count'] # assuming instance_index also start from index 0 - for i in range(0, ng_count - 1): + for i in range(0, ng_count): server_group_name = self._get_server_group_name() server_group_resource = { "get_resource": server_group_name } + if SERVER_GROUP_NAMES not in properties: + properties[SERVER_GROUP_NAMES] = [] + properties[SERVER_GROUP_NAMES].insert(i, server_group_resource) if ng.auto_security_group: