コード例 #1
0
ファイル: vif_pool.py プロジェクト: yucl80/kuryr-kubernetes
 def set_vif_driver(self):
     self._vif_drvs = {}
     pools_vif_drivers = oslo_cfg.CONF.vif_pool.pools_vif_drivers
     if not pools_vif_drivers:
         pod_vif = oslo_cfg.CONF.kubernetes.pod_vif_driver
         drv_vif = base.PodVIFDriver.get_instance()
         drv_pool = base.VIFPoolDriver.get_instance()
         drv_pool.set_vif_driver(drv_vif)
         self._vif_drvs[pod_vif] = drv_pool
         return
     for pool_driver, pod_driver in pools_vif_drivers.items():
         if not utils.check_suitable_multi_pool_driver_opt(
                 pool_driver, pod_driver):
             LOG.ERROR("The pool and pod driver selected are not "
                       "compatible. They will be skipped")
             raise exceptions.MultiPodDriverPoolConfigurationNotSupported()
         drv_vif = base.PodVIFDriver.get_instance(driver_alias=pod_driver)
         drv_pool = base.VIFPoolDriver.get_instance(
             driver_alias=pool_driver)
         drv_pool.set_vif_driver(drv_vif)
         self._vif_drvs[pod_driver] = drv_pool
コード例 #2
0
    def set_vif_driver(self):
        self._vif_drvs = {}
        vif_pool_mapping = self._get_vif_pool_mapping()

        if not vif_pool_mapping:
            pod_vif = oslo_cfg.CONF.kubernetes.pod_vif_driver
            drv_vif = base.PodVIFDriver.get_instance()
            drv_pool = base.VIFPoolDriver.get_instance()
            drv_pool.set_vif_driver(drv_vif)
            self._vif_drvs[pod_vif] = drv_pool
            return
        for pod_driver, pool_driver in vif_pool_mapping.items():
            if not utils.check_suitable_multi_pool_driver_opt(
                    pool_driver, pod_driver):
                LOG.error("The pool and pod driver selected are not "
                          "compatible. They will be skipped")
                raise exceptions.MultiPodDriverPoolConfigurationNotSupported()
            drv_vif = base.PodVIFDriver.get_instance(
                specific_driver=pod_driver)
            drv_pool = base.VIFPoolDriver.get_instance(
                specific_driver=pool_driver, scope='for:{}'.format(pod_driver))
            drv_pool.set_vif_driver(drv_vif)
            self._vif_drvs[pod_driver] = drv_pool