Exemple #1
0
 def test_generate_agents_pair_mixed_room(self):
     unique = 'UU1D'
     expected = {
         'UU1D_master_0': {
             'id': 'UU1D_master_0',
             'mode': 'master',
             'node': 'uno',
             'slave_id': 'UU1D_slave_0'},
         'UU1D_slave_0': {
             'id': 'UU1D_slave_0',
             'master_id': 'UU1D_master_0',
             'mode': 'slave',
             'node': 'dos'},
         'UU1D_master_1': {
             'id': 'UU1D_master_1',
             'mode': 'master',
             'node': 'dos',
             'slave_id': 'UU1D_slave_1'},
         'UU1D_slave_1': {
             'id': 'UU1D_slave_1',
             'master_id': 'UU1D_master_1',
             'mode': 'slave',
             'node': 'uno'},
     }
     actual = deploy.generate_agents(['uno', 'dos'],
                                     ['pair', 'mixed_room'],
                                     unique)
     self.assertEqual(expected, actual)
Exemple #2
0
 def test_generate_agents_pair_single_room_density_compute_nodes(self):
     unique = 'UU1D'
     actual = deploy.generate_agents(['uno', 'duo', 'tre'],
                                     ['pair', 'single_room',
                                      {'density': 4}, {'compute_nodes': 2}],
                                     unique)
     self.assertEqual(8, len(actual))
Exemple #3
0
 def test_generate_agents_alone_single_room_double_density(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:uno' % ZONE,
             'zone': ZONE,
             'node': 'uno'
         },
     }
     accommodation = deploy.normalize_accommodation(
         ['single_room', {
             'density': 2
         }])
     actual = deploy.generate_agents(nodes_helper('uno'), accommodation,
                                     unique)
     self.assertEqual(expected, actual)
Exemple #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)
Exemple #5
0
 def test_generate_agents_pair_single_room_az_host(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:dos' % ZONE,
             'zone': ZONE,
             'node': 'dos'},
     }
     zones = ['%s:uno' % ZONE, '%s:dos' % ZONE]
     accommodation = deploy.normalize_accommodation(
         ['pair', 'single_room', {'zones': zones}])
     actual = deploy.generate_agents(nodes_helper('uno', 'dos', 'tre'),
                                     accommodation,
                                     unique)
     self.assertEqual(expected, actual)
Exemple #6
0
 def test_generate_agents_zones_and_compute_nodes_specified(self, mr):
     mr.side_effect = lambda x, n: x[:n]
     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},
         {'host': 'cuattro', 'zone': ZONE},
         {'host': 'cinco', 'zone': ZONE},
     ]
     accommodation = deploy.normalize_accommodation(
         ['pair', 'single_room', {'zones': [ZONE]}, {'compute_nodes': 2}])
     actual = deploy.generate_agents(nodes,
                                     accommodation,
                                     unique)
     self.assertEqual(expected, actual)
Exemple #7
0
 def test_generate_agents_pair_single_room_compute_nodes_best_effort(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: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)
Exemple #8
0
 def test_generate_agents_pair_double_room(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'
         },
         'UU1D_master_1': {
             'id': 'UU1D_master_1',
             'mode': 'master',
             'availability_zone': '%s:dos' % ZONE,
             'node': 'dos',
             'zone': ZONE,
             'slave_id': 'UU1D_slave_1'
         },
         'UU1D_slave_1': {
             'id': 'UU1D_slave_1',
             'master_id': 'UU1D_master_1',
             'mode': 'slave',
             'availability_zone': '%s:dos' % ZONE,
             'zone': ZONE,
             'node': 'dos'
         },
         'UU1D_master_2': {
             'id': 'UU1D_master_2',
             'mode': 'master',
             'availability_zone': '%s:tre' % ZONE,
             'node': 'tre',
             'zone': ZONE,
             'slave_id': 'UU1D_slave_2'
         },
         'UU1D_slave_2': {
             'id': 'UU1D_slave_2',
             'master_id': 'UU1D_master_2',
             'mode': 'slave',
             'availability_zone': '%s:tre' % ZONE,
             'zone': ZONE,
             'node': 'tre'
         },
     }
     accommodation = deploy.normalize_accommodation(['pair', 'double_room'])
     actual = deploy.generate_agents(nodes_helper('uno', 'dos', 'tre'),
                                     accommodation, unique)
     self.assertEqual(expected, actual)
