From f00ffebea61f94f2334d1c1578bc23986bbcf58c Mon Sep 17 00:00:00 2001 From: Sean McGinnis Date: Wed, 4 Apr 2018 14:56:27 -0500 Subject: [PATCH] Remove invalid 'unlock-volume' migration arg There is an optional flag that can be passed in to a volume migration to tell Cinder to 'lock' a volume so no other process can abort the migration. This is reflected correctly with the --lock-volume argument flag to `openstack volume migrate`, but there is another --unlock-volume flag that is shown in the help text for this command that does not do anything and is not used anywhere. Since there is no action to "unlock" a volume, this just causes confusion - including for Cinder developers that know this API. To avoid confusion, this invalid flag should just be removed from the command. Change-Id: I5f111ed58803a1bf5d34e828341d735099247108 --- doc/source/cli/command-objects/volume.rst | 9 +------ .../tests/unit/volume/v2/test_volume.py | 24 ------------------- openstackclient/volume/v2/volume.py | 10 +------- .../notes/unlock-volume-a6990fc3bf1f5f67.yaml | 5 ++++ 4 files changed, 7 insertions(+), 41 deletions(-) create mode 100644 releasenotes/notes/unlock-volume-a6990fc3bf1f5f67.yaml diff --git a/doc/source/cli/command-objects/volume.rst b/doc/source/cli/command-objects/volume.rst index a06a5d400..fd704b04c 100644 --- a/doc/source/cli/command-objects/volume.rst +++ b/doc/source/cli/command-objects/volume.rst @@ -226,7 +226,7 @@ Migrate volume to a new host openstack volume migrate --host [--force-host-copy] - [--lock-volume | --unlock-volume] + [--lock-volume] .. option:: --host @@ -245,13 +245,6 @@ Migrate volume to a new host *Volume version 2 only* -.. option:: --unlock-volume - - If specified, the volume state will not be locked and the a - migration can be aborted (default) (possibly by another operation) - - *Volume version 2 only* - .. _volume_migrate-volume: .. describe:: diff --git a/openstackclient/tests/unit/volume/v2/test_volume.py b/openstackclient/tests/unit/volume/v2/test_volume.py index 2fa924b8a..f9a8b7c68 100644 --- a/openstackclient/tests/unit/volume/v2/test_volume.py +++ b/openstackclient/tests/unit/volume/v2/test_volume.py @@ -1320,7 +1320,6 @@ class TestVolumeMigrate(TestVolume): verifylist = [ ("force_host_copy", False), ("lock_volume", False), - ("unlock_volume", False), ("host", "host@backend-name#pool"), ("volume", self._volume.id), ] @@ -1342,7 +1341,6 @@ class TestVolumeMigrate(TestVolume): verifylist = [ ("force_host_copy", True), ("lock_volume", True), - ("unlock_volume", False), ("host", "host@backend-name#pool"), ("volume", self._volume.id), ] @@ -1354,27 +1352,6 @@ class TestVolumeMigrate(TestVolume): self._volume.id, "host@backend-name#pool", True, True) self.assertIsNone(result) - def test_volume_migrate_with_unlock_volume(self): - arglist = [ - "--unlock-volume", - "--host", "host@backend-name#pool", - self._volume.id, - ] - verifylist = [ - ("force_host_copy", False), - ("lock_volume", False), - ("unlock_volume", True), - ("host", "host@backend-name#pool"), - ("volume", self._volume.id), - ] - parsed_args = self.check_parser(self.cmd, arglist, verifylist) - - result = self.cmd.take_action(parsed_args) - self.volumes_mock.get.assert_called_once_with(self._volume.id) - self.volumes_mock.migrate_volume.assert_called_once_with( - self._volume.id, "host@backend-name#pool", False, False) - self.assertIsNone(result) - def test_volume_migrate_without_host(self): arglist = [ self._volume.id, @@ -1382,7 +1359,6 @@ class TestVolumeMigrate(TestVolume): verifylist = [ ("force_host_copy", False), ("lock_volume", False), - ("unlock_volume", False), ("volume", self._volume.id), ] diff --git a/openstackclient/volume/v2/volume.py b/openstackclient/volume/v2/volume.py index 61f846b02..55b7fac30 100644 --- a/openstackclient/volume/v2/volume.py +++ b/openstackclient/volume/v2/volume.py @@ -472,21 +472,13 @@ class MigrateVolume(command.Command): help=_("Enable generic host-based force-migration, " "which bypasses driver optimizations") ) - lock_group = parser.add_mutually_exclusive_group() - lock_group.add_argument( + parser.add_argument( '--lock-volume', action="store_true", help=_("If specified, the volume state will be locked " "and will not allow a migration to be aborted " "(possibly by another operation)") ) - lock_group.add_argument( - '--unlock-volume', - action="store_true", - help=_("If specified, the volume state will not be " - "locked and the a migration can be aborted " - "(default) (possibly by another operation)") - ) return parser def take_action(self, parsed_args): diff --git a/releasenotes/notes/unlock-volume-a6990fc3bf1f5f67.yaml b/releasenotes/notes/unlock-volume-a6990fc3bf1f5f67.yaml new file mode 100644 index 000000000..60124bf89 --- /dev/null +++ b/releasenotes/notes/unlock-volume-a6990fc3bf1f5f67.yaml @@ -0,0 +1,5 @@ +--- +upgrade: + - | + The ``volume migrate --unlock`` argument did not actually do anything and + has now been removed.