Fix several bugs in verify_tempest_config

The version of get_versions() in tempest_lib somehow lost the removal
of the first argument so we need to capture it.
The version checking was looking for explicit minor version matches but
it seems that some services bumped them. This commit fixes the check to
only look for a match against the major veresion number.

Note that the unit tests were passing in spite of this bug. It would be better
if devstack failed when calling this script if there were any changes
suggested.

Change-Id: I0eba11d54b63dc2078e6987789933c1dc4650b71
diff --git a/tempest/cmd/verify_tempest_config.py b/tempest/cmd/verify_tempest_config.py
index f51d9aa..2269d41 100755
--- a/tempest/cmd/verify_tempest_config.py
+++ b/tempest/cmd/verify_tempest_config.py
@@ -57,14 +57,17 @@
         change_option(option, group, value)
 
 
+def contains_version(prefix, versions):
+    return any([x for x in versions if x.startswith(prefix)])
+
+
 def verify_glance_api_versions(os, update):
     # Check glance api versions
-    versions = os.image_client.get_versions()
-    if CONF.image_feature_enabled.api_v1 != ('v1.1' in versions or 'v1.0' in
-                                             versions):
+    _, versions = os.image_client.get_versions()
+    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)
-    if CONF.image_feature_enabled.api_v2 != ('v2.0' in versions):
+    if CONF.image_feature_enabled.api_v2 != contains_version('v2.', versions):
         print_and_or_update('api_v2', 'image_feature_enabled',
                             not CONF.image_feature_enabled.api_v2, update)
 
@@ -100,10 +103,12 @@
 def verify_keystone_api_versions(os, update):
     # Check keystone api versions
     versions = _get_api_versions(os, 'keystone')
-    if CONF.identity_feature_enabled.api_v2 != ('v2.0' in versions):
+    if (CONF.identity_feature_enabled.api_v2 !=
+            contains_version('v2.', versions)):
         print_and_or_update('api_v2', 'identity_feature_enabled',
                             not CONF.identity_feature_enabled.api_v2, update)
-    if CONF.identity_feature_enabled.api_v3 != ('v3.0' in versions):
+    if (CONF.identity_feature_enabled.api_v3 !=
+            contains_version('v3.', versions)):
         print_and_or_update('api_v3', 'identity_feature_enabled',
                             not CONF.identity_feature_enabled.api_v3, update)
 
@@ -111,10 +116,12 @@
 def verify_cinder_api_versions(os, update):
     # Check cinder api versions
     versions = _get_api_versions(os, 'cinder')
-    if CONF.volume_feature_enabled.api_v1 != ('v1.0' in versions):
+    if (CONF.volume_feature_enabled.api_v1 !=
+            contains_version('v1.', versions)):
         print_and_or_update('api_v1', 'volume_feature_enabled',
                             not CONF.volume_feature_enabled.api_v1, update)
-    if CONF.volume_feature_enabled.api_v2 != ('v2.0' in versions):
+    if (CONF.volume_feature_enabled.api_v2 !=
+            contains_version('v2.', versions)):
         print_and_or_update('api_v2', 'volume_feature_enabled',
                             not CONF.volume_feature_enabled.api_v2, update)
 
diff --git a/tempest/tests/cmd/test_verify_tempest_config.py b/tempest/tests/cmd/test_verify_tempest_config.py
index b9afd5e..7286d76 100644
--- a/tempest/tests/cmd/test_verify_tempest_config.py
+++ b/tempest/tests/cmd/test_verify_tempest_config.py
@@ -164,7 +164,7 @@
 
     def test_verify_glance_version_no_v2_with_v1_1(self):
         def fake_get_versions():
-            return (['v1.1'])
+            return (None, ['v1.1'])
         fake_os = mock.MagicMock()
         fake_os.image_client.get_versions = fake_get_versions
         with mock.patch.object(verify_tempest_config,
@@ -175,7 +175,7 @@
 
     def test_verify_glance_version_no_v2_with_v1_0(self):
         def fake_get_versions():
-            return (['v1.0'])
+            return (None, ['v1.0'])
         fake_os = mock.MagicMock()
         fake_os.image_client.get_versions = fake_get_versions
         with mock.patch.object(verify_tempest_config,
@@ -186,7 +186,7 @@
 
     def test_verify_glance_version_no_v1(self):
         def fake_get_versions():
-            return (['v2.0'])
+            return (None, ['v2.0'])
         fake_os = mock.MagicMock()
         fake_os.image_client.get_versions = fake_get_versions
         with mock.patch.object(verify_tempest_config,