dell / dellemc-openmanage-ansible-modules

Dell OpenManage Ansible Modules
GNU General Public License v3.0
335 stars 163 forks source link

idrac_firmware module errors with "msg": "'PercentComplete'" but still applies firmware updates #246

Closed ghost closed 3 years ago

ghost commented 3 years ago

I'm running the idrac_firmware module to update some new r640 servers and the task always fails with "msg": "'PercentComplete'". In the iDRAC I see the job goes through and applies firmware updates and even pauses for the required reboots. It's getting that job status back to Ansible that seems to be the issue.

TASK [config-dell_servers : Update firmware from repository on a Network Share] **** task path: /mnt/c/nrtc/roles/config-dell_servers/tasks/main.yml:9

ESTABLISH LOCAL CONNECTION FOR USER: root EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo $HOME/.ansible/tmp `"&& mkdir "` echo $HOME/.ansible/tmp/ansible-tmp-1615924091.4240675-3380-222251120664908 `" && echo ansible-tmp-1615924091.4240675-3380-222251120664908="` echo $HOME/.ansible/tmp/ansible-tmp-1615924091.4240675-3380-222251120664908 `" ) && sleep 0' Using module file /usr/lib/python3.6/site-packages/ansible/modules/remote_management/dellemc/idrac_firmware.py PUT /root/.ansible/tmp/ansible-local-3365aanbejaz/tmpr7jqn0rn TO /root/.ansible/tmp/ansible-tmp-1615924091.4240675-3380-222251120664908/AnsiballZ_idrac_firmware.py EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1615924091.4240675-3380-222251120664908/ /root/.ansible/tmp/ansible-tmp-1615924091.4240675-3380-222251120664908/AnsiballZ_idrac_firmware.py && sleep 0' EXEC /bin/sh -c '/usr/bin/python3.6 /root/.ansible/tmp/ansible-tmp-1615924091.4240675-3380-222251120664908/AnsiballZ_idrac_firmware.py && sleep 0' EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1615924091.4240675-3380-222251120664908/ > /dev/null 2>&1 && sleep 0' The full traceback is: File "/tmp/ansible_idrac_firmware_payload_kgzk7en3/ansible_idrac_firmware_payload.zip/ansible/modules/remote_management/dellemc/idrac_firmware.py", line 391, in main File "/tmp/ansible_idrac_firmware_payload_kgzk7en3/ansible_idrac_firmware_payload.zip/ansible/modules/remote_management/dellemc/idrac_firmware.py", line 334, in update_firmware File "/usr/local/lib/python3.6/site-packages/omdrivers/lifecycle/iDRAC/iDRACJobs.py", line 352, in get_job_status_redfish if (jobdetail_data['PercentComplete'] < 100) or (100 < jobdetail_data['PercentComplete']): fatal: [esxi06]: FAILED! => { "changed": false, "invocation": { "module_args": { "apply_update": true, "catalog_file_name": "r640 test_1.00_Catalog.xml", "idrac_ip": "10.1.0.76", "idrac_password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", "idrac_port": 443, "idrac_user": "admin", "ignore_cert_warning": true, "job_wait": true, "reboot": true, "share_mnt": "/mnt/c/project/binaries/executables/dell_r640", "share_name": "\\\\10.1.0.251\\dell_r640", "share_password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", "share_pwd": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", "share_user": "acadmin" } }, "msg": "'PercentComplete'" }
jagadeeshnv commented 3 years ago

Hi @matthewit2 Can you confirm the version of dellemc.openmanage collections in use? ansible-galaxy collection list dellemc.openmanage

ghost commented 3 years ago

I have to apologize, this specific error was from the idrac_firmware module included in the Ansible 2.9 baseline (v2.8), not the dellemc.openmanage community collection.

I will reopen the issue with the correct error info for the latest module.