示例#1
0
 def test_generate_agents_pair_mixed_room(self):
     unique = 'UU1D'
     expected = {
         'UU1D_master_0': {
             'id': 'UU1D_master_0',
             'mode': 'master',
             'availability_zone': '%s:uno' % ZONE,
             'zone': ZONE,
             'node': 'uno',
             'slave_id': 'UU1D_slave_0'
         },
         'UU1D_slave_0': {
             'id': 'UU1D_slave_0',
             'master_id': 'UU1D_master_0',
             'mode': 'slave',
             'availability_zone': '%s:dos' % ZONE,
             'zone': ZONE,
             'node': 'dos'
         },
         'UU1D_master_1': {
             'id': 'UU1D_master_1',
             'mode': 'master',
             'availability_zone': '%s:dos' % ZONE,
             'zone': ZONE,
             'node': 'dos',
             'slave_id': 'UU1D_slave_1'
         },
         'UU1D_slave_1': {
             'id': 'UU1D_slave_1',
             'master_id': 'UU1D_master_1',
             'mode': 'slave',
             'availability_zone': '%s:uno' % ZONE,
             'zone': ZONE,
             'node': 'uno'
         },
     }
     accommodation = deploy.normalize_accommodation(['pair', 'mixed_room'])
     actual = deploy.generate_agents(nodes_helper('uno', 'dos'),
                                     accommodation, unique)
     self.assertEqual(expected, actual)
示例#2
0
 def test_generate_agents_zones_specified(self):
     unique = 'UU1D'
     expected = {
         'UU1D_master_0': {
             'id': 'UU1D_master_0',
             'slave_id': 'UU1D_slave_0',
             'mode': 'master',
             'availability_zone': '%s:uno' % ZONE,
             'zone': ZONE,
             'node': 'uno'
         },
         'UU1D_slave_0': {
             'id': 'UU1D_slave_0',
             'master_id': 'UU1D_master_0',
             'mode': 'slave',
             'availability_zone': '%s:tre' % ZONE,
             'zone': ZONE,
             'node': 'tre'
         },
     }
     nodes = [
         {
             'host': 'uno',
             'zone': ZONE
         },
         {
             'host': 'duo',
             'zone': 'other-zone'
         },
         {
             'host': 'tre',
             'zone': ZONE
         },
     ]
     accommodation = deploy.normalize_accommodation(
         ['pair', 'single_room', {
             'zones': [ZONE]
         }])
     actual = deploy.generate_agents(nodes, accommodation, unique)
     self.assertEqual(expected, actual)
示例#3
0
 def test_generate_agents_alone_single_room(self):
     unique = 'UU1D'
     expected = {
         'UU1D_agent_0': {
             'id': 'UU1D_agent_0',
             'mode': 'alone',
             'availability_zone': '%s:uno' % ZONE,
             'zone': ZONE,
             'node': 'uno'
         },
         'UU1D_agent_1': {
             'id': 'UU1D_agent_1',
             'mode': 'alone',
             'availability_zone': '%s:dos' % ZONE,
             'zone': ZONE,
             'node': 'dos'
         },
     }
     accommodation = deploy.normalize_accommodation(['single_room'])
     actual = deploy.generate_agents(nodes_helper('uno', 'dos'),
                                     accommodation, unique)
     self.assertEqual(expected, actual)
示例#4
0
 def test_generate_agents_alone_single_room_density_compute_nodes(self, mr):
     unique = 'UU1D'
     expected = {
         'UU1D_agent_0': {
             'id': 'UU1D_agent_0',
             'mode': 'alone',
             'availability_zone': '%s:uno' % ZONE,
             'zone': ZONE,
             'node': 'uno'},
         'UU1D_agent_1': {
             'id': 'UU1D_agent_1',
             'mode': 'alone',
             'availability_zone': '%s:uno' % ZONE,
             'zone': ZONE,
             'node': 'uno'},
     }
     compute_nodes = nodes_helper('uno', 'duo', 'tre')
     mr.side_effect = lambda x, n: x[:n]
     accommodation = deploy.normalize_accommodation(
         ['single_room', {'compute_nodes': 1}, {'density': 2}])
     actual = deploy.generate_agents(compute_nodes,
                                     accommodation,
                                     unique)
     self.assertEqual(expected, actual)
