Send global_request_id to nova/glance when calls are made
This makes cinder add the global_request_id to the constructors for nova and glance clients, which will pass the global_request_id into those services on all API calls. Adjust unit tests when needed to support the new parameter. oslo spec I65de8261746b25d45e105394f4eeb95b9cb3bd42 (requirements bump) Depends-On: I5b247f75edeea9da50fe524eadf5f9a2c626d665 Change-Id: I6366ca6bd8286858093b76579571b35b062f97d7
This commit is contained in:
parent
ad54657026
commit
72800e6b22
@ -155,6 +155,7 @@ def novaclient(context, privileged_user=False, timeout=None):
|
|||||||
region_name=CONF[NOVA_GROUP].region_name,
|
region_name=CONF[NOVA_GROUP].region_name,
|
||||||
endpoint_type=CONF[NOVA_GROUP].interface,
|
endpoint_type=CONF[NOVA_GROUP].interface,
|
||||||
cacert=CONF[NOVA_GROUP].cafile,
|
cacert=CONF[NOVA_GROUP].cafile,
|
||||||
|
global_request_id=context.global_id,
|
||||||
extensions=nova_extensions)
|
extensions=nova_extensions)
|
||||||
|
|
||||||
return c
|
return c
|
||||||
|
@ -100,6 +100,7 @@ def _create_glance_client(context, netloc, use_ssl, version=None):
|
|||||||
if CONF.glance_request_timeout is not None:
|
if CONF.glance_request_timeout is not None:
|
||||||
params['timeout'] = CONF.glance_request_timeout
|
params['timeout'] = CONF.glance_request_timeout
|
||||||
endpoint = '%s://%s' % (scheme, netloc)
|
endpoint = '%s://%s' % (scheme, netloc)
|
||||||
|
params['global_request_id'] = context.global_id
|
||||||
return glanceclient.Client(str(version), endpoint, **params)
|
return glanceclient.Client(str(version), endpoint, **params)
|
||||||
|
|
||||||
|
|
||||||
|
@ -78,6 +78,7 @@ class NovaClientTestCase(test.TestCase):
|
|||||||
p_api_version(nova.NOVA_API_VERSION),
|
p_api_version(nova.NOVA_API_VERSION),
|
||||||
session=p_session.return_value, region_name=None,
|
session=p_session.return_value, region_name=None,
|
||||||
insecure=False, endpoint_type='public', cacert='my.ca',
|
insecure=False, endpoint_type='public', cacert='my.ca',
|
||||||
|
global_request_id=self.ctx.request_id,
|
||||||
timeout=None, extensions=nova.nova_extensions)
|
timeout=None, extensions=nova.nova_extensions)
|
||||||
|
|
||||||
@mock.patch('novaclient.api_versions.APIVersion')
|
@mock.patch('novaclient.api_versions.APIVersion')
|
||||||
@ -97,6 +98,7 @@ class NovaClientTestCase(test.TestCase):
|
|||||||
p_api_version(nova.NOVA_API_VERSION),
|
p_api_version(nova.NOVA_API_VERSION),
|
||||||
session=p_session.return_value, region_name=None,
|
session=p_session.return_value, region_name=None,
|
||||||
insecure=False, endpoint_type='public', cacert='my.ca',
|
insecure=False, endpoint_type='public', cacert='my.ca',
|
||||||
|
global_request_id=self.ctx.request_id,
|
||||||
timeout=None, extensions=nova.nova_extensions)
|
timeout=None, extensions=nova.nova_extensions)
|
||||||
|
|
||||||
@mock.patch('novaclient.api_versions.APIVersion')
|
@mock.patch('novaclient.api_versions.APIVersion')
|
||||||
@ -119,6 +121,7 @@ class NovaClientTestCase(test.TestCase):
|
|||||||
p_api_version(nova.NOVA_API_VERSION),
|
p_api_version(nova.NOVA_API_VERSION),
|
||||||
session=p_session.return_value, region_name=None,
|
session=p_session.return_value, region_name=None,
|
||||||
insecure=False, endpoint_type='public', cacert='my.ca',
|
insecure=False, endpoint_type='public', cacert='my.ca',
|
||||||
|
global_request_id=self.ctx.request_id,
|
||||||
timeout=None, extensions=nova.nova_extensions)
|
timeout=None, extensions=nova.nova_extensions)
|
||||||
|
|
||||||
@mock.patch('novaclient.api_versions.APIVersion')
|
@mock.patch('novaclient.api_versions.APIVersion')
|
||||||
@ -146,6 +149,7 @@ class NovaClientTestCase(test.TestCase):
|
|||||||
p_api_version(nova.NOVA_API_VERSION),
|
p_api_version(nova.NOVA_API_VERSION),
|
||||||
session=p_session.return_value, region_name=None,
|
session=p_session.return_value, region_name=None,
|
||||||
insecure=False, endpoint_type='public', cacert='my.ca',
|
insecure=False, endpoint_type='public', cacert='my.ca',
|
||||||
|
global_request_id=self.ctx.request_id,
|
||||||
timeout=None, extensions=nova.nova_extensions)
|
timeout=None, extensions=nova.nova_extensions)
|
||||||
|
|
||||||
@mock.patch('novaclient.api_versions.APIVersion')
|
@mock.patch('novaclient.api_versions.APIVersion')
|
||||||
@ -169,6 +173,7 @@ class NovaClientTestCase(test.TestCase):
|
|||||||
p_api_version(nova.NOVA_API_VERSION),
|
p_api_version(nova.NOVA_API_VERSION),
|
||||||
session=p_session.return_value, region_name='farfaraway',
|
session=p_session.return_value, region_name='farfaraway',
|
||||||
insecure=False, endpoint_type='public', cacert='my.ca',
|
insecure=False, endpoint_type='public', cacert='my.ca',
|
||||||
|
global_request_id=self.ctx.request_id,
|
||||||
timeout=None, extensions=nova.nova_extensions)
|
timeout=None, extensions=nova.nova_extensions)
|
||||||
|
|
||||||
def test_novaclient_exceptions(self):
|
def test_novaclient_exceptions(self):
|
||||||
|
@ -843,19 +843,21 @@ class TestGlanceClientVersion(test.TestCase):
|
|||||||
@mock.patch('cinder.image.glance.glanceclient.Client')
|
@mock.patch('cinder.image.glance.glanceclient.Client')
|
||||||
def test_glance_version_by_flag(self, _mockglanceclient):
|
def test_glance_version_by_flag(self, _mockglanceclient):
|
||||||
"""Test glance version set by flag is honoured."""
|
"""Test glance version set by flag is honoured."""
|
||||||
glance.GlanceClientWrapper('fake', 'fake_host', 9292)
|
ctx = mock.MagicMock()
|
||||||
|
glance.GlanceClientWrapper(ctx, 'fake_host', 9292)
|
||||||
self.assertEqual('2', _mockglanceclient.call_args[0][0])
|
self.assertEqual('2', _mockglanceclient.call_args[0][0])
|
||||||
self.flags(glance_api_version=1)
|
self.flags(glance_api_version=1)
|
||||||
glance.GlanceClientWrapper('fake', 'fake_host', 9292)
|
glance.GlanceClientWrapper(ctx, 'fake_host', 9292)
|
||||||
self.assertEqual('1', _mockglanceclient.call_args[0][0])
|
self.assertEqual('1', _mockglanceclient.call_args[0][0])
|
||||||
CONF.reset()
|
CONF.reset()
|
||||||
|
|
||||||
@mock.patch('cinder.image.glance.glanceclient.Client')
|
@mock.patch('cinder.image.glance.glanceclient.Client')
|
||||||
def test_glance_version_by_arg(self, _mockglanceclient):
|
def test_glance_version_by_arg(self, _mockglanceclient):
|
||||||
"""Test glance version set by arg to GlanceClientWrapper"""
|
"""Test glance version set by arg to GlanceClientWrapper"""
|
||||||
glance.GlanceClientWrapper('fake', 'fake_host', 9292, version=1)
|
ctx = mock.MagicMock()
|
||||||
|
glance.GlanceClientWrapper(ctx, 'fake_host', 9292, version=1)
|
||||||
self.assertEqual('1', _mockglanceclient.call_args[0][0])
|
self.assertEqual('1', _mockglanceclient.call_args[0][0])
|
||||||
glance.GlanceClientWrapper('fake', 'fake_host', 9292, version=2)
|
glance.GlanceClientWrapper(ctx, 'fake_host', 9292, version=2)
|
||||||
self.assertEqual('2', _mockglanceclient.call_args[0][0])
|
self.assertEqual('2', _mockglanceclient.call_args[0][0])
|
||||||
|
|
||||||
@mock.patch('cinder.image.glance.glanceclient.Client')
|
@mock.patch('cinder.image.glance.glanceclient.Client')
|
||||||
@ -864,7 +866,8 @@ class TestGlanceClientVersion(test.TestCase):
|
|||||||
def test_call_glance_version_by_arg(self, api_servers, _mockglanceclient):
|
def test_call_glance_version_by_arg(self, api_servers, _mockglanceclient):
|
||||||
"""Test glance version set by arg to GlanceClientWrapper"""
|
"""Test glance version set by arg to GlanceClientWrapper"""
|
||||||
glance_wrapper = glance.GlanceClientWrapper()
|
glance_wrapper = glance.GlanceClientWrapper()
|
||||||
glance_wrapper.call('fake_context', 'method', version=2)
|
ctx = mock.MagicMock()
|
||||||
|
glance_wrapper.call(ctx, 'method', version=2)
|
||||||
|
|
||||||
self.assertEqual('2', _mockglanceclient.call_args[0][0])
|
self.assertEqual('2', _mockglanceclient.call_args[0][0])
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ pyparsing>=2.1.0 # MIT
|
|||||||
python-barbicanclient>=4.0.0 # Apache-2.0
|
python-barbicanclient>=4.0.0 # Apache-2.0
|
||||||
python-glanceclient>=2.7.0 # Apache-2.0
|
python-glanceclient>=2.7.0 # Apache-2.0
|
||||||
python-keystoneclient>=3.8.0 # Apache-2.0
|
python-keystoneclient>=3.8.0 # Apache-2.0
|
||||||
python-novaclient>=7.1.0 # Apache-2.0
|
python-novaclient>=9.0.0 # Apache-2.0
|
||||||
python-swiftclient>=3.2.0 # Apache-2.0
|
python-swiftclient>=3.2.0 # Apache-2.0
|
||||||
pytz>=2013.6 # MIT
|
pytz>=2013.6 # MIT
|
||||||
requests!=2.12.2,!=2.13.0,>=2.10.0 # Apache-2.0
|
requests!=2.12.2,!=2.13.0,>=2.10.0 # Apache-2.0
|
||||||
|
Loading…
Reference in New Issue
Block a user