Exemple #9
0
 def test_generate_agents_pair_single_room_density_compute_nodes(self, mr):
     unique = 'UU1D'
     compute_nodes = nodes_helper('uno', 'duo', 'tre')
     mr.side_effect = lambda x, n: x[:n]
     accommodation = deploy.normalize_accommodation(
         ['pair', 'single_room', {'density': 4}, {'compute_nodes': 2}])
     actual = deploy.generate_agents(compute_nodes,
                                     accommodation,
                                     unique)
     self.assertEqual(8, len(actual))
Exemple #10
0
 def test_generate_agents_alone_single_room(self):
     unique = 'UU1D'
     expected = {
         'UU1D_agent_0': {
             'id': 'UU1D_agent_0',
             'mode': 'alone',
             'node': 'uno'},
         'UU1D_agent_1': {
             'id': 'UU1D_agent_1',
             'mode': 'alone',
             'node': 'dos'},
     }
     actual = deploy.generate_agents(['uno', 'dos'],
                                     ['single_room'],
                                     unique)
     self.assertEqual(expected, actual)
Exemple #11
0
 def test_generate_agents_alone_single_room_density_compute_nodes(self):
     unique = 'UU1D'
     expected = {
         'UU1D_agent_0': {
             'id': 'UU1D_agent_0',
             'mode': 'alone',
             'node': 'uno'},
         'UU1D_agent_1': {
             'id': 'UU1D_agent_1',
             'mode': 'alone',
             'node': 'uno'},
     }
     actual = deploy.generate_agents(['uno', 'duo', 'tre'],
                                     ['single_room', {'compute_nodes': 1},
                                      {'density': 2}],
                                     unique)
     self.assertEqual(expected, actual)
Exemple #12
0
 def test_generate_agents_alone_single_room_az_host(self):
     unique = 'UU1D'
     expected = {
         'UU1D_agent_0': {
             'id': 'UU1D_agent_0',
             'mode': 'alone',
             'availability_zone': '%s:uno' % ZONE,
             'zone': ZONE,
             'node': 'uno'},
     }
     zones = ['%s:uno' % ZONE]
     accommodation = deploy.normalize_accommodation(
         ['single_room', {'zones': zones}])
     actual = deploy.generate_agents(nodes_helper('uno', 'dos'),
                                     accommodation,
                                     unique)
     self.assertEqual(expected, actual)
Exemple #13
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)
Exemple #14
0
 def test_generate_agents_pair_double_room_az_host(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:uno' % ZONE,
             'zone': ZONE,
             'node': 'uno'
         },
         'UU1D_primary_1': {
             'id': 'UU1D_primary_1',
             'mode': 'primary',
             'availability_zone': '%s:dos' % ZONE,
             'node': 'dos',
             'zone': ZONE,
             'minion_id': 'UU1D_minion_1'
         },
         'UU1D_minion_1': {
             'id': 'UU1D_minion_1',
             'primary_id': 'UU1D_primary_1',
             'mode': 'minion',
             'availability_zone': '%s:dos' % ZONE,
             'zone': ZONE,
             'node': 'dos'
         },
     }
     zones = ['%s:uno' % ZONE, '%s:dos' % ZONE]
     accommodation = deploy.normalize_accommodation(
         ['pair', 'double_room', {
             'zones': zones
         }])
     actual = deploy.generate_agents(nodes_helper('uno', 'dos', 'tre'),
                                     accommodation, unique)
     self.assertEqual(expected, actual)
Exemple #15
0
 def test_generate_agents_zones_specified(self):
     unique = 'UU1D'
     expected = {
         'UU1D_primary_0': {
             'id': 'UU1D_primary_0',
             'minion_id': 'UU1D_minion_0',
             'mode': 'primary',
             'availability_zone': '%s:uno' % ZONE,
             'zone': ZONE,
             'node': 'uno'
         },
         'UU1D_minion_0': {
             'id': 'UU1D_minion_0',
             'primary_id': 'UU1D_primary_0',
             'mode': 'minion',
             '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)
Exemple #16
0
 def test_generate_agents_pair_single_room_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'])
     actual = deploy.generate_agents(nodes_helper('uno'),
                                     accommodation,
                                     unique)
     self.assertEqual(expected, actual)