示例#5
0
 def test_generate_agents_pair_single_room_compute_nodes_best_effort(self):
     unique = 'UU1D'
     expected = {
         'UU1D_master_0': {
             'id': 'UU1D_master_0',
             'mode': 'master',
             'availability_zone': '%s:uno' % ZONE,
             'node': 'uno',
             'zone': ZONE,
             'slave_id': 'UU1D_slave_0'},
         'UU1D_slave_0': {
             'id': 'UU1D_slave_0',
             'master_id': 'UU1D_master_0',
             'mode': 'slave',
             'availability_zone': '%s:uno' % ZONE,
             'zone': ZONE,
             'node': 'uno'},
     }
     accommodation = deploy.normalize_accommodation(
         ['pair', 'single_room', 'best_effort', {'compute_nodes': 2}])
     actual = deploy.generate_agents(nodes_helper('uno'),
                                     accommodation,
                                     unique)
     self.assertEqual(expected, actual)
示例#6
0
 def test_generate_agents_pair_single_room(self):
     unique = 'UU1D'
     expected = {
         'UU1D_primary_0': {
             'id': 'UU1D_primary_0',
             'mode': 'primary',
             'availability_zone': '%s:uno' % ZONE,
             'node': 'uno',
             'zone': ZONE,
             'minion_id': 'UU1D_minion_0'
         },
         'UU1D_minion_0': {
             'id': 'UU1D_minion_0',
             'primary_id': 'UU1D_primary_0',
             'mode': 'minion',
             'availability_zone': '%s:dos' % ZONE,
             'zone': ZONE,
             'node': 'dos'
         },
     }
     accommodation = deploy.normalize_accommodation(['pair', 'single_room'])
     actual = deploy.generate_agents(nodes_helper('uno', 'dos', 'tre'),
                                     accommodation, unique)
     self.assertEqual(expected, actual)
示例#7
0
 def test_generate_agents_pair_single_room_not_enough(self):
     unique = 'UU1D'
     accommodation = deploy.normalize_accommodation(['pair', 'single_room'])
     self.assertRaises(deploy.DeploymentException, deploy.generate_agents,
                       ['uno'], accommodation, unique)
示例#8
0
 def test_generate_agents_cross_zones(self):
     unique = 'UU1D'
     expected = {
         'UU1D_master_0': {
             'id': 'UU1D_master_0',
             'slave_id': 'UU1D_slave_0',
             'mode': 'master',
             'availability_zone': 'nova:uno',
             'zone': 'nova',
             'node': 'uno'
         },
         'UU1D_slave_0': {
             'id': 'UU1D_slave_0',
             'master_id': 'UU1D_master_0',
             'mode': 'slave',
             'availability_zone': 'vcenter:tre',
             'zone': 'vcenter',
             'node': 'tre'
         },
         'UU1D_master_1': {
             'id': 'UU1D_master_1',
             'slave_id': 'UU1D_slave_1',
             'mode': 'master',
             'availability_zone': 'nova:duo',
             'zone': 'nova',
             'node': 'duo'
         },
         'UU1D_slave_1': {
             'id': 'UU1D_slave_1',
             'master_id': 'UU1D_master_1',
             'mode': 'slave',
             'availability_zone': 'vcenter:cinco',
             'zone': 'vcenter',
             'node': 'cinco'
         },
     }
     nodes = [
         {
             'host': 'uno',
             'zone': 'nova'
         },
         {
             'host': 'duo',
             'zone': 'nova'
         },
         {
             'host': 'tre',
             'zone': 'vcenter'
         },
         {
             'host': 'quattro',
             'zone': 'nova'
         },
         {
             'host': 'cinco',
             'zone': 'vcenter'
         },
     ]
     accommodation = deploy.normalize_accommodation([
         'pair', 'single_room', {
             'zones': ['nova', 'vcenter']
         }, 'cross_az'
     ])
     actual = deploy.generate_agents(nodes, accommodation, unique)
     self.assertEqual(expected, actual)