diff --git a/neutron/agent/linux/interface.py b/neutron/agent/linux/interface.py index c6677c1141..77b8365c4b 100644 --- a/neutron/agent/linux/interface.py +++ b/neutron/agent/linux/interface.py @@ -41,7 +41,11 @@ OPTS = [ cfg.IntOpt('network_device_mtu', help=_('MTU setting for device.')), cfg.StrOpt('meta_flavor_driver_mappings', - help=_('Mapping between flavor and LinuxInterfaceDriver')), + help=_('Mapping between flavor and LinuxInterfaceDriver. ' + 'It is specific to MetaInterfaceDriver used with ' + 'admin_user, admin_password, admin_tenant_name, ' + 'admin_url, auth_strategy, auth_region and ' + 'endpoint_type.')), cfg.StrOpt('admin_user', help=_("Admin username")), cfg.StrOpt('admin_password', @@ -55,6 +59,10 @@ OPTS = [ help=_("The type of authentication to use")), cfg.StrOpt('auth_region', help=_("Authentication region")), + cfg.StrOpt('endpoint_type', + default='publicURL', + help=_("Network service endpoint type to pull from " + "the keystone catalog")), ] @@ -399,7 +407,8 @@ class MetaInterfaceDriver(LinuxInterfaceDriver): tenant_name=self.conf.admin_tenant_name, auth_url=self.conf.auth_url, auth_strategy=self.conf.auth_strategy, - region_name=self.conf.auth_region + region_name=self.conf.auth_region, + endpoint_type=self.conf.endpoint_type ) self.flavor_driver_map = {} for net_flavor, driver_name in [ diff --git a/neutron/tests/unit/test_linux_interface.py b/neutron/tests/unit/test_linux_interface.py index a236dd8995..431687c9e6 100644 --- a/neutron/tests/unit/test_linux_interface.py +++ b/neutron/tests/unit/test_linux_interface.py @@ -449,6 +449,7 @@ class TestMetaInterfaceDriver(TestBase): 'meta_flavor_driver_mappings', 'fake1:neutron.agent.linux.interface.OVSInterfaceDriver,' 'fake2:neutron.agent.linux.interface.BridgeInterfaceDriver') + self.conf.set_override('endpoint_type', 'internalURL') def test_get_driver_by_network_id(self): meta_interface = interface.MetaInterfaceDriver(self.conf)