Fix of verify_glance_api_versions
verify_glance_api_versions was used .get_versions() method which is work correctly only for RestClient and not applicable to child with defined property api_version. Now it's switched to _get_api_versions method. Change-Id: Ie5e7b384d3a661f22b3f1d16ffca2beeb41de954 Partial-Bug: 1611771
This commit is contained in:
parent
81086e4cc4
commit
ff865d625c
|
@ -69,7 +69,7 @@ def contains_version(prefix, versions):
|
|||
|
||||
def verify_glance_api_versions(os, update):
|
||||
# Check glance api versions
|
||||
_, versions = os.image_client.get_versions()
|
||||
versions = _get_api_versions(os, 'glance')
|
||||
if CONF.image_feature_enabled.api_v1 != contains_version('v1.', versions):
|
||||
print_and_or_update('api_v1', 'image-feature-enabled',
|
||||
not CONF.image_feature_enabled.api_v1, update)
|
||||
|
@ -96,6 +96,7 @@ def _get_api_versions(os, service):
|
|||
'nova': os.servers_client,
|
||||
'keystone': os.identity_client,
|
||||
'cinder': os.volumes_client,
|
||||
'glance': os.image_client,
|
||||
}
|
||||
if service != 'keystone':
|
||||
# Since keystone may be listening on a path, do not remove the path.
|
||||
|
|
|
@ -217,33 +217,45 @@ class TestDiscovery(base.TestCase):
|
|||
print_mock.assert_called_once_with('api_v1', 'volume-feature-enabled',
|
||||
False, True)
|
||||
|
||||
def test_verify_glance_version_no_v2_with_v1_1(self):
|
||||
def fake_get_versions():
|
||||
return (None, ['v1.1'])
|
||||
@mock.patch('tempest.lib.common.http.ClosingHttp.request')
|
||||
def test_verify_glance_version_no_v2_with_v1_1(self, mock_request):
|
||||
self.useFixture(mockpatch.PatchObject(
|
||||
verify_tempest_config, '_get_unversioned_endpoint',
|
||||
return_value='http://fake_endpoint:5000'))
|
||||
fake_resp = {'versions': [{'id': 'v1.1'}]}
|
||||
fake_resp = json.dumps(fake_resp)
|
||||
mock_request.return_value = (None, fake_resp)
|
||||
fake_os = mock.MagicMock()
|
||||
fake_os.image_client.get_versions = fake_get_versions
|
||||
with mock.patch.object(verify_tempest_config,
|
||||
'print_and_or_update') as print_mock:
|
||||
verify_tempest_config.verify_glance_api_versions(fake_os, True)
|
||||
print_mock.assert_called_once_with('api_v2', 'image-feature-enabled',
|
||||
False, True)
|
||||
|
||||
def test_verify_glance_version_no_v2_with_v1_0(self):
|
||||
def fake_get_versions():
|
||||
return (None, ['v1.0'])
|
||||
@mock.patch('tempest.lib.common.http.ClosingHttp.request')
|
||||
def test_verify_glance_version_no_v2_with_v1_0(self, mock_request):
|
||||
self.useFixture(mockpatch.PatchObject(
|
||||
verify_tempest_config, '_get_unversioned_endpoint',
|
||||
return_value='http://fake_endpoint:5000'))
|
||||
fake_resp = {'versions': [{'id': 'v1.0'}]}
|
||||
fake_resp = json.dumps(fake_resp)
|
||||
mock_request.return_value = (None, fake_resp)
|
||||
fake_os = mock.MagicMock()
|
||||
fake_os.image_client.get_versions = fake_get_versions
|
||||
with mock.patch.object(verify_tempest_config,
|
||||
'print_and_or_update') as print_mock:
|
||||
verify_tempest_config.verify_glance_api_versions(fake_os, True)
|
||||
print_mock.assert_called_once_with('api_v2', 'image-feature-enabled',
|
||||
False, True)
|
||||
|
||||
def test_verify_glance_version_no_v1(self):
|
||||
def fake_get_versions():
|
||||
return (None, ['v2.0'])
|
||||
@mock.patch('tempest.lib.common.http.ClosingHttp.request')
|
||||
def test_verify_glance_version_no_v1(self, mock_request):
|
||||
self.useFixture(mockpatch.PatchObject(
|
||||
verify_tempest_config, '_get_unversioned_endpoint',
|
||||
return_value='http://fake_endpoint:5000'))
|
||||
fake_resp = {'versions': [{'id': 'v2.0'}]}
|
||||
fake_resp = json.dumps(fake_resp)
|
||||
mock_request.return_value = (None, fake_resp)
|
||||
fake_os = mock.MagicMock()
|
||||
fake_os.image_client.get_versions = fake_get_versions
|
||||
with mock.patch.object(verify_tempest_config,
|
||||
'print_and_or_update') as print_mock:
|
||||
verify_tempest_config.verify_glance_api_versions(fake_os, True)
|
||||
|
|
Loading…
Reference in New Issue