diff options
author | Dhanuka <42544330+dnuka@users.noreply.github.com> | 2019-01-11 19:46:20 +0530 |
---|---|---|
committer | Toshio Kuratomi <a.badger@gmail.com> | 2019-01-14 12:43:49 -0800 |
commit | 361f34b4feb2daa37fe9bd479497a38edbf7b7ac (patch) | |
tree | d4a9635609b6431a98089e6166e45255230ffe39 | |
parent | 40cec0e4f45073765511919095e0452b8e76e3f5 (diff) | |
download | ansible-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.yaml | 3 | ||||
-rw-r--r-- | lib/ansible/module_utils/redfish_utils.py | 12 |
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) |