]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Metadata agent: reuse authentication info across eventlet threads
authorOleg Bondarev <obondarev@mirantis.com>
Mon, 18 Mar 2013 15:36:27 +0000 (19:36 +0400)
committerGerrit Code Review <review@openstack.org>
Tue, 23 Apr 2013 06:52:34 +0000 (06:52 +0000)
Fixes bug 1152429

Change-Id: Ib65f08a46feb14abc97c0c83e57d076abd372a2c

quantum/agent/metadata/agent.py
quantum/tests/unit/test_metadata_agent.py

index 5a7428186c95bde41464cf2af9c400954a095cba..d04231b26a36e2ee539f625bf3aa3e027c45456f 100644 (file)
@@ -66,6 +66,7 @@ class MetadataProxyHandler(object):
 
     def __init__(self, conf):
         self.conf = conf
+        self.auth_info = {}
 
     def _get_quantum_client(self):
         qclient = client.Client(
@@ -75,6 +76,8 @@ class MetadataProxyHandler(object):
             auth_url=self.conf.auth_url,
             auth_strategy=self.conf.auth_strategy,
             region_name=self.conf.auth_region,
+            auth_token=self.auth_info.get('auth_token'),
+            endpoint_url=self.auth_info.get('endpoint_url'),
         )
         return qclient
 
@@ -115,6 +118,8 @@ class MetadataProxyHandler(object):
             network_id=networks,
             fixed_ips=['ip_address=%s' % remote_address])['ports']
 
+        self.auth_info = qclient.get_auth_info()
+
         if len(ports) == 1:
             return ports[0]['device_id']
 
index ec0f4585c085ab1f6eb89a5c78a8890063d9a3f0..1b0af7fc24dbe15320f9078e789be69ab4a26b20 100644 (file)
@@ -95,7 +95,9 @@ class TestMetadataProxyHandler(base.BaseTestCase):
                 region_name=FakeConf.auth_region,
                 auth_url=FakeConf.auth_url,
                 password=FakeConf.admin_password,
-                auth_strategy=FakeConf.auth_strategy)
+                auth_strategy=FakeConf.auth_strategy,
+                auth_token=None,
+                endpoint_url=None)
         ]
 
         if router_id: