From db99f8f66189c9c83020baf3d7cfa3e14f27bd88 Mon Sep 17 00:00:00 2001 From: Kyrylo Romanenko Date: Tue, 4 Jul 2017 14:51:20 +0300 Subject: [PATCH] Skip warning when changing target_raid_config Warning "Please specify what to set/unset" should not be displayed when only target_raid_config field changed. Closes-Bug: #1702120 Change-Id: I493d22fae97ff090909205654b3a266495476345 --- ironicclient/osc/v1/baremetal_node.py | 4 ++-- .../tests/unit/osc/v1/test_baremetal_node.py | 12 ++++++++++++ ...et-unset-target-raid-config-9a1cecb5620eafda.yaml | 5 +++++ 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 releasenotes/notes/osc-plugin-set-unset-target-raid-config-9a1cecb5620eafda.yaml diff --git a/ironicclient/osc/v1/baremetal_node.py b/ironicclient/osc/v1/baremetal_node.py index e108a627e..7d626582d 100755 --- a/ironicclient/osc/v1/baremetal_node.py +++ b/ironicclient/osc/v1/baremetal_node.py @@ -1137,7 +1137,7 @@ class SetBaremetalNode(command.Command): in parsed_args.instance_info])) if properties: baremetal_client.node.update(parsed_args.node, properties) - else: + elif not parsed_args.target_raid_config: self.log.warning("Please specify what to set.") @@ -1418,7 +1418,7 @@ class UnsetBaremetalNode(command.Command): ['vendor_interface'])) if properties: baremetal_client.node.update(parsed_args.node, properties) - else: + elif not parsed_args.target_raid_config: self.log.warning("Please specify what to unset.") diff --git a/ironicclient/tests/unit/osc/v1/test_baremetal_node.py b/ironicclient/tests/unit/osc/v1/test_baremetal_node.py index ffcbc271e..ce31c01e8 100644 --- a/ironicclient/tests/unit/osc/v1/test_baremetal_node.py +++ b/ironicclient/tests/unit/osc/v1/test_baremetal_node.py @@ -1939,6 +1939,7 @@ class TestBaremetalSet(TestBaremetal): @mock.patch.object(commonutils, 'get_from_stdin', autospec=True) @mock.patch.object(commonutils, 'handle_json_or_file_arg', autospec=True) def test_baremetal_set_target_raid_config(self, mock_handle, mock_stdin): + self.cmd.log = mock.Mock(autospec=True) target_raid_config_string = '{"raid": "config"}' expected_target_raid_config = {'raid': 'config'} mock_handle.return_value = expected_target_raid_config.copy() @@ -1951,6 +1952,7 @@ class TestBaremetalSet(TestBaremetal): parsed_args = self.check_parser(self.cmd, arglist, verifylist) self.cmd.take_action(parsed_args) + self.cmd.log.warning.assert_not_called() self.assertFalse(mock_stdin.called) mock_handle.assert_called_once_with(target_raid_config_string) self.baremetal_mock.node.set_target_raid_config.\ @@ -1961,6 +1963,7 @@ class TestBaremetalSet(TestBaremetal): @mock.patch.object(commonutils, 'handle_json_or_file_arg', autospec=True) def test_baremetal_set_target_raid_config_and_name( self, mock_handle, mock_stdin): + self.cmd.log = mock.Mock(autospec=True) target_raid_config_string = '{"raid": "config"}' expected_target_raid_config = {'raid': 'config'} mock_handle.return_value = expected_target_raid_config.copy() @@ -1975,6 +1978,7 @@ class TestBaremetalSet(TestBaremetal): parsed_args = self.check_parser(self.cmd, arglist, verifylist) self.cmd.take_action(parsed_args) + self.cmd.log.warning.assert_not_called() self.assertFalse(mock_stdin.called) mock_handle.assert_called_once_with(target_raid_config_string) self.baremetal_mock.node.set_target_raid_config.\ @@ -1987,6 +1991,7 @@ class TestBaremetalSet(TestBaremetal): @mock.patch.object(commonutils, 'handle_json_or_file_arg', autospec=True) def test_baremetal_set_target_raid_config_stdin(self, mock_handle, mock_stdin): + self.cmd.log = mock.Mock(autospec=True) target_value = '-' target_raid_config_string = '{"raid": "config"}' expected_target_raid_config = {'raid': 'config'} @@ -2001,6 +2006,7 @@ class TestBaremetalSet(TestBaremetal): parsed_args = self.check_parser(self.cmd, arglist, verifylist) self.cmd.take_action(parsed_args) + self.cmd.log.warning.assert_not_called() mock_stdin.assert_called_once_with('target_raid_config') mock_handle.assert_called_once_with(target_raid_config_string) self.baremetal_mock.node.set_target_raid_config.\ @@ -2011,6 +2017,7 @@ class TestBaremetalSet(TestBaremetal): @mock.patch.object(commonutils, 'handle_json_or_file_arg', autospec=True) def test_baremetal_set_target_raid_config_stdin_exception( self, mock_handle, mock_stdin): + self.cmd.log = mock.Mock(autospec=True) target_value = '-' mock_stdin.side_effect = exc.InvalidAttribute('bad') @@ -2023,6 +2030,7 @@ class TestBaremetalSet(TestBaremetal): self.assertRaises(exc.InvalidAttribute, self.cmd.take_action, parsed_args) + self.cmd.log.warning.assert_not_called() mock_stdin.assert_called_once_with('target_raid_config') self.assertFalse(mock_handle.called) self.assertFalse( @@ -2358,6 +2366,7 @@ class TestBaremetalUnset(TestBaremetal): ) def test_baremetal_unset_target_raid_config(self): + self.cmd.log = mock.Mock(autospec=True) arglist = [ 'node_uuid', '--target-raid-config', @@ -2371,11 +2380,13 @@ class TestBaremetalUnset(TestBaremetal): self.cmd.take_action(parsed_args) + self.cmd.log.warning.assert_not_called() self.assertFalse(self.baremetal_mock.node.update.called) self.baremetal_mock.node.set_target_raid_config.\ assert_called_once_with('node_uuid', {}) def test_baremetal_unset_target_raid_config_and_name(self): + self.cmd.log = mock.Mock(autospec=True) arglist = [ 'node_uuid', '--name', @@ -2391,6 +2402,7 @@ class TestBaremetalUnset(TestBaremetal): self.cmd.take_action(parsed_args) + self.cmd.log.warning.assert_not_called() self.baremetal_mock.node.set_target_raid_config.\ assert_called_once_with('node_uuid', {}) self.baremetal_mock.node.update.assert_called_once_with( diff --git a/releasenotes/notes/osc-plugin-set-unset-target-raid-config-9a1cecb5620eafda.yaml b/releasenotes/notes/osc-plugin-set-unset-target-raid-config-9a1cecb5620eafda.yaml new file mode 100644 index 000000000..65dc6ce5f --- /dev/null +++ b/releasenotes/notes/osc-plugin-set-unset-target-raid-config-9a1cecb5620eafda.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - No longer emits the incorrect warning "Please specify what to set/unset" + when only the --target-raid-config is specified in the + ``openstack baremetal node set/unset`` command.