Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/nailgun/nailgun/orchestrator/deployment_serializers.py b/nailgun/nailgun/orchestrator/deployment_serializers.py
- index 58a3ed9..605a87b 100644
- --- a/nailgun/nailgun/orchestrator/deployment_serializers.py
- +++ b/nailgun/nailgun/orchestrator/deployment_serializers.py
- @@ -422,9 +422,15 @@ class DeploymentHASerializer(DeploymentMultinodeSerializer):
- n['priority'] = prior.next
- # Then deploy other controllers
- - controllers_priority = prior.next
- - for n in cls.by_role(nodes, 'controller'):
- - n['priority'] = controllers_priority
- + def chunks(controllers, chunk_size):
- + for i in xrange(0, len(controllers), chunk_size):
- + yield controllers[i:i+chunk_size]
- +
- + secondary_controllers = cls.by_role(nodes, 'controller')
- + for chunk in chunks(secondary_controllers, 6):
- + priority = prior.next
- + for controller in chunk:
- + controller['priority'] = priority
- other_nodes_prior = prior.next
- for n in cls.not_roles(nodes, ['primary-swift-proxy',
- diff --git a/nailgun/nailgun/test/integration/test_orchestrator_serializer.py b/nailgun/nailgun/test/integration/test_orchestrator_serializer.py
- index 26a79ab..3c99692 100644
- --- a/nailgun/nailgun/test/integration/test_orchestrator_serializer.py
- +++ b/nailgun/nailgun/test/integration/test_orchestrator_serializer.py
- @@ -321,6 +321,12 @@ class TestNovaOrchestratorHASerializer(OrchestratorSerializerTestBase):
- {'role': 'primary-controller'},
- {'role': 'controller'},
- {'role': 'controller'},
- + {'role': 'controller'},
- + {'role': 'controller'},
- + {'role': 'controller'},
- + {'role': 'controller'},
- + {'role': 'controller'},
- + {'role': 'controller'},
- {'role': 'ceph-osd'},
- {'role': 'other'}
- ]
- @@ -335,9 +341,16 @@ class TestNovaOrchestratorHASerializer(OrchestratorSerializerTestBase):
- {'role': 'primary-controller', 'priority': 700},
- {'role': 'controller', 'priority': 800},
- {'role': 'controller', 'priority': 800},
- - {'role': 'ceph-osd', 'priority': 900},
- - {'role': 'other', 'priority': 900}
- + {'role': 'controller', 'priority': 800},
- + {'role': 'controller', 'priority': 800},
- + {'role': 'controller', 'priority': 800},
- + {'role': 'controller', 'priority': 800},
- + {'role': 'controller', 'priority': 900},
- + {'role': 'controller', 'priority': 900},
- + {'role': 'ceph-osd', 'priority': 1000},
- + {'role': 'other', 'priority': 1000}
- ]
- + import ipdb;ipdb.set_trace()
- self.assertEqual(expected_priorities, nodes)
- def test_set_primary_controller_priority_not_depend_on_nodes_order(self):
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement