Advertisement
Guest User

Untitled

a guest
Jul 30th, 2014
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.89 KB | None | 0 0
  1. diff --git a/nailgun/nailgun/orchestrator/deployment_serializers.py b/nailgun/nailgun/orchestrator/deployment_serializers.py
  2. index 58a3ed9..605a87b 100644
  3. --- a/nailgun/nailgun/orchestrator/deployment_serializers.py
  4. +++ b/nailgun/nailgun/orchestrator/deployment_serializers.py
  5. @@ -422,9 +422,15 @@ class DeploymentHASerializer(DeploymentMultinodeSerializer):
  6.              n['priority'] = prior.next
  7.  
  8.          # Then deploy other controllers
  9. -        controllers_priority = prior.next
  10. -        for n in cls.by_role(nodes, 'controller'):
  11. -            n['priority'] = controllers_priority
  12. +        def chunks(controllers, chunk_size):
  13. +            for i in xrange(0, len(controllers), chunk_size):
  14. +                yield controllers[i:i+chunk_size]
  15. +
  16. +        secondary_controllers = cls.by_role(nodes, 'controller')
  17. +        for chunk in chunks(secondary_controllers, 6):
  18. +            priority = prior.next
  19. +            for controller in chunk:
  20. +                controller['priority'] = priority
  21.  
  22.          other_nodes_prior = prior.next
  23.          for n in cls.not_roles(nodes, ['primary-swift-proxy',
  24. diff --git a/nailgun/nailgun/test/integration/test_orchestrator_serializer.py b/nailgun/nailgun/test/integration/test_orchestrator_serializer.py
  25. index 26a79ab..3c99692 100644
  26. --- a/nailgun/nailgun/test/integration/test_orchestrator_serializer.py
  27. +++ b/nailgun/nailgun/test/integration/test_orchestrator_serializer.py
  28. @@ -321,6 +321,12 @@ class TestNovaOrchestratorHASerializer(OrchestratorSerializerTestBase):
  29.              {'role': 'primary-controller'},
  30.              {'role': 'controller'},
  31.              {'role': 'controller'},
  32. +            {'role': 'controller'},
  33. +            {'role': 'controller'},
  34. +            {'role': 'controller'},
  35. +            {'role': 'controller'},
  36. +            {'role': 'controller'},
  37. +            {'role': 'controller'},
  38.              {'role': 'ceph-osd'},
  39.              {'role': 'other'}
  40.          ]
  41. @@ -335,9 +341,16 @@ class TestNovaOrchestratorHASerializer(OrchestratorSerializerTestBase):
  42.              {'role': 'primary-controller', 'priority': 700},
  43.              {'role': 'controller', 'priority': 800},
  44.              {'role': 'controller', 'priority': 800},
  45. -            {'role': 'ceph-osd', 'priority': 900},
  46. -            {'role': 'other', 'priority': 900}
  47. +            {'role': 'controller', 'priority': 800},
  48. +            {'role': 'controller', 'priority': 800},
  49. +            {'role': 'controller', 'priority': 800},
  50. +            {'role': 'controller', 'priority': 800},
  51. +            {'role': 'controller', 'priority': 900},
  52. +            {'role': 'controller', 'priority': 900},
  53. +            {'role': 'ceph-osd', 'priority': 1000},
  54. +            {'role': 'other', 'priority': 1000}
  55.          ]
  56. +        import ipdb;ipdb.set_trace()
  57.          self.assertEqual(expected_priorities, nodes)
  58.  
  59.      def test_set_primary_controller_priority_not_depend_on_nodes_order(self):
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement