dell / dellemc-openmanage-ansible-modules

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

"Failed to update firmware with http/https idrac_firmware.py" #97

Closed kevinhuy closed 3 years ago

kevinhuy commented 4 years ago

hi

my environnement : python 2.7 ansible 2.9.4 i m using the branch devel

i m trying to execute this simple playbook below


But it failed with the error below,

=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2020.01.27 21:59:22 =~=~=~=~=~=~=~=~=~=~=~=

/omsdk/dist/dellemc-openmanage-ansible-modules/examples/idrac # cat fr2_text.yml /omsdk/dist/dellemc-openmanage-ansible-modules/examples/idrac # ansible-playbook -vvv fr2_text.yml ansible-playbook 2.9.4 config file = None configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python2.7/site-packages/ansible executable location = /usr/bin/ansible-playbook python version = 2.7.16 (default, Nov 15 2019, 19:32:34) [GCC 9.2.0] No config file found; using defaults host_list declined parsing /etc/ansible/hosts as it did not pass its verify_file() method Skipping due to inventory source not existing or not being readable by the current user script declined parsing /etc/ansible/hosts as it did not pass its verify_file() method auto declined parsing /etc/ansible/hosts as it did not pass its verify_file() method Skipping due to inventory source not existing or not being readable by the current user yaml declined parsing /etc/ansible/hosts as it did not pass its verify_file() method Skipping due to inventory source not existing or not being readable by the current user ini declined parsing /etc/ansible/hosts as it did not pass its verify_file() method Skipping due to inventory source not existing or not being readable by the current user toml declined parsing /etc/ansible/hosts as it did not pass its verify_file() method [WARNING]: No inventory was parsed, only implicit localhost is available

