def describe_second_admin_interface(self): admin_net2_object = self.d_env.get_network(name=self.d_env.admin_net2) second_admin_network = admin_net2_object.ip.network second_admin_netmask = admin_net2_object.ip.netmask second_admin_if = settings.INTERFACES.get(self.d_env.admin_net2) second_admin_ip = str(self.d_env.nodes( ).admin.get_ip_address_by_network_name(self.d_env.admin_net2)) logger.info(('Parameters for second admin interface configuration: ' 'Network - {0}, Netmask - {1}, Interface - {2}, ' 'IP Address - {3}').format(second_admin_network, second_admin_netmask, second_admin_if, second_admin_ip)) add_second_admin_ip = ('DEVICE={0}\\n' 'ONBOOT=yes\\n' 'NM_CONTROLLED=no\\n' 'USERCTL=no\\n' 'PEERDNS=no\\n' 'BOOTPROTO=static\\n' 'IPADDR={1}\\n' 'NETMASK={2}\\n').format(second_admin_if, second_admin_ip, second_admin_netmask) cmd = ('echo -e "{0}" > /etc/sysconfig/network-scripts/ifcfg-{1};' 'ifup {1}; ip -o -4 a s {1} | grep -w {2}').format( add_second_admin_ip, second_admin_if, second_admin_ip) logger.debug('Trying to assign {0} IP to the {1} on master node...'. format(second_admin_ip, second_admin_if)) result = self.ssh_manager.execute( ip=self.ssh_manager.admin_ip, cmd=cmd ) assert_equal(result['exit_code'], 0, ('Failed to assign second admin ' 'IP address on master node: {0}').format(result)) logger.debug('Done: {0}'.format(result['stdout'])) # TODO for ssh manager multiple_networks_hacks.configure_second_admin_dhcp( self.ssh_manager.admin_ip, second_admin_if ) multiple_networks_hacks.configure_second_admin_firewall( self.ssh_manager.admin_ip, second_admin_network, second_admin_netmask, second_admin_if, self.get_admin_node_ip() )
def describe_admin_interface(self, admin_if, network_name): admin_net_object = self.d_env.get_network(name=network_name) admin_network = admin_net_object.ip.network admin_netmask = admin_net_object.ip.netmask admin_ip = str(self.d_env.nodes( ).admin.get_ip_address_by_network_name(network_name)) logger.info(('Parameters for admin interface configuration: ' 'Network - {0}, Netmask - {1}, Interface - {2}, ' 'IP Address - {3}').format(admin_network, admin_netmask, admin_if, admin_ip)) add_admin_ip = ('DEVICE={0}\\n' 'ONBOOT=yes\\n' 'NM_CONTROLLED=no\\n' 'USERCTL=no\\n' 'PEERDNS=no\\n' 'BOOTPROTO=static\\n' 'IPADDR={1}\\n' 'NETMASK={2}\\n').format(admin_if, admin_ip, admin_netmask) cmd = ('echo -e "{0}" > /etc/sysconfig/network-scripts/ifcfg-{1};' 'ifup {1}; ip -o -4 a s {1} | grep -w {2}').format( add_admin_ip, admin_if, admin_ip) logger.debug('Trying to assign {0} IP to the {1} on master node...'. format(admin_ip, admin_if)) result = self.ssh_manager.execute( ip=self.ssh_manager.admin_ip, cmd=cmd ) assert_equal(result['exit_code'], 0, ('Failed to assign second admin ' 'IP address on master node: {0}').format(result)) logger.debug('Done: {0}'.format(result['stdout'])) # TODO for ssh manager multiple_networks_hacks.configure_second_admin_dhcp( self.ssh_manager.admin_ip, admin_if ) multiple_networks_hacks.configure_second_admin_firewall( self.ssh_manager.admin_ip, admin_network, admin_netmask, admin_if, self.get_admin_node_ip() )
def describe_admin_interface(self, admin_if, network_name): admin_net_object = self.d_env.get_network(name=network_name) admin_network = admin_net_object.ip.network admin_netmask = admin_net_object.ip.netmask admin_ip = str(self.d_env.nodes().admin.get_ip_address_by_network_name(network_name)) logger.info( ( "Parameters for admin interface configuration: " "Network - {0}, Netmask - {1}, Interface - {2}, " "IP Address - {3}" ).format(admin_network, admin_netmask, admin_if, admin_ip) ) add_admin_ip = ( "DEVICE={0}\\n" "ONBOOT=yes\\n" "NM_CONTROLLED=no\\n" "USERCTL=no\\n" "PEERDNS=no\\n" "BOOTPROTO=static\\n" "IPADDR={1}\\n" "NETMASK={2}\\n" ).format(admin_if, admin_ip, admin_netmask) cmd = ( 'echo -e "{0}" > /etc/sysconfig/network-scripts/ifcfg-{1};' "ifup {1}; ip -o -4 a s {1} | grep -w {2}" ).format(add_admin_ip, admin_if, admin_ip) logger.debug("Trying to assign {0} IP to the {1} on master node...".format(admin_ip, admin_if)) result = self.ssh_manager.execute(ip=self.ssh_manager.admin_ip, cmd=cmd) assert_equal( result["exit_code"], 0, ("Failed to assign second admin " "IP address on master node: {0}").format(result) ) logger.debug("Done: {0}".format(result["stdout"])) # TODO for ssh manager multiple_networks_hacks.configure_second_admin_dhcp(self.ssh_manager.admin_ip, admin_if) multiple_networks_hacks.configure_second_admin_firewall( self.ssh_manager.admin_ip, admin_network, admin_netmask, admin_if, self.get_admin_node_ip() )
def restore_firewall_rules(self): # NOTE: this code works if fuel-qa version is newer than stable/7.0 admin_devops_node = self.env.d_env.nodes().admin admin_networks = [iface.network.name for iface in admin_devops_node.interfaces] for i, network_name in enumerate(admin_networks): if 'admin' in network_name and 'admin' != network_name: iface_name = 'enp0s' + str(i + 3) admin_net_obj = self.env.d_env.get_network(name=network_name) admin_network = admin_net_obj.ip.network admin_netmask = admin_net_obj.ip.netmask logger.info('Configure firewall rules for {}/{}' .format(admin_network, admin_netmask)) multiple_networks_hacks.configure_second_admin_firewall( self.ssh_manager.admin_ip, admin_network, admin_netmask, iface_name, self.env.get_admin_node_ip()) logger.info('The configuration completed successfully') self.ssh_manager.execute(ip=self.ssh_manager.admin_ip, cmd="cobbler sync")
def describe_second_admin_interface(self): remote = self.get_admin_remote() second_admin_network = self.get_network(self.admin_net2).split('/')[0] second_admin_netmask = self.get_net_mask(self.admin_net2) second_admin_if = settings.INTERFACES.get(self.admin_net2) second_admin_ip = str( self.nodes().admin.get_ip_address_by_network_name(self.admin_net2)) logger.info( ('Parameters for second admin interface configuration: ' 'Network - {0}, Netmask - {1}, Interface - {2}, ' 'IP Address - {3}').format(second_admin_network, second_admin_netmask, second_admin_if, second_admin_ip)) add_second_admin_ip = ('DEVICE={0}\\n' 'ONBOOT=yes\\n' 'NM_CONTROLLED=no\\n' 'USERCTL=no\\n' 'PEERDNS=no\\n' 'BOOTPROTO=static\\n' 'IPADDR={1}\\n' 'NETMASK={2}\\n').format( second_admin_if, second_admin_ip, second_admin_netmask) cmd = ('echo -e "{0}" > /etc/sysconfig/network-scripts/ifcfg-{1};' 'ifup {1}; ip -o -4 a s {1} | grep -w {2}').format( add_second_admin_ip, second_admin_if, second_admin_ip) logger.debug( 'Trying to assign {0} IP to the {1} on master node...'.format( second_admin_ip, second_admin_if)) result = remote.execute(cmd) assert_equal(result['exit_code'], 0, ('Failed to assign second admin ' 'IP address on master node: {0}').format(result)) logger.debug('Done: {0}'.format(result['stdout'])) multiple_networks_hacks.configure_second_admin_firewall( self, second_admin_network, second_admin_netmask)