示例#1
0
    def _get_admin_network(self, node):
        """Node contain mac address which sent ohai,
        when node was loaded. By this mac address
        we can identify interface name for admin network.
        """
        for interface in node.meta.get('interfaces', []):
            if interface['mac'] == node.mac:
                return {'name': u'admin', 'dev': interface['name']}

        raise errors.CanNotFindInterface()
示例#2
0
    def _get_interface_by_network_name(self, node, network_name):
        """
        Return network device which has appointed
        network with specified network name
        """
        for interface in node.interfaces:
            for network in interface.assigned_networks:
                if network.name == network_name:
                    return interface

        raise errors.CanNotFindInterface()
示例#3
0
    def _get_interface_by_network_name(self, node, network_name):
        """Return network device which has appointed
        network with specified network name
        """
        if not isinstance(node, Node):
            node = db().query(Node).get(node)
        for interface in node.interfaces:
            for network in interface.assigned_networks:
                if network.name == network_name:
                    return interface

        raise errors.CanNotFindInterface()
示例#4
0
    def _get_interface_by_network_name(cls, node, network_name):
        """Return network device which has appointed
        network with specified network name
        """
        if not isinstance(node, Node):
            node = db().query(Node).get(node)
        for interface in node.interfaces:
            for network in interface.assigned_networks_list:
                if network.name == network_name:
                    return interface

        raise errors.CanNotFindInterface(
            u'Cannot find interface by name "{0}" for node: '
            '{1}'.format(network_name, node.full_name))