Closed Sin317 closed 2 years ago
@Sin317, could you please force reinstall the collection ansible-galaxy collection install dellemc.openmanage -f
and then re-run the playbook?
@anupamaloke i ran that command
ansible-galaxy collection install dellemc.openmanage -f
Process install dependency map
Starting collection install process
Installing 'dellemc.openmanage:4.1.0' to '/root/.ansible/collections/ansible_collections/dellemc/openmanage'
but still getting this error on re-run of playbook: File \"/usr/local/lib/python3.9/json/decoder.py\", line 355, in raw_decode\n raise JSONDecodeError(\"Expecting value\", s, err.value) from None\njson.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
detailed error:
Traceback (most recent call last):
File "/root/.ansible/tmp/ansible-tmp-1634801795.61-32306-72709204155087/AnsiballZ_idrac_firmware.py", line 247, in <module>
_ansiballz_main()
File "/root/.ansible/tmp/ansible-tmp-1634801795.61-32306-72709204155087/AnsiballZ_idrac_firmware.py", line 237, in _ansiballz_main
invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
File "/root/.ansible/tmp/ansible-tmp-1634801795.61-32306-72709204155087/AnsiballZ_idrac_firmware.py", line 108, in invoke_module
runpy.run_module(mod_name='ansible_collections.dellemc.openmanage.plugins.modules.idrac_firmware', init_globals=None, run_name='__main__', alter_sys=True)
File "/usr/local/lib/python3.9/runpy.py", line 210, in run_module
return _run_module_code(code, init_globals, run_name, mod_spec)
File "/usr/local/lib/python3.9/runpy.py", line 97, in _run_module_code
_run_code(code, mod_globals, init_globals,
File "/usr/local/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_auyble5k/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible_collections/dellemc/openmanage/plugins/modules/idrac_firmware.py", line 632, in <module>
File "/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_auyble5k/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible_collections/dellemc/openmanage/plugins/modules/idrac_firmware.py", line 622, in main
File "/usr/local/lib/python3.9/json/__init__.py", line 293, in load
return loads(fp.read(),
File "/usr/local/lib/python3.9/json/__init__.py", line 346, in loads
return _default_decoder.decode(s)
File "/usr/local/lib/python3.9/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/local/lib/python3.9/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
fatal: [localhost]: FAILED! => {
"changed": false,
"module_stderr": "Traceback (most recent call last):\n File \"/root/.ansible/tmp/ansible-tmp-1634801795.61-32306-72709204155087/AnsiballZ_idrac_firmware.py\", line 247, in <module>\n _ansiballz_main()\n File \"/root/.ansible/tmp/ansible-tmp-1634801795.61-32306-72709204155087/AnsiballZ_idrac_firmware.py\", line 237, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File \"/root/.ansible/tmp/ansible-tmp-1634801795.61-32306-72709204155087/AnsiballZ_idrac_firmware.py\", line 108, in invoke_module\n runpy.run_module(mod_name='ansible_collections.dellemc.openmanage.plugins.modules.idrac_firmware', init_globals=None, run_name='__main__', alter_sys=True)\n File \"/usr/local/lib/python3.9/runpy.py\", line 210, in run_module\n return _run_module_code(code, init_globals, run_name, mod_spec)\n File \"/usr/local/lib/python3.9/runpy.py\", line 97, in _run_module_code\n _run_code(code, mod_globals, init_globals,\n File \"/usr/local/lib/python3.9/runpy.py\", line 87, in _run_code\n exec(code, run_globals)\n File \"/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_auyble5k/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible_collections/dellemc/openmanage/plugins/modules/idrac_firmware.py\", line 632, in <module>\n File \"/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_auyble5k/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible_collections/dellemc/openmanage/plugins/modules/idrac_firmware.py\", line 622, in main\n File \"/usr/local/lib/python3.9/json/__init__.py\", line 293, in load\n return loads(fp.read(),\n File \"/usr/local/lib/python3.9/json/__init__.py\", line 346, in loads\n return _default_decoder.decode(s)\n File \"/usr/local/lib/python3.9/json/decoder.py\", line 337, in decode\n obj, end = self.raw_decode(s, idx=_w(s, 0).end())\n File \"/usr/local/lib/python3.9/json/decoder.py\", line 355, in raw_decode\n raise JSONDecodeError(\"Expecting value\", s, err.value) from None\njson.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)\n",
"module_stdout": "",
"msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
@Sin317 : Can you please re run by making the below changes at the line no 638-639 of idrac_firmware.py and share the result. Probably some HTTP error from iDRAC or iDRAC is not reachable from a machine the playbook is ran. (similar issue that was closed Issue 313 )
except HTTPError as err:
module.fail_json(msg=str(err), update_status=err)
@sachin-apa the lines you have mentioned are already present in our idrac_firmware.py file, but still facing the above mentioned error.
@Sin317 Please note I have removed update_status=json.load(err) and replaced with update_status=err .. after the changes the output should help in identifying the actual error , the issue may not be fixed.
except HTTPError as err:
module.fail_json(msg=str(err), update_status=err)
@sachin-apa On making the change you suggested, getting this error now:
The full traceback is:
Traceback (most recent call last):
File "/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_2pt4tjqj/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible_collections/dellemc/openmanage/plugins/modules/idrac_firmware.py", line 617, in main
File "/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_2pt4tjqj/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible_collections/dellemc/openmanage/plugins/modules/idrac_firmware.py", line 492, in update_firmware_redfish
File "/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_2pt4tjqj/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible_collections/dellemc/openmanage/plugins/modules/idrac_firmware.py", line 355, in update_firmware_url_redfish
File "/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_2pt4tjqj/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible_collections/dellemc/openmanage/plugins/modules/idrac_firmware.py", line 348, in update_firmware_url_redfish
File "/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_2pt4tjqj/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible_collections/dellemc/openmanage/plugins/module_utils/idrac_redfish.py", line 138, in invoke_request
File "/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_2pt4tjqj/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible_collections/dellemc/openmanage/plugins/module_utils/idrac_redfish.py", line 135, in invoke_request
File "/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_2pt4tjqj/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible/module_utils/urls.py", line 1384, in open_url
File "/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_2pt4tjqj/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible/module_utils/urls.py", line 1294, in open
File "/usr/local/lib/python3.9/urllib/request.py", line 214, in urlopen
return opener.open(url, data, timeout)
File "/usr/local/lib/python3.9/urllib/request.py", line 523, in open
response = meth(req, response)
File "/usr/local/lib/python3.9/urllib/request.py", line 632, in http_response
response = self.parent.error(
File "/usr/local/lib/python3.9/urllib/request.py", line 561, in error
return self._call_chain(*args)
File "/usr/local/lib/python3.9/urllib/request.py", line 494, in _call_chain
result = func(*args)
File "/usr/local/lib/python3.9/urllib/request.py", line 641, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 400: Bad Request
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/root/.ansible/tmp/ansible-tmp-1634811600.78-11507-259294992399922/AnsiballZ_idrac_firmware.py", line 247, in <module>
_ansiballz_main()
File "/root/.ansible/tmp/ansible-tmp-1634811600.78-11507-259294992399922/AnsiballZ_idrac_firmware.py", line 237, in _ansiballz_main
invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)
File "/root/.ansible/tmp/ansible-tmp-1634811600.78-11507-259294992399922/AnsiballZ_idrac_firmware.py", line 108, in invoke_module
runpy.run_module(mod_name='ansible_collections.dellemc.openmanage.plugins.modules.idrac_firmware', init_globals=None, run_name='__main__', alter_sys=True)
File "/usr/local/lib/python3.9/runpy.py", line 210, in run_module
return _run_module_code(code, init_globals, run_name, mod_spec)
File "/usr/local/lib/python3.9/runpy.py", line 97, in _run_module_code
_run_code(code, mod_globals, init_globals,
File "/usr/local/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_2pt4tjqj/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible_collections/dellemc/openmanage/plugins/modules/idrac_firmware.py", line 632, in <module>
File "/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_2pt4tjqj/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible_collections/dellemc/openmanage/plugins/modules/idrac_firmware.py", line 622, in main
File "/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_2pt4tjqj/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible/module_utils/basic.py", line 2197, in fail_json
File "/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_2pt4tjqj/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible/module_utils/basic.py", line 2169, in _return_formatted
File "/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_2pt4tjqj/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible/module_utils/basic.py", line 435, in remove_values
File "/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_2pt4tjqj/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible/module_utils/basic.py", line 412, in _remove_values_conditions
TypeError: Value of unknown type: <class 'urllib.error.HTTPError'>, HTTP Error 400: Bad Request
fatal: [localhost]: FAILED! => {
"changed": false,
"module_stderr": "Traceback (most recent call last):\n File \"/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_2pt4tjqj/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible_collections/dellemc/openmanage/plugins/modules/idrac_firmware.py\", line 617, in main\n File \"/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_2pt4tjqj/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible_collections/dellemc/openmanage/plugins/modules/idrac_firmware.py\", line 492, in update_firmware_redfish\n File \"/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_2pt4tjqj/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible_collections/dellemc/openmanage/plugins/modules/idrac_firmware.py\", line 355, in update_firmware_url_redfish\n File \"/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_2pt4tjqj/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible_collections/dellemc/openmanage/plugins/modules/idrac_firmware.py\", line 348, in update_firmware_url_redfish\n File \"/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_2pt4tjqj/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible_collections/dellemc/openmanage/plugins/module_utils/idrac_redfish.py\", line 138, in invoke_request\n File \"/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_2pt4tjqj/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible_collections/dellemc/openmanage/plugins/module_utils/idrac_redfish.py\", line 135, in invoke_request\n File \"/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_2pt4tjqj/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible/module_utils/urls.py\", line 1384, in open_url\n File \"/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_2pt4tjqj/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible/module_utils/urls.py\", line 1294, in open\n File \"/usr/local/lib/python3.9/urllib/request.py\", line 214, in urlopen\n return opener.open(url, data, timeout)\n File \"/usr/local/lib/python3.9/urllib/request.py\", line 523, in open\n response = meth(req, response)\n File \"/usr/local/lib/python3.9/urllib/request.py\", line 632, in http_response\n response = self.parent.error(\n File \"/usr/local/lib/python3.9/urllib/request.py\", line 561, in error\n return self._call_chain(*args)\n File \"/usr/local/lib/python3.9/urllib/request.py\", line 494, in _call_chain\n result = func(*args)\n File \"/usr/local/lib/python3.9/urllib/request.py\", line 641, in http_error_default\n raise HTTPError(req.full_url, code, msg, hdrs, fp)\nurllib.error.HTTPError: HTTP Error 400: Bad Request\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/root/.ansible/tmp/ansible-tmp-1634811600.78-11507-259294992399922/AnsiballZ_idrac_firmware.py\", line 247, in <module>\n _ansiballz_main()\n File \"/root/.ansible/tmp/ansible-tmp-1634811600.78-11507-259294992399922/AnsiballZ_idrac_firmware.py\", line 237, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File \"/root/.ansible/tmp/ansible-tmp-1634811600.78-11507-259294992399922/AnsiballZ_idrac_firmware.py\", line 108, in invoke_module\n runpy.run_module(mod_name='ansible_collections.dellemc.openmanage.plugins.modules.idrac_firmware', init_globals=None, run_name='__main__', alter_sys=True)\n File \"/usr/local/lib/python3.9/runpy.py\", line 210, in run_module\n return _run_module_code(code, init_globals, run_name, mod_spec)\n File \"/usr/local/lib/python3.9/runpy.py\", line 97, in _run_module_code\n _run_code(code, mod_globals, init_globals,\n File \"/usr/local/lib/python3.9/runpy.py\", line 87, in _run_code\n exec(code, run_globals)\n File \"/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_2pt4tjqj/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible_collections/dellemc/openmanage/plugins/modules/idrac_firmware.py\", line 632, in <module>\n File \"/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_2pt4tjqj/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible_collections/dellemc/openmanage/plugins/modules/idrac_firmware.py\", line 622, in main\n File \"/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_2pt4tjqj/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible/module_utils/basic.py\", line 2197, in fail_json\n File \"/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_2pt4tjqj/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible/module_utils/basic.py\", line 2169, in _return_formatted\n File \"/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_2pt4tjqj/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible/module_utils/basic.py\", line 435, in remove_values\n File \"/tmp/ansible_dellemc.openmanage.idrac_firmware_payload_2pt4tjqj/ansible_dellemc.openmanage.idrac_firmware_payload.zip/ansible/module_utils/basic.py\", line 412, in _remove_values_conditions\nTypeError: Value of unknown type: <class 'urllib.error.HTTPError'>, HTTP Error 400: Bad Request\n",
@Sin317 : Thanks for rerunning with changes.. Looks like the HTTP 400 error is thrown.
We need to check on couple of things.
Please do check on these two points, if issue still persists, then it would be good to open a SR with us. FYI .. @anupamaloke
@sachin-apa
- name: Update firmware from repository on a internally hosted HTTP repository
dellemc.openmanage.idrac_firmware:
idrac_ip: "x.x.x.x"
idrac_user: "user"
idrac_password: "password"
share_name: "http://<http server>/drmdell/export/"
reboot: False
apply_update: False
job_wait: False
catalog_file_name: "Catalog.xml"
register: firmware_list_tobe_updated
Could you also please share the steps to open an SR ?
@anupamaloke @sachin-apa could you please provide any update?
@Sin317, we would recommend to open a support request (SR) with Dell Tech Support. You can do so online. All you need to have handy is the Server's ServiceTag. Please see the link how-to-create-a-support-request-online-for-dell-emc.
@anupamaloke okay, thank you.
@Sin317, as there have been no updates since last time, I am closing this issue. Please open a new issue in case you are still running into the same error.
Summary
i have spotted that module is failing on the idrac 9 with installed Firmware version 5.0
Component Name
idrac_firmware
Ansible Version
iDRAC or OpenManage Enterprise version
iDRAC 5.0.0
Steps to Reproduce
run the simple playbook to update idrac from our internal repo http://x.x.x.x/drmdell/export/
Playbook used
Expected Results
playbook should pass without error
Actual Results
Community Note