示例#1
0
    def get_ping_dest(vm_session, mac_addr, restart_network=True):
        """
        Get an ip address to ping

        :param vm_session: The session object to the guest
        :param mac_addr: mac address of given interface
        :param restart_network:  Whether to restart guest's network
        :return: ip address
        """
        if restart_network:
            utils_misc.cmd_status_output("dhclient -r; sleep 5; dhclient",
                                         shell=True,
                                         session=vm_session)
        vm_iface_info = utils_net.get_linux_iface_info(
            mac_addr, vm_session)['addr_info'][0]['local']
        return re.sub('\d+$', '1', vm_iface_info)
示例#2
0
def check_iface_link(session, mac, stat):
    """
    Check link state of interface inside a vm

    :param session: vm's session
    :param mac: mac address of iface
    :param stat: link state, could be 'up' or 'down'
    :return: True if check passed, False if failed
    """
    stat_map = {'up': 'yes', 'down': 'no'}
    expect_str = 'Link detected: %s' % stat_map[stat]
    iface_in_vm = utils_net.get_linux_iface_info(mac, session)
    iface_name = iface_in_vm.get('ifname')
    ethtool_cmd = 'ethtool %s' % iface_name
    ethtool_output = session.cmd_output(ethtool_cmd)
    if expect_str in ethtool_output:
        logging.info('link state check PASSED.')
        return True
    else:
        logging.error('link state check FAILED.')
        return False