rbd: Correct local_attach disconnect test and showmapped arguments

Id507109df80391699074773f4787f74507c4b882 introduced the showmapped
command when attempting to disconnect locally attached rbd volumes.
Unfortunately at the time the test changes incorrectly attempted to
assert the commands made by using has_calls instead of the valid
assert_has_calls method.

This change now corrects this, ensures _get_rbd_args is called to
populate all of the required arguments for the showmapped command and
finally corrects the name stored within the fake showmapped output in
the test.

Change-Id: I7e761828b3799cef720e15ca7896e8e8d6f98182
changes/20/726120/2
Eric Harney 2 years ago committed by Lee Yarwood
parent 73434e0152
commit 71331b0e06
  1. 1
      os_brick/initiator/connectors/rbd.py
  2. 6
      os_brick/tests/initiator/connectors/test_rbd.py

@ -217,6 +217,7 @@ class RBDConnector(base.BaseLinuxConnector):
"""
__, volume = connection_properties['name'].split('/')
cmd = ['rbd', 'showmapped', '--format=json']
cmd += self._get_rbd_args(connection_properties)
(out, err) = self._execute(*cmd, root_helper=self._root_helper,
run_as_root=True)
for index, mapping in jsonutils.loads(out).items():

@ -259,8 +259,8 @@ class RBDConnectorTestCase(test_connector.ConnectorTestCase):
'hosts': ['192.168.10.2'],
'ports': ['6789']}
mock_execute.side_effect = [("""
{"0":{"pool":"pool","device":"/dev/rbd0","name":"pool-image"},
"1":{"pool":"pool","device":"/dev/rdb1","name":"pool-image_2"}}""", None),
{"0":{"pool":"pool","device":"/dev/rbd0","name":"image"},
"1":{"pool":"pool","device":"/dev/rdb1","name":"image_2"}}""", None),
(None, None)]
show_cmd = ['rbd', 'showmapped', '--format=json', '--id', 'fake_user',
'--mon_host', '192.168.10.2:6789']
@ -270,7 +270,7 @@ class RBDConnectorTestCase(test_connector.ConnectorTestCase):
rbd_connector.disconnect_volume(conn, None)
# Assert that showmapped is used before we unmap the root device
mock_execute.has_calls([
mock_execute.assert_has_calls([
mock.call(*show_cmd, root_helper=None, run_as_root=True),
mock.call(*unmap_cmd, root_helper=None, run_as_root=True)])

Loading…
Cancel
Save