Modification of slave adding procedure
We should not define new slave index by incrementing of current slaves list lenght. We should check all list and find missing(deleted) slave indexes or increment maximum. Change-Id: I878879da99e05a78f0203b244c4ea30374cb3ef2 Closes-Bug: 1641945
This commit is contained in:
parent
f774496e5d
commit
e71e8924d1
|
@ -49,12 +49,20 @@ class DevopsEnvironment(object):
|
|||
group_name='default',
|
||||
):
|
||||
group = self._env.get_group(name=group_name)
|
||||
created_node_names = [n.name for n in group.get_nodes()]
|
||||
|
||||
created_nodes = len(group.get_nodes())
|
||||
def get_available_slave_name():
|
||||
for i in xrange(1, 1000):
|
||||
name = "slave-{:02d}".format(i)
|
||||
if name in created_node_names:
|
||||
continue
|
||||
|
||||
created_node_names.append(name)
|
||||
return name
|
||||
|
||||
new_nodes = []
|
||||
for node_num in xrange(created_nodes, created_nodes + nodes_count):
|
||||
node_name = "slave-{:02d}".format(node_num)
|
||||
for node_num in xrange(nodes_count):
|
||||
node_name = get_available_slave_name()
|
||||
slave_conf = templates.create_slave_config(
|
||||
slave_name=node_name,
|
||||
slave_role='fuel_slave',
|
||||
|
|
|
@ -55,7 +55,7 @@ class TestDevopsEnvironment(driverless.DriverlessTestCase):
|
|||
self.ntpgroup_inst = self.ntpgroup_mock.return_value
|
||||
|
||||
self.slave_conf = {
|
||||
'name': 'slave-00',
|
||||
'name': 'slave-01',
|
||||
'role': 'fuel_slave',
|
||||
'params': {},
|
||||
'volumes': [
|
||||
|
@ -82,7 +82,7 @@ class TestDevopsEnvironment(driverless.DriverlessTestCase):
|
|||
nodes_count=1)
|
||||
|
||||
self.cr_sl_conf_mock.assert_called_once_with(
|
||||
slave_name='slave-00',
|
||||
slave_name='slave-01',
|
||||
slave_role='fuel_slave',
|
||||
slave_vcpu=1,
|
||||
slave_memory=1024,
|
||||
|
@ -102,7 +102,7 @@ class TestDevopsEnvironment(driverless.DriverlessTestCase):
|
|||
)
|
||||
|
||||
assert len(nodes) == 1
|
||||
assert nodes[0].name == 'slave-00'
|
||||
assert nodes[0].name == 'slave-01'
|
||||
|
||||
self.vol_define_mock.assert_called_once_with()
|
||||
|
||||
|
@ -189,7 +189,7 @@ class TestDevopsEnvironment(driverless.DriverlessTestCase):
|
|||
)])
|
||||
|
||||
slave = self.group.add_node(
|
||||
name='slave-00',
|
||||
name='slave-01',
|
||||
role='fule_slave',
|
||||
interfaces=[dict(
|
||||
label='eth0',
|
||||
|
@ -201,7 +201,7 @@ class TestDevopsEnvironment(driverless.DriverlessTestCase):
|
|||
eth0.mac_address = '64:52:dc:96:12:cc'
|
||||
eth0.save()
|
||||
|
||||
ip = self.denv.get_node_ip('slave-00')
|
||||
ip = self.denv.get_node_ip('slave-01')
|
||||
assert ip == '10.109.0.100'
|
||||
|
||||
def test_get_private_keys(self):
|
||||
|
@ -250,7 +250,7 @@ class TestDevopsEnvironment(driverless.DriverlessTestCase):
|
|||
)])
|
||||
|
||||
slave = self.group.add_node(
|
||||
name='slave-00',
|
||||
name='slave-01',
|
||||
role='fule_slave',
|
||||
interfaces=[dict(
|
||||
label='eth0',
|
||||
|
@ -264,7 +264,7 @@ class TestDevopsEnvironment(driverless.DriverlessTestCase):
|
|||
|
||||
key = self.paramiko_mock.RSAKey.from_private_key.return_value
|
||||
keys = [key, key]
|
||||
remote = self.denv.get_node_remote('slave-00')
|
||||
remote = self.denv.get_node_remote('slave-01')
|
||||
assert remote is ssh
|
||||
self.ssh_mock.assert_called_with(
|
||||
'10.109.0.100',
|
||||
|
@ -290,7 +290,7 @@ class TestDevopsEnvironment(driverless.DriverlessTestCase):
|
|||
interface_model='e1000',
|
||||
)])
|
||||
slave = self.group.add_node(
|
||||
name='slave-00',
|
||||
name='slave-01',
|
||||
role='fule_slave',
|
||||
interfaces=[dict(
|
||||
label='eth0',
|
||||
|
@ -308,7 +308,7 @@ class TestDevopsEnvironment(driverless.DriverlessTestCase):
|
|||
self.ntpgroup_mock.assert_called_once_with()
|
||||
self.ntpgroup_inst.add_node.assert_has_calls((
|
||||
mock.call(ssh, 'admin'),
|
||||
mock.call(ssh, 'slave-00'),
|
||||
mock.call(ssh, 'slave-01'),
|
||||
))
|
||||
|
||||
assert self.ntpgroup_inst.sync_time.call_count == 3
|
||||
|
@ -332,7 +332,7 @@ class TestDevopsEnvironment(driverless.DriverlessTestCase):
|
|||
interface_model='e1000',
|
||||
)])
|
||||
slave = self.group.add_node(
|
||||
name='slave-00',
|
||||
name='slave-01',
|
||||
role='fule_slave',
|
||||
interfaces=[dict(
|
||||
label='eth0',
|
||||
|
@ -344,13 +344,13 @@ class TestDevopsEnvironment(driverless.DriverlessTestCase):
|
|||
eth0.mac_address = '64:52:dc:96:12:cc'
|
||||
eth0.save()
|
||||
|
||||
t = self.denv.get_curr_time(node_names=['admin', 'slave-00'])
|
||||
t = self.denv.get_curr_time(node_names=['admin', 'slave-01'])
|
||||
assert t is self.ntpgroup_inst.get_curr_time.return_value
|
||||
|
||||
self.ntpgroup_mock.assert_called_once_with()
|
||||
self.ntpgroup_inst.add_node.assert_has_calls((
|
||||
mock.call(ssh, 'admin'),
|
||||
mock.call(ssh, 'slave-00'),
|
||||
mock.call(ssh, 'slave-01'),
|
||||
))
|
||||
|
||||
assert self.ntpgroup_inst.sync_time.call_count == 0
|
||||
|
|
|
@ -137,11 +137,11 @@ class TestShell(unittest.TestCase):
|
|||
ips={'fuelweb_admin': '192.168.1.2',
|
||||
'public': '192.168.2.2',
|
||||
'storage': '192.168.3.2'}),
|
||||
create_node_mock('slave-00', snapshots=[('snap1', 15)],
|
||||
create_node_mock('slave-01', snapshots=[('snap1', 15)],
|
||||
ips={'fuelweb_admin': '192.168.1.3',
|
||||
'public': '192.168.2.3',
|
||||
'storage': '192.168.3.3'}),
|
||||
create_node_mock('slave-01',
|
||||
create_node_mock('slave-02',
|
||||
ips={'fuelweb_admin': '192.168.1.4',
|
||||
'public': '192.168.2.4',
|
||||
'storage': '192.168.3.4'}),
|
||||
|
@ -253,8 +253,8 @@ class TestShell(unittest.TestCase):
|
|||
' VNC NODE-NAME GROUP-NAME\n'
|
||||
'----- ----------- ------------\n'
|
||||
' 5005 admin rack-01\n'
|
||||
' 5005 slave-00 rack-01\n'
|
||||
' 5005 slave-01 rack-01')
|
||||
' 5005 slave-01 rack-01\n'
|
||||
' 5005 slave-02 rack-01')
|
||||
|
||||
def test_show_none(self):
|
||||
sh = shell.Shell(['show', 'env2'])
|
||||
|
@ -327,7 +327,7 @@ class TestShell(unittest.TestCase):
|
|||
self.print_mock.assert_called_once_with(
|
||||
'SNAPSHOT CREATED NODES-NAMES\n'
|
||||
'---------- ------------------- ---------------\n'
|
||||
'snap1 2016-05-12 17:12:15 admin, slave-00\n'
|
||||
'snap1 2016-05-12 17:12:15 admin, slave-01\n'
|
||||
'snap2 2016-05-12 17:12:16 admin')
|
||||
|
||||
def test_snapshot_list_none(self):
|
||||
|
@ -344,7 +344,7 @@ class TestShell(unittest.TestCase):
|
|||
self.client_inst.get_env.assert_called_once_with('env1')
|
||||
admin = self.nodes['env1']['admin']
|
||||
admin.erase_snapshot.assert_called_once_with(name='snap1')
|
||||
slave = self.nodes['env1']['slave-00']
|
||||
slave = self.nodes['env1']['slave-01']
|
||||
slave.erase_snapshot.assert_called_once_with(name='snap1')
|
||||
|
||||
def test_slave_ip_list(self):
|
||||
|
|
Loading…
Reference in New Issue