Exemple #1
0
 def __init__(self):
     self.db = firewall_db.Firewall_db_mixin()
     self.driver = importutils.import_object(nwservice_driver)
     self.agent_rpc = FirewallAgentApi(
         'l3_agent',
         cfg.CONF.host
     )
def kill_dhcp(conf, namespace):
    """Disable DHCP for a network if DHCP is still active."""
    root_helper = agent_config.get_root_helper(conf)
    network_id = namespace.replace(dhcp.NS_PREFIX, '')

    dhcp_driver = importutils.import_object(
        conf.dhcp_driver,
        conf=conf,
        network=dhcp.NetModel(conf.use_namespaces, {'id': network_id}),
        root_helper=root_helper,
        plugin=FakeDhcpPlugin())

    if dhcp_driver.active:
        dhcp_driver.disable()
 def init_firewall(self, defer_refresh_firewall=False):
     firewall_driver = cfg.CONF.SECURITYGROUP.firewall_driver
     LOG.debug(_("Init firewall settings (driver=%s)"), firewall_driver)
     if not _is_valid_driver_combination():
         LOG.warn("Driver configuration doesn't match "
                  "with enable_security_group")
     if not firewall_driver:
         firewall_driver = 'neutron.agent.firewall.NoopFirewallDriver'
     self.firewall = importutils.import_object(firewall_driver)
     # The following flag will be set to true if port filter must not be
     # applied as soon as a rule or membership notification is received
     self.defer_refresh_firewall = defer_refresh_firewall
     # Stores devices for which firewall should be refreshed when
     # deferred refresh is enabled.
     self.devices_to_refilter = set()
     # Flag raised when a global refresh is needed
     self.global_refresh_firewall = False
Exemple #4
0
def load_drivers(service_type, plugin):
    """Loads drivers for specific service.

    Passes plugin instance to driver's constructor
    """
    service_type_manager = sdb.ServiceTypeManager.get_instance()
    providers = (service_type_manager.
                 get_service_providers(
                     None,
                     filters={'service_type': [service_type]})
                 )
    if not providers:
        msg = (_("No providers specified for '%s' service, exiting") %
               service_type)
        LOG.error(msg)
        raise SystemExit(msg)

    drivers = {}
    for provider in providers:
        try:
            drivers[provider['name']] = importutils.import_object(
                provider['driver'], plugin
#                provider['driver']
            )
            LOG.debug(_("Loaded '%(provider)s' provider for service "
                        "%(service_type)s"),
                      {'provider': provider['driver'],
                       'service_type': service_type})
        except ImportError:
            with excutils.save_and_reraise_exception():
                LOG.exception(_("Error loading provider '%(provider)s' for "
                                "service %(service_type)s"),
                              {'provider': provider['driver'],
                               'service_type': service_type})

    default_provider = None
    try:
        provider = service_type_manager.get_default_service_provider(
            None, service_type)
        default_provider = provider['name']
    except pconf.DefaultServiceProviderNotFound:
        LOG.info(_("Default provider is not specified for service type %s"),
                 service_type)

    return drivers, default_provider
    def _load_drivers(self):
        self.device_drivers = {}
        for driver in self.conf.device_driver:
            try:
                driver_inst = importutils.import_object(
                    driver,
                    self.conf,
                    self.plugin_rpc
                )
            except ImportError:
                msg = _('Error importing loadbalancer device driver: %s')
                raise SystemExit(msg % driver)

            driver_name = driver_inst.get_name()
            if driver_name not in self.device_drivers:
                self.device_drivers[driver_name] = driver_inst
            else:
                msg = _('Multiple device drivers with the same name found: %s')
                raise SystemExit(msg % driver_name)
Exemple #6
0
    def __init__(self, host, conf=None):
        if conf:
            self.conf = conf
        else:
            self.conf = cfg.CONF
        self.root_helper = config.get_root_helper(self.conf)
        self.router_info = {}

        self._check_config_params()

        try:
            self.driver = importutils.import_object(
                self.conf.interface_driver,
                self.conf
            )
        except Exception:
            msg = _("Error importing interface driver "
                    "'%s'") % self.conf.interface_driver
            LOG.error(msg)
            raise SystemExit(msg)

        self.context = context.get_admin_context_without_session()
        self.plugin_rpc = L3PluginApi(topics.L3PLUGIN, host)
        self.fullsync = True
        self.updated_routers = set()
        self.removed_routers = set()
        self.sync_progress = False

        self._delete_stale_namespaces = (self.conf.use_namespaces and
                                         self.conf.router_delete_namespaces)

        self.rpc_loop = loopingcall.FixedIntervalLoopingCall(
            self._rpc_loop)
        self.rpc_loop.start(interval=RPC_LOOP_INTERVAL)
        super(L3NATAgent, self).__init__(conf=self.conf)

        self.target_ex_net_id = None
Exemple #7
0
    def __init__(self):
        """Do the initialization for the firewall service plugin here."""
	self.db = firewall_db.Firewall_db_mixin()
        self.driver = importutils.import_object(firewall_driver)
        qdbapi.register_models()
	super(FirewallPlugin, self).__init__()
 def __init__(self, topic):
     super(LoadBalancerAgentApi, self).__init__(
         topic, default_version=self.BASE_RPC_API_VERSION)
     self.db = loadbalancer_db.LoadBalancerPluginDb()
     self.nws_driver = importutils.import_object(nwservice_driver)
     self.listen_conn = rpc.create_connection(new=True)