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
diff --git a/tempest/cmd/verify_tempest_config.py b/tempest/cmd/verify_tempest_config.py
index 77b88f9..f07c2cf 100644
--- a/tempest/cmd/verify_tempest_config.py
+++ b/tempest/cmd/verify_tempest_config.py
@@ -69,7 +69,7 @@
 
 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 @@
         '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.
diff --git a/tempest/tests/cmd/test_verify_tempest_config.py b/tempest/tests/cmd/test_verify_tempest_config.py
index 70cbf87..3fe3200 100644
--- a/tempest/tests/cmd/test_verify_tempest_config.py
+++ b/tempest/tests/cmd/test_verify_tempest_config.py
@@ -217,33 +217,45 @@
         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)