From c68131decf5da1bd3aa5dc037eafc57d9d02554e Mon Sep 17 00:00:00 2001 From: Christopher Uhler Date: Fri, 19 May 2017 22:52:55 +0530 Subject: [PATCH] Return correct device path from Veritas connector Libvirt volume driver for Veritas Hyperscale requires that connect_volume return a different device_path. Volume driver review link is here: https://review.openstack.org/#/c/ 443951/16/nova/virt/libvirt/volume/vrtshyperscale.py@64 Change-Id: Id55dd78b65887336449145a684fe67c5bffb8dcf Closes-Bug: 1691925 --- .../initiator/connectors/vrtshyperscale.py | 4 +--- .../connectors/test_vrtshyperscale.py | 18 +++++++++--------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/os_brick/initiator/connectors/vrtshyperscale.py b/os_brick/initiator/connectors/vrtshyperscale.py index b9322ce34..aa0a50478 100644 --- a/os_brick/initiator/connectors/vrtshyperscale.py +++ b/os_brick/initiator/connectors/vrtshyperscale.py @@ -110,9 +110,7 @@ class HyperScaleConnector(base.BaseLinuxConnector): device_info['vsa_ip'] = payload.get('vsa_ip') device_info['device_path'] = ( - "oflame://" + device_info['vsa_ip'] + ":9999/%7B" + - volume_name[1:-1] + "%7D") - + '/dev/' + connection_properties['name'][1:32]) refl_factor = int(payload.get('refl_factor')) device_info['refl_factor'] = str(refl_factor) diff --git a/os_brick/tests/initiator/connectors/test_vrtshyperscale.py b/os_brick/tests/initiator/connectors/test_vrtshyperscale.py index b471e88d3..59e73f198 100644 --- a/os_brick/tests/initiator/connectors/test_vrtshyperscale.py +++ b/os_brick/tests/initiator/connectors/test_vrtshyperscale.py @@ -21,6 +21,9 @@ from os_brick import exception from os_brick.initiator.connectors import vrtshyperscale from os_brick.tests.initiator import test_connector +DEVICE_NAME = '{8ee71c33-dcd0-4267-8f2b-e0742ecabe9f}' +DEVICE_PATH = '/dev/8ee71c33-dcd0-4267-8f2b-e0742ec' + class HyperScaleConnectorTestCase(test_connector.ConnectorTestCase): """Test cases for Veritas HyperScale os-brick connector.""" @@ -67,17 +70,14 @@ class HyperScaleConnectorTestCase(test_connector.ConnectorTestCase): connector = vrtshyperscale.HyperScaleConnector( 'sudo', execute=self._fake_execute_success) fake_connection_properties = { - 'name': '{8ee71c33-dcd0-4267-8f2b-e0742ecabe9f}' + 'name': DEVICE_NAME } device_info = connector.connect_volume(fake_connection_properties) self.assertEqual('192.0.2.2', device_info['vsa_ip']) self.assertEqual('2', device_info['refl_factor']) self.assertEqual('192.0.2.3,192.0.2.4', device_info['refl_targets']) - self.assertEqual( - 'oflame://192.0.2.2:9999/' - '%7B8ee71c33-dcd0-4267-8f2b-e0742ecabe9f%7D', - device_info['device_path']) + self.assertEqual(DEVICE_PATH, device_info['device_path']) def test_connect_volume_arg_missing(self): """Test connect_volume with missing missing arguments""" @@ -93,7 +93,7 @@ class HyperScaleConnectorTestCase(test_connector.ConnectorTestCase): connector = vrtshyperscale.HyperScaleConnector( 'sudo', execute=self._fake_execute_hscli_missing) fake_connection_properties = { - 'name': '{8ee71c33-dcd0-4267-8f2b-e0742ecabe9f}' + 'name': DEVICE_NAME } self.assertRaises(exception.BrickException, connector.connect_volume, @@ -104,7 +104,7 @@ class HyperScaleConnectorTestCase(test_connector.ConnectorTestCase): connector = vrtshyperscale.HyperScaleConnector( 'sudo', execute=self._fake_execute_hscli_err) fake_connection_properties = { - 'name': '{8ee71c33-dcd0-4267-8f2b-e0742ecabe9f}' + 'name': DEVICE_NAME } self.assertRaises(exception.BrickException, connector.connect_volume, @@ -115,7 +115,7 @@ class HyperScaleConnectorTestCase(test_connector.ConnectorTestCase): connector = vrtshyperscale.HyperScaleConnector( 'sudo', execute=self._fake_execute_hscli_res_inval) fake_connection_properties = { - 'name': '{8ee71c33-dcd0-4267-8f2b-e0742ecabe9f}' + 'name': DEVICE_NAME } self.assertRaises(exception.BrickException, connector.connect_volume, @@ -126,7 +126,7 @@ class HyperScaleConnectorTestCase(test_connector.ConnectorTestCase): connector = vrtshyperscale.HyperScaleConnector( 'sudo', execute=self._fake_execute_success) fake_connection_properties = { - 'name': '{8ee71c33-dcd0-4267-8f2b-e0742ecabe9f}' + 'name': DEVICE_NAME } fake_device_info = {} connector.disconnect_volume(fake_connection_properties,