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
This commit is contained in:
parent
90d0b43ee3
commit
c68131decf
|
@ -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)
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue