def test_multinic_bootstrap_booting(self): """Verify slaves booting with blocked mac address Scenario: 1. Revert snapshot "ready" 2. Block traffic for first slave node (by mac) 3. Restore mac addresses and boot first slave 4. Verify slave mac addresses is equal to unblocked Duration 2m """ slave = self.env.d_env.get_node(name='slave-01') mac_addresses = [interface.mac_address for interface in slave.interfaces.filter(network__name='internal')] try: for mac in mac_addresses: Ebtables.block_mac(mac) for mac in mac_addresses: Ebtables.restore_mac(mac) slave.destroy() self.env.d_env.get_node(name='admin').revert("ready") nailgun_slave = self.env.bootstrap_nodes([slave])[0] assert mac.upper() == nailgun_slave['mac'].upper() Ebtables.block_mac(mac) finally: for mac in mac_addresses: Ebtables.restore_mac(mac)
def multinic_bootstrap_booting(self): """Verify slaves booting with blocked mac address Scenario: 1. Revert snapshot "ready" 2. Block traffic for first slave node (by mac) 3. Restore mac addresses and boot first slave 4. Verify slave mac addresses is equal to unblocked """ self.env.revert_snapshot("ready") slave = self.env.nodes().slaves[0] mac_addresses = [interface.mac_address for interface in slave.interfaces.filter(network__name='internal')] try: for mac in mac_addresses: Ebtables.block_mac(mac) for mac in mac_addresses: Ebtables.restore_mac(mac) slave.destroy(verbose=False) self.env.nodes().admins[0].revert("ready") nailgun_slave = self.env.bootstrap_nodes([slave])[0] assert_equal(mac.upper(), nailgun_slave['mac'].upper()) Ebtables.block_mac(mac) finally: for mac in mac_addresses: Ebtables.restore_mac(mac)
def multinic_bootstrap_booting(self): """Verify slaves booting with blocked mac address Scenario: 1. Revert snapshot "ready" 2. Block traffic for first slave node (by mac) 3. Restore mac addresses and boot first slave 4. Verify slave mac addresses is equal to unblocked Duration 2m """ self.env.revert_snapshot("ready") slave = self.env.d_env.nodes().slaves[0] mac_addresses = [ interface.mac_address for interface in slave.interfaces.filter(network__name='internal') ] try: for mac in mac_addresses: Ebtables.block_mac(mac) for mac in mac_addresses: Ebtables.restore_mac(mac) slave.destroy(verbose=False) self.env.d_env.nodes().admins[0].revert("ready") nailgun_slave = self.env.bootstrap_nodes([slave])[0] assert_equal(mac.upper(), nailgun_slave['mac'].upper()) Ebtables.block_mac(mac) finally: for mac in mac_addresses: Ebtables.restore_mac(mac)
def multinic_bootstrap_booting(self): """Verify slaves booting with blocked mac address Test disabled and move to fuel_tests suite: fuel_tests.test.test_discovery_slave.TestMultinicBootstrap Scenario: 1. Revert snapshot "ready" 2. Block traffic for first slave node (by mac) 3. Restore mac addresses and boot first slave 4. Verify slave mac addresses is equal to unblocked Duration 2m """ # pylint: disable=W0101 warn("Test disabled and move to fuel_tests suite", DeprecationWarning) raise SkipTest("Test disabled and move to fuel_tests suite") self.env.revert_snapshot("ready") slave = self.env.d_env.nodes().slaves[0] mac_addresses = [ interface.mac_address for interface in slave.interfaces.filter(network__name='internal') ] try: for mac in mac_addresses: Ebtables.block_mac(mac) for mac in mac_addresses: Ebtables.restore_mac(mac) slave.destroy() self.env.d_env.nodes().admins[0].revert("ready") nailgun_slave = self.env.bootstrap_nodes([slave])[0] assert_equal(mac.upper(), nailgun_slave['mac'].upper()) Ebtables.block_mac(mac) finally: for mac in mac_addresses: Ebtables.restore_mac(mac)
def multinic_bootstrap_booting(self): """Verify slaves booting with blocked mac address Test disabled and move to fuel_tests suite: fuel_tests.test.test_discovery_slave.TestMultinicBootstrap Scenario: 1. Revert snapshot "ready" 2. Block traffic for first slave node (by mac) 3. Restore mac addresses and boot first slave 4. Verify slave mac addresses is equal to unblocked Duration 2m """ # pylint: disable=W0101 warn("Test disabled and move to fuel_tests suite", DeprecationWarning) raise SkipTest("Test disabled and move to fuel_tests suite") self.env.revert_snapshot("ready") slave = self.env.d_env.nodes().slaves[0] mac_addresses = [interface.mac_address for interface in slave.interfaces.filter(network__name='internal')] try: for mac in mac_addresses: Ebtables.block_mac(mac) for mac in mac_addresses: Ebtables.restore_mac(mac) slave.destroy() self.env.d_env.nodes().admins[0].revert("ready") nailgun_slave = self.env.bootstrap_nodes([slave])[0] assert_equal(mac.upper(), nailgun_slave['mac'].upper()) Ebtables.block_mac(mac) finally: for mac in mac_addresses: Ebtables.restore_mac(mac)
def get_ebtables(self, cluster_id, devops_nodes): return Ebtables(self.get_target_devs(devops_nodes), self.fuel_web.client.get_cluster_vlans(cluster_id))