Beispiel #1
0
def get_extensions_path(service_plugins=None):
    paths = collections.OrderedDict()

    # Add Neutron core extensions
    paths[neutron.extensions.__path__[0]] = 1
    if service_plugins:
        # Add Neutron *-aas extensions
        for plugin in service_plugins.values():
            neutron_mod = provider_configuration.NeutronModule(
                plugin.__module__.split('.')[0])
            try:
                paths[neutron_mod.module().extensions.__path__[0]] = 1
            except AttributeError:
                # Occurs normally if module has no extensions sub-module
                pass

    # Add external/other plugins extensions
    if cfg.CONF.api_extensions_path:
        for path in cfg.CONF.api_extensions_path.split(":"):
            paths[path] = 1

    LOG.debug("get_extension_paths = %s", paths)

    # Re-build the extension string
    path = ':'.join(paths)
    return path
Beispiel #2
0
 def test_ini_no_crash_if_config_files_not_parsed(self):
     mod = provconf.NeutronModule('neutron_test')
     mod.ini()
Beispiel #3
0
 def test_can_parse_multi_opt_service_provider_from_conf_dir(self):
     mod = provconf.NeutronModule('neutron_test')
     mod.ini()
     self.assertEqual(['foo', 'bar'], mod.service_providers())
Beispiel #4
0
 def test_read_configuration_from_all_matching_files(self):
     mod = provconf.NeutronModule('neutron_test')
     mod.ini()
     self.assertEqual(['zzz', 'foo', 'bar'], mod.service_providers())
Beispiel #5
0
 def test_can_parse_multi_opt_service_provider_from_conf_file(self):
     mod = provconf.NeutronModule('neutron_test')
     mod.ini(base.ETCDIR)
     self.assertEqual(['foo', 'bar'], mod.service_providers(),
                      'Expected two providers, only one read')