Exemple #1
0
    def iface_update_numa_node(node):
        """For all interfaces from topology file update numa node based on
           information from the node.

        :param node: Node from topology.
        :type node: dict
        :returns: Nothing.
        :raises ValueError: If numa node ia less than 0.
        :raises RuntimeError: If update of numa node failes.
        """
        ssh = SSH()
        for if_key in Topology.get_node_interfaces(node):
            if_pci = Topology.get_interface_pci_addr(node, if_key)
            ssh.connect(node)
            cmd = "cat /sys/bus/pci/devices/{}/numa_node".format(if_pci)
            for _ in range(3):
                (ret, out, _) = ssh.exec_command(cmd)
                if ret == 0:
                    try:
                        numa_node = int(out)
                        if numa_node < 0:
                            raise ValueError
                    except ValueError:
                        logger.trace('Reading numa location failed for: {0}'\
                            .format(if_pci))
                    else:
                        Topology.set_interface_numa_node(node, if_key,
                                                         numa_node)
                        break
            else:
                raise RuntimeError('Update numa node failed for: {0}'\
                    .format(if_pci))
Exemple #2
0
def install_sfc_test(node):
    """Prepare the NSH SFC test envrionment.

    :param node: Dictionary created from topology
    :type node: dict
    :returns: nothing
    """
    logger.console('Install the NSH SFC on {0}'.format(node['host']))

    if_name_list = Topology.get_node_interfaces(node)

    ssh = SSH()
    ssh.connect(node)

    (ret_code, _, stderr) = ssh.exec_command(
        'cd {0}/tests/nsh_sfc/sfc_scripts/ && ./install_sfc.sh {1} {2}'
        .format(con.REMOTE_FW_DIR, if_name_list[0], if_name_list[1]), \
        timeout=600)

    if ret_code != 0:
        logger.error('Install the NSH SFC error: {0}'.format(stderr))
        raise RuntimeError('Install the NSH SFC failed')
    else:
        logger.console('Install the NSH SFC on {0} success!'.
                       format(node['host']))