From be197a6197e803b6334f2ccf72f561245ef7aac7 Mon Sep 17 00:00:00 2001
From: Shobhi Jain <shobhi.jain@intel.com>
Date: Fri, 6 Apr 2018 11:41:54 +0100
Subject: [PATCH] Replace cinder get_volume_id with shade client.

Function get_volume_id now uses shade client.

JIRA: YARDSTICK-891

Change-Id: I45ae40982a64f677dbbdeb6c9510a0ec9ac973f1
Signed-off-by: Shobhi Jain <shobhi.jain@intel.com>
---
 yardstick/common/openstack_utils.py                |  5 ++---
 .../tests/unit/common/test_openstack_utils.py      | 22 ++++++++++++++++++++++
 2 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/yardstick/common/openstack_utils.py b/yardstick/common/openstack_utils.py
index 53f0ccc34..5a83ddb24 100644
--- a/yardstick/common/openstack_utils.py
+++ b/yardstick/common/openstack_utils.py
@@ -784,9 +784,8 @@ def list_images(shade_client=None):
 # *********************************************
 #   CINDER
 # *********************************************
-def get_volume_id(volume_name):    # pragma: no cover
-    volumes = get_cinder_client().volumes.list()
-    return next((v.id for v in volumes if v.name == volume_name), None)
+def get_volume_id(shade_client, volume_name):
+    return shade_client.get_volume_id(volume_name)
 
 
 def create_volume(cinder_client, volume_name, volume_size,
diff --git a/yardstick/tests/unit/common/test_openstack_utils.py b/yardstick/tests/unit/common/test_openstack_utils.py
index 67ca826a5..cc19d98b4 100644
--- a/yardstick/tests/unit/common/test_openstack_utils.py
+++ b/yardstick/tests/unit/common/test_openstack_utils.py
@@ -536,3 +536,25 @@ class GetFlavorTestCase(unittest.TestCase):
                                             'flavor_name_or_id')
         mock_logger.error.assert_called_once()
         self.assertIsNone(output)
+
+# *********************************************
+#   CINDER
+# *********************************************
+
+
+class GetVolumeIDTestCase(unittest.TestCase):
+
+    def test_get_volume_id(self):
+        self.mock_shade_client = mock.Mock()
+        _uuid = uuidutils.generate_uuid()
+        self.mock_shade_client.get_volume_id.return_value = _uuid
+        output = openstack_utils.get_volume_id(self.mock_shade_client,
+                                               'volume_name')
+        self.assertEqual(_uuid, output)
+
+    def test_get_volume_id_None(self):
+        self.mock_shade_client = mock.Mock()
+        self.mock_shade_client.get_volume_id.return_value = None
+        output = openstack_utils.get_volume_id(self.mock_shade_client,
+                                               'volume_name')
+        self.assertIsNone(output)
-- 
2.16.6