From b6360378d103c88d4b0c80a581fe3968f9cad2d3 Mon Sep 17 00:00:00 2001 From: Lin Yang Date: Fri, 8 Sep 2017 10:59:42 -0700 Subject: [PATCH] Allow user to only specify capacity parameter Previously, the endpoint parameter is required for attaching storage. It returns InvalidParameterValueError exception when user only specify capacity parameter. Fixed it by checking endpoint only when it is not None. Change-Id: Ie3da659f5c8e4fe35e19dc3ba60db7c83b6cfae7 --- rsd_lib/resources/node/node.py | 2 +- rsd_lib/tests/unit/resources/node/test_node.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/rsd_lib/resources/node/node.py b/rsd_lib/resources/node/node.py index e8d2566..50f8d73 100644 --- a/rsd_lib/resources/node/node.py +++ b/rsd_lib/resources/node/node.py @@ -306,7 +306,7 @@ class Node(base.ResourceBase): valid_endpoints = attach_action.allowed_values target_uri = attach_action.target_uri - if endpoint not in valid_endpoints: + if endpoint and endpoint not in valid_endpoints: raise exceptions.InvalidParameterValueError( parameter='endpoint', value=endpoint, valid_values=valid_endpoints) diff --git a/rsd_lib/tests/unit/resources/node/test_node.py b/rsd_lib/tests/unit/resources/node/test_node.py index c783019..e787c25 100644 --- a/rsd_lib/tests/unit/resources/node/test_node.py +++ b/rsd_lib/tests/unit/resources/node/test_node.py @@ -183,6 +183,12 @@ class NodeTestCase(testtools.TestCase): self.node_inst.attach_endpoint, endpoint='invalid') + def test_attach_endpoint_only_with_capacity_parameter(self): + self.node_inst.attach_endpoint(capacity=100) + self.node_inst._conn.post.assert_called_once_with( + '/redfish/v1/Nodes/Node1/Actions/ComposedNode.AttachEndpoint', + data={'CapacityGiB': 100}) + def test_detach_endpoint(self): self.node_inst.detach_endpoint( endpoint='/redfish/v1/Chassis/PCIeSwitchChassis/Drives/Disk.Bay.3')