Log warning if no property for (Un)Set commands
For the OSC baremetal commands that Set or Unset properties of a chassis or port, a warning is logged if the command is invoked without any properties being specified. This makes the behaviour similar to that for the node resource. Change-Id: I78255924daab12f83ea8221bb7a727726986d2d7
This commit is contained in:
parent
4dad0bf7cb
commit
f88d99bbc2
|
@ -20,7 +20,7 @@ import logging
|
|||
from osc_lib.command import command
|
||||
from osc_lib import utils as oscutils
|
||||
|
||||
from ironicclient.common.i18n import _
|
||||
from ironicclient.common.i18n import _, _LW
|
||||
from ironicclient.common import utils
|
||||
from ironicclient import exc
|
||||
from ironicclient.v1 import resource_fields as res_fields
|
||||
|
@ -226,7 +226,11 @@ class SetBaremetalChassis(command.Command):
|
|||
if parsed_args.extra:
|
||||
properties.extend(utils.args_array_to_patch(
|
||||
'add', ['extra/' + x for x in parsed_args.extra]))
|
||||
baremetal_client.chassis.update(parsed_args.chassis, properties)
|
||||
|
||||
if properties:
|
||||
baremetal_client.chassis.update(parsed_args.chassis, properties)
|
||||
else:
|
||||
self.log.warning(_LW("Please specify what to set."))
|
||||
|
||||
|
||||
class ShowBaremetalChassis(command.ShowOne):
|
||||
|
@ -306,4 +310,7 @@ class UnsetBaremetalChassis(command.Command):
|
|||
properties.extend(utils.args_array_to_patch('remove',
|
||||
['extra/' + x for x in parsed_args.extra]))
|
||||
|
||||
baremetal_client.chassis.update(parsed_args.chassis, properties)
|
||||
if properties:
|
||||
baremetal_client.chassis.update(parsed_args.chassis, properties)
|
||||
else:
|
||||
self.log.warning(_LW("Please specify what to unset."))
|
||||
|
|
|
@ -20,7 +20,7 @@ import logging
|
|||
from osc_lib.command import command
|
||||
from osc_lib import utils as oscutils
|
||||
|
||||
from ironicclient.common.i18n import _
|
||||
from ironicclient.common.i18n import _, _LW
|
||||
from ironicclient.common import utils
|
||||
from ironicclient import exc
|
||||
from ironicclient.v1 import resource_fields as res_fields
|
||||
|
@ -199,10 +199,11 @@ class UnsetBaremetalPort(command.Command):
|
|||
if parsed_args.portgroup:
|
||||
properties.extend(utils.args_array_to_patch('remove',
|
||||
['portgroup_uuid']))
|
||||
if not properties:
|
||||
self.log.warning("Please specify what to unset.")
|
||||
|
||||
baremetal_client.port.update(parsed_args.port, properties)
|
||||
if properties:
|
||||
baremetal_client.port.update(parsed_args.port, properties)
|
||||
else:
|
||||
self.log.warning(_LW("Please specify what to unset."))
|
||||
|
||||
|
||||
class SetBaremetalPort(command.Command):
|
||||
|
@ -264,10 +265,11 @@ class SetBaremetalPort(command.Command):
|
|||
if parsed_args.portgroup_uuid:
|
||||
portgroup_uuid = ["portgroup_uuid=%s" % parsed_args.portgroup_uuid]
|
||||
properties.extend(utils.args_array_to_patch('add', portgroup_uuid))
|
||||
if not properties:
|
||||
self.log.warning("Please specify what to set.")
|
||||
|
||||
baremetal_client.port.update(parsed_args.port, properties)
|
||||
if properties:
|
||||
baremetal_client.port.update(parsed_args.port, properties)
|
||||
else:
|
||||
self.log.warning(_LW("Please specify what to set."))
|
||||
|
||||
|
||||
class DeleteBaremetalPort(command.Command):
|
||||
|
|
|
@ -352,6 +352,15 @@ class TestChassisSet(TestChassis):
|
|||
self.check_parser,
|
||||
self.cmd, arglist, verifylist)
|
||||
|
||||
def test_chassis_set_no_property(self):
|
||||
uuid = baremetal_fakes.baremetal_chassis_uuid
|
||||
arglist = [uuid]
|
||||
verifylist = [('chassis', uuid)]
|
||||
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
self.cmd.take_action(parsed_args)
|
||||
self.assertFalse(self.baremetal_mock.chassis.update.called)
|
||||
|
||||
def test_chassis_set_description(self):
|
||||
description = 'new description'
|
||||
uuid = baremetal_fakes.baremetal_chassis_uuid
|
||||
|
@ -532,6 +541,15 @@ class TestChassisUnset(TestChassis):
|
|||
self.check_parser,
|
||||
self.cmd, arglist, verifylist)
|
||||
|
||||
def test_chassis_unset_no_property(self):
|
||||
uuid = baremetal_fakes.baremetal_chassis_uuid
|
||||
arglist = [uuid]
|
||||
verifylist = [('chassis', uuid)]
|
||||
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
self.cmd.take_action(parsed_args)
|
||||
self.assertFalse(self.baremetal_mock.chassis.update.called)
|
||||
|
||||
def test_chassis_unset_description(self):
|
||||
uuid = baremetal_fakes.baremetal_chassis_uuid
|
||||
arglist = [
|
||||
|
|
|
@ -1001,6 +1001,16 @@ class TestBaremetalSet(TestBaremetal):
|
|||
self.check_parser,
|
||||
self.cmd, arglist, verifylist)
|
||||
|
||||
def test_baremetal_set_no_property(self):
|
||||
arglist = ['node_uuid']
|
||||
verifylist = [
|
||||
('node', 'node_uuid'),
|
||||
]
|
||||
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
self.cmd.take_action(parsed_args)
|
||||
self.assertFalse(self.baremetal_mock.node.update.called)
|
||||
|
||||
def test_baremetal_set_one_property(self):
|
||||
arglist = ['node_uuid', '--property', 'path/to/property=value']
|
||||
verifylist = [
|
||||
|
@ -1484,6 +1494,14 @@ class TestBaremetalUnset(TestBaremetal):
|
|||
self.check_parser,
|
||||
self.cmd, arglist, verifylist)
|
||||
|
||||
def test_baremetal_unset_no_property(self):
|
||||
arglist = ['node_uuid']
|
||||
verifylist = [('node', 'node_uuid')]
|
||||
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
self.cmd.take_action(parsed_args)
|
||||
self.assertFalse(self.baremetal_mock.node.update.called)
|
||||
|
||||
def test_baremetal_unset_one_property(self):
|
||||
arglist = ['node_uuid', '--property', 'path/to/property']
|
||||
verifylist = [('node', 'node_uuid'),
|
||||
|
|
|
@ -231,6 +231,14 @@ class TestBaremetalPortUnset(TestBaremetalPort):
|
|||
self.check_parser,
|
||||
self.cmd, arglist, verifylist)
|
||||
|
||||
def test_baremetal_port_unset_no_property(self):
|
||||
arglist = [baremetal_fakes.baremetal_port_uuid]
|
||||
verifylist = [('port', baremetal_fakes.baremetal_port_uuid)]
|
||||
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
self.cmd.take_action(parsed_args)
|
||||
self.assertFalse(self.baremetal_mock.port.update.called)
|
||||
|
||||
def test_baremetal_port_unset_extra(self):
|
||||
arglist = ['port', '--extra', 'foo']
|
||||
verifylist = [('port', 'port'),
|
||||
|
@ -352,6 +360,14 @@ class TestBaremetalPortSet(TestBaremetalPort):
|
|||
self.check_parser,
|
||||
self.cmd, arglist, verifylist)
|
||||
|
||||
def test_baremetal_port_set_no_property(self):
|
||||
arglist = [baremetal_fakes.baremetal_port_uuid]
|
||||
verifylist = [('port', baremetal_fakes.baremetal_port_uuid)]
|
||||
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
self.cmd.take_action(parsed_args)
|
||||
self.assertFalse(self.baremetal_mock.port.update.called)
|
||||
|
||||
|
||||
class TestBaremetalPortDelete(TestBaremetalPort):
|
||||
def setUp(self):
|
||||
|
|
Loading…
Reference in New Issue