summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDhanuka <42544330+dnuka@users.noreply.github.com>2019-01-11 19:46:20 +0530
committerToshio Kuratomi <a.badger@gmail.com>2019-01-14 12:43:49 -0800
commit361f34b4feb2daa37fe9bd479497a38edbf7b7ac (patch)
treed4a9635609b6431a98089e6166e45255230ffe39
parent40cec0e4f45073765511919095e0452b8e76e3f5 (diff)
downloadansible-361f34b4feb2daa37fe9bd479497a38edbf7b7ac.tar.gz
redfish_utils: fix reference to local variable 'systems_service' (#50298)
* fixes issue 50296 * fixes the indentation of the return statement * Adds a conditional test into `_find_systems_resource()` to check the existence of the Members of System resource * updates the error message * harden the conditional test * Add a changelog (cherry picked from commit 94a1d86d70f02c1c7fa55426a428e656566c1359)
-rw-r--r--changelogs/fragments/50298-redfish_utils_fix_reference_to_local_variable_systems_service.yaml3
-rw-r--r--lib/ansible/module_utils/redfish_utils.py12
2 files changed, 11 insertions, 4 deletions
diff --git a/changelogs/fragments/50298-redfish_utils_fix_reference_to_local_variable_systems_service.yaml b/changelogs/fragments/50298-redfish_utils_fix_reference_to_local_variable_systems_service.yaml
new file mode 100644
index 0000000000..4ce58f7c00
--- /dev/null
+++ b/changelogs/fragments/50298-redfish_utils_fix_reference_to_local_variable_systems_service.yaml
@@ -0,0 +1,3 @@
+---
+bugfixes:
+- redfish_utils - fix reference to local variable 'systems_service'
diff --git a/lib/ansible/module_utils/redfish_utils.py b/lib/ansible/module_utils/redfish_utils.py
index d6b81069da..df601d80d9 100644
--- a/lib/ansible/module_utils/redfish_utils.py
+++ b/lib/ansible/module_utils/redfish_utils.py
@@ -128,10 +128,14 @@ class RedfishUtils(object):
if response['ret'] is False:
return response
data = response['data']
- for member in data[u'Members']:
- systems_service = member[u'@odata.id']
- self.systems_uri = systems_service
- return {'ret': True}
+ if data.get(u'Members'):
+ for member in data[u'Members']:
+ systems_service = member[u'@odata.id']
+ self.systems_uri = systems_service
+ return {'ret': True}
+ else:
+ return {'ret': False,
+ 'msg': "ComputerSystem's Members array is either empty or missing"}
def _find_updateservice_resource(self, uri):
response = self.get_request(self.root_uri + uri)