dell / dellemc-openmanage-ansible-modules

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

[QUESTION]: Role: dellemc.openmanage.idrac_firmware unable to download catalog file FATAL error #773

Open swhiteho-byu opened 3 days ago

swhiteho-byu commented 3 days ago

I am trying to implement the idrac_firmware role. Everything works so far, except that I receive a fatal error:

fatal: [localhost]: FAILED! => { "changed": false, "invocation": { "module_args": { "apply_update": true, "ca_path": null, "catalog_file_name": "Catalog.xml", "idrac_ip": "10.11.40.169", "idrac_password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", "idrac_port": 443, "idrac_user": "root", "ignore_cert_warning": true, "job_wait": true, "proxy_passwd": null, "proxy_port": null, "proxy_server": null, "proxy_support": "Off", "proxy_type": null, "proxy_uname": null, "reboot": true, "share_mnt": null, "share_name": "http://sswfile.byu.edu/dellome/catalog", "share_password": null, "share_user": null, "timeout": 30, "validate_certs": false } }, "job_id": "JID_322151068121", "msg": "Job JID_322151157708 failed because Unable to transfer the file because the file is not available at the remote host location." } Details:

I can curl the file which works fine.

$ curl http://sswfile.byu.edu/dellome/catalog/Catalog.xml -o temp % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 11.2M 100 11.2M 0 0 218M 0 --:--:-- --:--:-- --:--:-- 220M

Here is my yaml code:

Any idea why this is not work?

swhiteho-byu commented 3 days ago

Also, I logged into the idrac and did a manual firmware update using the same catalog file and idrac was able to pull the catalog file...

anupamaloke commented 3 days ago

@swhiteho-byu, could you please provide the complete name of the file in the task similar to how you are providing it with the curl:

"share_name": "http://sswfile.byu.edu/dellome/catalog", <== catalog.xml
swhiteho-byu commented 2 days ago

I didn't set it, so it is the default... Catalog.xml

swhiteho-byu commented 2 days ago

