コード例 #1
0
ファイル: virt_vm.py プロジェクト: QiuMike/virt-test
    def add_nic(self, **params):
        """
        Add new or setup existing NIC with optional model type and mac address

        @param: **params: Additional NIC parameters to set.
        @param: nic_name: Name for device
        @param: mac: Optional MAC address, None to randomly generate.
        @param: ip: Optional IP address to register in address_cache
        @return: Dict with new NIC's info.
        """
        if not params.has_key('nic_name'):
            params['nic_name'] = utils_misc.generate_random_id()
        nic_name = params['nic_name']
        if nic_name in self.virtnet.nic_name_list():
            self.virtnet[nic_name].update(**params)
        else:
            self.virtnet.append(params)
        nic = self.virtnet[nic_name]
        if not nic.has_key('mac'): # generate random mac
            logging.debug("Generating random mac address for nic")
            self.virtnet.generate_mac_address(nic_name)
        # mac of '' or invaid format results in not setting a mac
        if nic.has_key('ip') and nic.has_key('mac'):
            if not self.address_cache.has_key(nic.mac):
                logging.debug("(address cache) Adding static "
                              "cache entry: %s ---> %s" % (nic.mac, nic.ip))
            else:
                logging.debug("(address cache) Updating static "
                              "cache entry from: %s ---> %s"
                              " to: %s ---> %s" % (nic.mac,
                              self.address_cache[nic.mac], nic.mac, nic.ip))
            self.address_cache[nic.mac] = nic.ip
        return nic
コード例 #2
0
ファイル: virt_vm.py プロジェクト: deanspring/FT4VM-L1_test
    def add_nic(self, **params):
        """
        Add new or setup existing NIC with optional model type and mac address

        :param **params: Additional NIC parameters to set.
        :param nic_name: Name for device
        :param mac: Optional MAC address, None to randomly generate.
        :param ip: Optional IP address to register in address_cache
        :return: Dict with new NIC's info.
        """
        if not params.has_key('nic_name'):
            params['nic_name'] = utils_misc.generate_random_id()
        nic_name = params['nic_name']
        if nic_name in self.virtnet.nic_name_list():
            self.virtnet[nic_name].update(**params)
        else:
            self.virtnet.append(params)
        nic = self.virtnet[nic_name]
        if not nic.has_key('mac'):  # generate random mac
            logging.debug("Generating random mac address for nic")
            self.virtnet.generate_mac_address(nic_name)
        # mac of '' or invaid format results in not setting a mac
        if nic.has_key('ip') and nic.has_key('mac'):
            if not self.address_cache.has_key(nic.mac):
                logging.debug("(address cache) Adding static "
                              "cache entry: %s ---> %s" % (nic.mac, nic.ip))
            else:
                logging.debug(
                    "(address cache) Updating static "
                    "cache entry from: %s ---> %s"
                    " to: %s ---> %s" %
                    (nic.mac, self.address_cache[nic.mac], nic.mac, nic.ip))
            self.address_cache[nic.mac] = nic.ip
        return nic
コード例 #3
0
ファイル: virt_vm.py プロジェクト: rbian/virt-test
    def add_nic(self, **params):
        """
        Add new or setup existing NIC with optional model type and mac address

        :param params: Dict with additional NIC parameters to set.
        :return: Dict with new NIC's info.
        """
        if not params.has_key("nic_name"):
            params["nic_name"] = utils_misc.generate_random_id()
        nic_name = params["nic_name"]
        if nic_name in self.virtnet.nic_name_list():
            self.virtnet[nic_name].update(**params)
        else:
            self.virtnet.append(params)
        nic = self.virtnet[nic_name]
        if not nic.has_key("mac"):  # generate random mac
            logging.debug("Generating random mac address for nic")
            self.virtnet.generate_mac_address(nic_name)
        # mac of '' or invaid format results in not setting a mac
        if nic.has_key("ip") and nic.has_key("mac"):
            if not self.address_cache.has_key(nic.mac):
                logging.debug("(address cache) Adding static " "cache entry: %s ---> %s" % (nic.mac, nic.ip))
            else:
                logging.debug(
                    "(address cache) Updating static "
                    "cache entry from: %s ---> %s"
                    " to: %s ---> %s" % (nic.mac, self.address_cache[nic.mac], nic.mac, nic.ip)
                )
            self.address_cache[nic.mac] = nic.ip
        return nic