From: Oleg Bondarev Date: Tue, 14 May 2013 12:32:21 +0000 (+0400) Subject: Make endpoint_type configurable for the metadata agent X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=a7441a4f0e9d620743523bf28c9a6370ed57afda;p=openstack-build%2Fneutron-build.git Make endpoint_type configurable for the metadata agent Fixes bug 1176227 Change-Id: Ib4efe29a08efb7ec391d6b16779b27aeb9178324 --- diff --git a/etc/metadata_agent.ini b/etc/metadata_agent.ini index 2a4e1ac55..45294927a 100644 --- a/etc/metadata_agent.ini +++ b/etc/metadata_agent.ini @@ -9,6 +9,9 @@ admin_tenant_name = %SERVICE_TENANT_NAME% admin_user = %SERVICE_USER% admin_password = %SERVICE_PASSWORD% +# Network service endpoint type to pull from the keystone catalog +# endpoint_type = adminURL + # IP address used by Nova metadata server # nova_metadata_ip = 127.0.0.1 diff --git a/quantum/agent/metadata/agent.py b/quantum/agent/metadata/agent.py index 9e37251d1..dfdd52c97 100644 --- a/quantum/agent/metadata/agent.py +++ b/quantum/agent/metadata/agent.py @@ -53,6 +53,10 @@ class MetadataProxyHandler(object): help=_("The type of authentication to use")), cfg.StrOpt('auth_region', help=_("Authentication region")), + cfg.StrOpt('endpoint_type', + default='adminURL', + help=_("Network service endpoint type to pull from " + "the keystone catalog")), cfg.StrOpt('nova_metadata_ip', default='127.0.0.1', help=_("IP address used by Nova metadata server.")), cfg.IntOpt('nova_metadata_port', @@ -78,6 +82,7 @@ class MetadataProxyHandler(object): region_name=self.conf.auth_region, auth_token=self.auth_info.get('auth_token'), endpoint_url=self.auth_info.get('endpoint_url'), + endpoint_type=self.conf.endpoint_type ) return qclient diff --git a/quantum/tests/unit/test_metadata_agent.py b/quantum/tests/unit/test_metadata_agent.py index c50543ff8..15ad8b598 100644 --- a/quantum/tests/unit/test_metadata_agent.py +++ b/quantum/tests/unit/test_metadata_agent.py @@ -34,6 +34,7 @@ class FakeConf(object): auth_url = 'http://127.0.0.1' auth_strategy = 'keystone' auth_region = 'region' + endpoint_type = 'adminURL' nova_metadata_ip = '9.9.9.9' nova_metadata_port = 8775 metadata_proxy_shared_secret = 'secret' @@ -97,7 +98,8 @@ class TestMetadataProxyHandler(base.BaseTestCase): password=FakeConf.admin_password, auth_strategy=FakeConf.auth_strategy, auth_token=None, - endpoint_url=None) + endpoint_url=None, + endpoint_type=FakeConf.endpoint_type) ] if router_id: