diff --git a/devops/client/environment.py b/devops/client/environment.py index a156777d..b251abda 100644 --- a/devops/client/environment.py +++ b/devops/client/environment.py @@ -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', diff --git a/devops/tests/client/test_environment.py b/devops/tests/client/test_environment.py index a5f80d1a..f6719067 100644 --- a/devops/tests/client/test_environment.py +++ b/devops/tests/client/test_environment.py @@ -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 diff --git a/devops/tests/test_shell.py b/devops/tests/test_shell.py index 2c5313e2..e4e72f52 100644 --- a/devops/tests/test_shell.py +++ b/devops/tests/test_shell.py @@ -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):