fatal: [localhost]: FAILED! => { "changed": false, "invocation": { "module_args": { "apply_update": false, "ca_path": null, "catalog_file_name": "Catalog.xml", "idrac_ip": "argon03-idrac.byu.edu", "idrac_password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", "idrac_port": 443, "idrac_user": "root", "ignore_cert_warning": true, "job_wait": true, "proxy_passwd": null, "proxy_port": null, "proxy_server": null, "proxy_support": "Off", "proxy_type": null, "proxy_uname": null, "reboot": true, "share_mnt": null, "share_name": "http://sswfile.byu.edu/dellome/catalog/", "share_password": null, "share_user": null, "timeout": 30, "validate_certs": false

"job_id": "JID_322940192394",
"msg": "Unable to successfully complete JID_322940192394: Unable to transfer the file because the file is not available at the remote host location."
swhiteho-byu commented 2 days ago

OK, very strange. When I run with the apply_update as false, it succeeds in finding the catalog file and uploading the changed firmware packages. But when I rerun with only changing apply_update to true, it cannot find the catalog file. See outputs below.

ok: [localhost] => { "changed": false, "invocation": { "module_args": { "apply_update": false, "ca_path": null, "catalog_file_name": "Catalog.xml", "idrac_ip": "argon03-idrac.byu.edu", "idrac_password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", "idrac_port": 443, "idrac_user": "root", "ignore_cert_warning": true, "job_wait": true, "proxy_passwd": null, "proxy_port": null, "proxy_server": null, "proxy_support": "Off", "proxy_type": null, "proxy_uname": null, "reboot": true, "share_mnt": null, "share_name": "http://sswfile.byu.edu/dellome/catalog/", "share_password": null, "share_user": null, "timeout": 30, "validate_certs": false } }, "msg": "Successfully fetched the applicable firmware update package list.", "update_status": { "@odata.context": "/redfish/v1/$metadata#Job.Job", "@odata.id": "/redfish/v1/JobService/Jobs/JID_322941908787", "@odata.type": "#Job.v1_2_0.Job", "Description": "Represent a job in Redfish", "EndTime": "2024-11-22T09:50:00-07:00", "Id": "JID_322941908787", "JobState": "Completed", "JobStatus": "OK", "Messages": [ { "Message": "Job completed successfully.", "MessageArgs": [ "NA" ], "MessageArgs@odata.count": 1, "MessageId": "IDRAC.2.8.RED001" } ], "Messages@odata.count": 1, "Name": "Repository Update", "PercentComplete": 100, "StartTime": "2024-11-22T09:49:50-07:00", "job_details": { "@Message.ExtendedInfo": [ { "Message": "The request completed successfully.", "MessageArgs": [], "MessageArgs@odata.count": 0, "MessageId": "Base.1.12.Success", "RelatedProperties": [], "RelatedProperties@odata.count": 0, "Resolution": "None", "Severity": "OK" } ], "PackageList": [ { "BaseLocation": null, "ComponentID": "105784", "ComponentType": "FRMW", "Criticality": "3", "DisplayName": "Emulex LightPulse LPm32002-D 2-Port 32Gb Fibre Channel Mezz Card", "JobID": null, "JobStatus": null, "Message": null, "PackageName": "Fibre-Channel_Firmware_F9VR4_WN64_03.08.19_A00-00.EXE", "PackagePath": "FOLDER11872489M/1/Fibre-Channel_Firmware_F9VR4_WN64_03.08.19_A00-00.EXE", "PackageVersion": "03.08.19", "RebootType": "HOST", "Target": "DCIM:INSTALLED#721FC.Mezzanine.1C-2" }, { "BaseLocation": null, "ComponentID": "159", "ComponentType": "BIOS", "Criticality": "2", "DisplayName": "BIOS", "JobID": null, "JobStatus": null, "Message": null, "PackageName": "BIOS_VNJ60_WN64_2.22.1.EXE", "PackagePath": "FOLDER12102858M/1/BIOS_VNJ60_WN64_2.22.1.EXE", "PackageVersion": "2.22.1", "RebootType": "HOST", "Target": "DCIM:INSTALLED#741BIOS.Setup.1-1" }, { "BaseLocation": null, "ComponentID": "105490", "ComponentType": "FRMW", "Criticality": "1", "DisplayName": "QLogic 2x25GE QL41262HMKR CNA - 12:20:03:24:01:15", "JobID": null, "JobStatus": null, "Message": null, "PackageName": "Network_Firmware_8P81X_WN64_16.25.01_A00-00.EXE", "PackagePath": "FOLDER11732994M/1/Network_Firmware_8P81X_WN64_16.25.01_A00-00.EXE", "PackageVersion": "16.25.01", "RebootType": "HOST", "Target": "DCIM:INSTALLED#701__NIC.Mezzanine.1A-2-1" } ] } } }

Changed apply_update to true:

fatal: [localhost]: FAILED! => { "changed": false, "invocation": { "module_args": { "apply_update": true, "ca_path": null, "catalog_file_name": "Catalog.xml", "idrac_ip": "argon03-idrac.byu.edu", "idrac_password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", "idrac_port": 443, "idrac_user": "root", "ignore_cert_warning": true, "job_wait": true, "proxy_passwd": null, "proxy_port": null, "proxy_server": null, "proxy_support": "Off", "proxy_type": null, "proxy_uname": null, "reboot": true, "share_mnt": null, "share_name": "http://sswfile.byu.edu/dellome/catalog/", "share_password": null, "share_user": null, "timeout": 30, "validate_certs": false } }, "job_id": "JID_322943244908", "msg": "Job JID_322943336381 failed because Unable to transfer the file because the file is not available at the remote host location." }

swhiteho-byu commented 2 days ago

OK on the idrac, I get this error message: RED132: Unable to transfer the file because the file is not available at the remote host location. I am concluding that I need to have the firmware files on the web server... Is that correct?

anupamaloke commented 2 days ago

OK on the idrac, I get this error message: RED132: Unable to transfer the file because the file is not available at the remote host location. I am concluding that I need to have the firmware files on the web server... Is that correct?

@swhiteho-byu, that's right. In addition to the catalog.xml file, you also need to have the firmware binaries present. Please see this link on how to do it with Dell Repository Manager (DRM).