[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'

PLAYBOOK: fr2_text.yml ** 1 plays in fr2_text.yml

PLAY [Update Firmware Inventory] **** META: ran handlers

TASK [Update firmware from repository on a HTTP/HTTP/FTP repository] **** task path: /omsdk/dist/dellemc-openmanage-ansible-modules/examples/idrac/fr2_text.yml:8 <127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: root <127.0.0.1> EXEC /bin/sh -c 'echo ~root && sleep 0' <127.0.0.1> EXEC /bin/sh -c '( umask 77 && mkdir -p "echo /root/.ansible/tmp/ansible-tmp-1580158764.17-179027123538098" && echo ansible-tmp-1580158764.17-179027123538098="echo /root/.ansible/tmp/ansible-tmp-1580158764.17-179027123538098" ) && sleep 0' Using module file /usr/lib/python2.7/site-packages/ansible/modules/remote_management/dellemc/idrac_firmware.py <127.0.0.1> PUT /root/.ansible/tmp/ansible-local-833uOCba/tmpSy9hqo TO /root/.ansible/tmp/ansible-tmp-1580158764.17-179027123538098/AnsiballZ_idrac_firmware.py <127.0.0.1> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1580158764.17-179027123538098/ /root/.ansible/tmp/ansible-tmp-1580158764.17-179027123538098/AnsiballZ_idrac_firmware.py && sleep 0' <127.0.0.1> EXEC /bin/sh -c '/usr/bin/python2 /root/.ansible/tmp/ansible-tmp-1580158764.17-179027123538098/AnsiballZ_idrac_firmware.py && sleep 0' <127.0.0.1> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1580158764.17-179027123538098/ > /dev/null 2>&1 && sleep 0' fatal: [localhost]: FAILED! => { "changed": false, "invocation": { "module_args": { "apply_update": false, "catalog_file_name": "Catalog.xml", "idrac_ip": "X.X.X.X", "idrac_password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", "idrac_port": 443, "idrac_user": "root", "ignore_cert_warning": true, "job_wait": true, "reboot": false, "share_mnt": null, "share_name": "https://downloads.dell.com/catalog", "share_password": null, "share_user": null } }, "msg": "Failed to update firmware.", "update_status": { "@odata.context": "/redfish/v1/$metadata#DellJob.DellJob", "@odata.id": "/redfish/v1/Managers/iDRAC.Embedded.1/Jobs/JID_801548181219", "@odata.type": "#DellJob.v1_0_1.DellJob", "CompletionTime": "2020-01-27T13:54:23", "Description": "Job Instance", "EndTime": null, "Id": "JID_801548181219", "JobState": "Completed", "JobType": "RepositoryUpdate", "Message": "The network file transfer of an update package was not successful.", "MessageArgs": [ "NA" ], "MessageId": "RED051", "Name": "Repository Update", "PercentComplete": 100, "StartTime": "TIME_NOW", "Status": "Failed", "TargetSettingsURI": null, "job_details": { "Data": { "StatusCode": 200, "body": { "@Message.ExtendedInfo": [ { "Message": "Successfully Completed Request", "MessageArgs": [], "MessageArgs@odata.count": 0, "MessageId": "Base.1.2.Success", "RelatedProperties": [], "RelatedProperties@odata.count": 0, "Resolution": "None", "Severity": "OK" } ], "PackageList": [ { "BaseLocation": null, "ComponentID": "101734", "ComponentType": "APAC", "Criticality": "3", "DisplayName": "OS COLLECTOR, v5.0", "JobID": null, "PackageName": "Diagnostics_Application_WGJYG_WN64_5.0_A00_02.EXE", "PackagePath": "FOLDER05884335M/3/Diagnostics_Application_WGJYG_WN64_5.0_A00_02.EXE", "PackageVersion": "5.0", "RebootType": "NONE", "Target": "DCIM:INSTALLED#802OSCollector.Embedded.1" }, { "BaseLocation": null, "ComponentID": "18981", "ComponentType": "APAC", "Criticality": "3", "DisplayName": "Dell OS Driver Pack", "JobID": null, "PackageName": "Drivers-for-OS-Deployment_Application_X0DW6_WN64_19.10.12_A00.EXE", "PackagePath": "FOLDER05902898M/1/Drivers-for-OS-Deployment_Application_X0DW6_WN64_19.10.12_A00.EXE", "PackageVersion": "19.10.12", "RebootType": "NONE", "Target": "DCIM:INSTALLED#802DriverPack.Embedded.1:LC.Embedded.1" }, { "BaseLocation": null, "ComponentID": "25806", "ComponentType": "APAC", "Criticality": "3", "DisplayName": "Dell 64 Bit uEFI Diagnostics, version 4301", "JobID": null, "PackageName": "Diagnostics_Application_Y5CF5_WN64_4301A38_4301.39.EXE", "PackagePath": "FOLDER05834964M/1/Diagnostics_Application_Y5CF5_WN64_4301A38_4301.39.EXE", "PackageVersion": "4301A38", "RebootType": "NONE", "Target": "DCIM:INSTALLED#802Diagnostics.Embedded.1:LC.Embedded.1" }, { "BaseLocation": null, "ComponentID": "103999", "ComponentType": "FRMW", "Criticality": "1", "DisplayName": "Non-expander Storage Backplane Firmware", "JobID": null, "PackageName": "Firmware_TJCXW_WN64_4.32_A00-00.EXE", "PackagePath": "FOLDER05672244M/2/Firmware_TJCXW_WN64_4.32_A00-00.EXE", "PackageVersion": "4.32", "RebootType": "HOST", "Target": "DCIM:INSTALLED#308_C_Enclosure.Internal.0-1:RAID.Integrated.1-1" }, { "BaseLocation": null, "ComponentID": "104892", "ComponentType": "FRMW", "Criticality": "2", "DisplayName": "PERC H740P/H840/H745 RAID Controller Firmware 50.9.3-2949", "JobID": null, "PackageName": "SAS-RAID_Firmware_JVJNC_WN64_50.9.3-2949_A10.EXE", "PackagePath": "FOLDER05901184M/3/SAS-RAID_Firmware_JVJNC_WN64_50.9.3-2949_A10.EXE", "PackageVersion": "50.9.3-2949", "RebootType": "HOST", "Target": "DCIM:INSTALLED#301_C_RAID.Integrated.1-1" }, { "BaseLocation": null, "ComponentID": "104483", "ComponentType": "FRMW", "Criticality": "1", "DisplayName": "Dell Firmware DUP for Qlogic 26XX series Fibre Channel adapters.", "JobID": null, "PackageName": "Fibre-Channel_Firmware_CRV5K_WN64_15.00.00_A00-00.EXE", "PackagePath": "FOLDER05749201M/1/Fibre-Channel_Firmware_CRV5K_WN64_15.00.00_A00-00.EXE", "PackageVersion": "15.00.00", "RebootType": "HOST", "Target": "DCIM:INSTALLED#721FC.Slot.1-1" }, { "BaseLocation": null, "ComponentID": "159", "ComponentType": "BIOS", "Criticality": "2", "DisplayName": "Dell EMC Server PowerEdge BIOS R740/R740xd/R640/R940/7920R Version 2.4.8", "JobID": null, "PackageName": "BIOS_9P3C0_WN64_2.4.8.EXE", "PackagePath": "FOLDER05961509M/1/BIOS_9P3C0_WN64_2.4.8.EXE", "PackageVersion": "2.4.8", "RebootType": "HOST", "Target": "DCIM:INSTALLED#741__BIOS.Setup.1-1" }, { "BaseLocation": null, "ComponentID": "25227", "ComponentType": "FRMW", "Criticality": "1", "DisplayName": "iDRAC with Lifecycle Controller, 4.00.00.00", "JobID": null, "PackageName": "iDRAC-with-Lifecycle-Controller_Firmware_4JCPK_WN64_4.00.00.00_A00.EXE", "PackagePath": "FOLDER05945466M/2/iDRAC-with-Lifecycle-Controller_Firmware_4JCPK_WN64_4.00.00.00_A00.EXE", "PackageVersion": "4.00.00.00", "RebootType": "IDRAC", "Target": "DCIM:INSTALLED#iDRAC.Embedded.1-1#IDRACinfo" } ] } }, "Message": "none", "Status": "Success", "StatusCode": 200, "retval": true }, "retval": false } }

PLAY RECAP ** localhost : ok=0 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0

/omsdk/dist/dellemc-openmanage-ansible-modules/examples/idrac #

rajeevarakkal commented 4 years ago

@kevinhuy , Looks like iDRAC is unable to download the required packages from the Repo you have provided for update job submitted.

"Message": "The network file transfer of an update package was not successful.",

OMAM is able successfully submit your update job to your respective server iDRAC with below JOB details /redfish/v1/Managers/iDRAC.Embedded.1/Jobs/JID_801548181219

Ensure that share_name is reachable from server, also would request to try out below example

- name: Update firmware from repository on a HTTP
  idrac_firmware:
       idrac_ip: "192.168.0.1"
       idrac_user: "user_name"
       idrac_password: "user_password"
       share_name: "http://downloads.dell.com"
       reboot: True
       job_wait: True
       apply_update: True
kevinhuy commented 4 years ago

Hi

I m able to download from the web interface Of idrac. Seem to be an issue with ansible.

Envoyé de mon iPhone

Le 28 janv. 2020 à 07:39, Rajeev Arakkal notifications@github.com a écrit :

 @kevinhuy , Looks like iDRAC is unable to download the required packages from the Repo you have provided for update job submitted.

"Message": "The network file transfer of an update package was not successful.",

OMAM is able successfully submit your update job to your respective server iDRAC with below JOB details /redfish/v1/Managers/iDRAC.Embedded.1/Jobs/JID_801548181219

Ensure that share_name is reachable from server, also would request to try out below example

  • name: Update firmware from repository on a HTTP idrac_firmware: idrac_ip: "192.168.0.1" idrac_user: "user_name" idrac_password: "user_password" share_name: "http://downloads.dell.com" reboot: True job_wait: True apply_update: True — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.
rajeevarakkal commented 4 years ago

@kevinhuy we will double check. We pass on the details provided in playbook to iDRAC and allow iDRAC to contacts the share and download the packages. We will see any path formatting issues plays in between.

However, tryout the another example I have commented above and let us know

kevinhuy commented 4 years ago

Hi

below result with the sample you ask. it is the same error. Fyi , we have already update manually with the gui , and it works.

ansible-playbook 2.9.4 config file = None configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python2.7/site-packages/ansible executable location = /usr/bin/ansible-playbook python version = 2.7.16 (default, Nov 15 2019, 19:32:34) [GCC 9.2.0] No config file found; using defaults host_list declined parsing /etc/ansible/hosts as it did not pass its verify_file() method Skipping due to inventory source not existing or not being readable by the current user script declined parsing /etc/ansible/hosts as it did not pass its verify_file() method auto declined parsing /etc/ansible/hosts as it did not pass its verify_file() method Skipping due to inventory source not existing or not being readable by the current user yaml declined parsing /etc/ansible/hosts as it did not pass its verify_file() method Skipping due to inventory source not existing or not being readable by the current user ini declined parsing /etc/ansible/hosts as it did not pass its verify_file() method Skipping due to inventory source not existing or not being readable by the current user toml declined parsing /etc/ansible/hosts as it did not pass its verify_file() method [WARNING]: No inventory was parsed, only implicit localhost is available

[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'

PLAYBOOK: fr2_text.yml ** 1 plays in fr2_text.yml

PLAY [Update Firmware Inventory] **** META: ran handlers

TASK [Update firmware from repository on a HTTP/HTTP/FTP repository] **** task path: /omsdk/dist/dellemc-openmanage-ansible-modules/examples/idrac/fr2_text.yml:8 <127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: root <127.0.0.1> EXEC /bin/sh -c 'echo ~root && sleep 0' <127.0.0.1> EXEC /bin/sh -c '( umask 77 && mkdir -p "echo /root/.ansible/tmp/ansible-tmp-1580194882.87-166477935058558" && echo ansible-tmp-1580194882.87-166477935058558="echo /root/.ansible/tmp/ansible-tmp-1580194882.87-166477935058558" ) && sleep 0' Using module file /usr/lib/python2.7/site-packages/ansible/modules/remote_management/dellemc/idrac_firmware.py <127.0.0.1> PUT /root/.ansible/tmp/ansible-local-134kcXiW6/tmp3wYeci TO /root/.ansible/tmp/ansible-tmp-1580194882.87-166477935058558/AnsiballZ_idrac_firmware.py <127.0.0.1> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1580194882.87-166477935058558/ /root/.ansible/tmp/ansible-tmp-1580194882.87-166477935058558/AnsiballZ_idrac_firmware.py && sleep 0' <127.0.0.1> EXEC /bin/sh -c '/usr/bin/python2 /root/.ansible/tmp/ansible-tmp-1580194882.87-166477935058558/AnsiballZ_idrac_firmware.py && sleep 0' <127.0.0.1> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1580194882.87-166477935058558/ > /dev/null 2>&1 && sleep 0' fatal: [localhost]: FAILED! => { "changed": false, "invocation": { "module_args": { "apply_update": true, "catalog_file_name": "Catalog.xml", "idrac_ip": "X.X.X.X", "idrac_password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", "idrac_port": 443, "idrac_user": "root", "ignore_cert_warning": true, "job_wait": true, "reboot": true, "share_mnt": null, "share_name": "http://downloads.dell.com", "share_password": null, "share_user": null } }, "msg": "Failed to update firmware.", "update_status": { "@odata.context": "/redfish/v1/$metadata#DellJob.DellJob", "@odata.id": "/redfish/v1/Managers/iDRAC.Embedded.1/Jobs/JID_801909325597", "@odata.type": "#DellJob.v1_0_1.DellJob", "CompletionTime": "2020-01-27T23:56:17", "Description": "Job Instance", "EndTime": null, "Id": "JID_801909325597", "JobState": "Completed", "JobType": "RepositoryUpdate", "Message": "The network file transfer of an update package was not successful.", "MessageArgs": [ "NA" ], "MessageId": "RED051", "Name": "Repository Update", "PercentComplete": 100, "StartTime": "TIME_NOW", "Status": "Failed", "TargetSettingsURI": null, "job_details": { "Data": { "StatusCode": 200, "body": { "@Message.ExtendedInfo": [ { "Message": "Successfully Completed Request", "MessageArgs": [], "MessageArgs@odata.count": 0, "MessageId": "Base.1.2.Success", "RelatedProperties": [], "RelatedProperties@odata.count": 0, "Resolution": "None", "Severity": "OK" } ], "PackageList": [ { "BaseLocation": null, "ComponentID": "101734", "ComponentType": "APAC", "Criticality": "3", "DisplayName": "OS COLLECTOR, v5.0", "JobID": null, "PackageName": "Diagnostics_Application_WGJYG_WN64_5.0_A00_02.EXE", "PackagePath": "FOLDER05884335M/3/Diagnostics_Application_WGJYG_WN64_5.0_A00_02.EXE", "PackageVersion": "5.0", "RebootType": "NONE", "Target": "DCIM:INSTALLED#802OSCollector.Embedded.1" }, { "BaseLocation": null, "ComponentID": "18981", "ComponentType": "APAC", "Criticality": "3", "DisplayName": "Dell OS Driver Pack", "JobID": null, "PackageName": "Drivers-for-OS-Deployment_Application_X0DW6_WN64_19.10.12_A00.EXE", "PackagePath": "FOLDER05902898M/1/Drivers-for-OS-Deployment_Application_X0DW6_WN64_19.10.12_A00.EXE", "PackageVersion": "19.10.12", "RebootType": "NONE", "Target": "DCIM:INSTALLED#802DriverPack.Embedded.1:LC.Embedded.1" }, { "BaseLocation": null, "ComponentID": "25806", "ComponentType": "APAC", "Criticality": "3", "DisplayName": "Dell 64 Bit uEFI Diagnostics, version 4301", "JobID": null, "PackageName": "Diagnostics_Application_Y5CF5_WN64_4301A38_4301.39.EXE", "PackagePath": "FOLDER05834964M/1/Diagnostics_Application_Y5CF5_WN64_4301A38_4301.39.EXE", "PackageVersion": "4301A38", "RebootType": "NONE", "Target": "DCIM:INSTALLED#802Diagnostics.Embedded.1:LC.Embedded.1" }, { "BaseLocation": null, "ComponentID": "103999", "ComponentType": "FRMW", "Criticality": "1", "DisplayName": "Non-expander Storage Backplane Firmware", "JobID": null, "PackageName": "Firmware_TJCXW_WN64_4.32_A00-00.EXE", "PackagePath": "FOLDER05672244M/2/Firmware_TJCXW_WN64_4.32_A00-00.EXE", "PackageVersion": "4.32", "RebootType": "HOST", "Target": "DCIM:INSTALLED#308_C_Enclosure.Internal.0-1:RAID.Integrated.1-1" }, { "BaseLocation": null, "ComponentID": "104892", "ComponentType": "FRMW", "Criticality": "2", "DisplayName": "PERC H740P/H840/H745 RAID Controller Firmware 50.9.3-2949", "JobID": null, "PackageName": "SAS-RAID_Firmware_JVJNC_WN64_50.9.3-2949_A10.EXE", "PackagePath": "FOLDER05901184M/3/SAS-RAID_Firmware_JVJNC_WN64_50.9.3-2949_A10.EXE", "PackageVersion": "50.9.3-2949", "RebootType": "HOST", "Target": "DCIM:INSTALLED#301_C_RAID.Integrated.1-1" }, { "BaseLocation": null, "ComponentID": "104483", "ComponentType": "FRMW", "Criticality": "1", "DisplayName": "Dell Firmware DUP for Qlogic 26XX series Fibre Channel adapters.", "JobID": null, "PackageName": "Fibre-Channel_Firmware_CRV5K_WN64_15.00.00_A00-00.EXE", "PackagePath": "FOLDER05749201M/1/Fibre-Channel_Firmware_CRV5K_WN64_15.00.00_A00-00.EXE", "PackageVersion": "15.00.00", "RebootType": "HOST", "Target": "DCIM:INSTALLED#721FC.Slot.1-1" }, { "BaseLocation": null, "ComponentID": "159", "ComponentType": "BIOS", "Criticality": "2", "DisplayName": "Dell EMC Server PowerEdge BIOS R740/R740xd/R640/R940/7920R Version 2.4.8", "JobID": null, "PackageName": "BIOS_9P3C0_WN64_2.4.8.EXE", "PackagePath": "FOLDER05961509M/1/BIOS_9P3C0_WN64_2.4.8.EXE", "PackageVersion": "2.4.8", "RebootType": "HOST", "Target": "DCIM:INSTALLED#741__BIOS.Setup.1-1" }, { "BaseLocation": null, "ComponentID": "25227", "ComponentType": "FRMW", "Criticality": "1", "DisplayName": "iDRAC with Lifecycle Controller, 4.00.00.00", "JobID": null, "PackageName": "iDRAC-with-Lifecycle-Controller_Firmware_4JCPK_WN64_4.00.00.00_A00.EXE", "PackagePath": "FOLDER05945466M/2/iDRAC-with-Lifecycle-Controller_Firmware_4JCPK_WN64_4.00.00.00_A00.EXE", "PackageVersion": "4.00.00.00", "RebootType": "IDRAC", "Target": "DCIM:INSTALLED#iDRAC.Embedded.1-1#IDRACinfo" } ] } }, "Message": "none", "Status": "Success", "StatusCode": 200, "retval": true }, "retval": false } }

PLAY RECAP ** localhost : ok=0 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0

/omsdk/dist/dellemc-openmanage-ansible-modules/examples/idrac #

rajeevarakkal commented 4 years ago

@kevinhuy we will check this out and get back to you.

kevinhuy commented 4 years ago

@rajeevarakkal any good news ? :)

jagadeeshnv commented 3 years ago

@kevinhuy We have added this with the latest commit, Please verify and let us know

anupamaloke commented 3 years ago

Closing this issue as it has been fixed in dellemc.openmanage collection version 3.0.0. Please reopen a new issue if you are still running into this problem.