dell / dellemc-openmanage-ansible-modules

Dell OpenManage Ansible Modules
GNU General Public License v3.0
329 stars 162 forks source link

Catalog.xml missing from downloads.dell.com #260

Closed sergiuser1 closed 3 years ago

sergiuser1 commented 3 years ago

Using the idrac_firmware.yml playbook fails with the following error message:

FAILED! => {"changed": false, "msg": "Firmware update failed.", "update_status": {"ElapsedTimeSinceCompletion": "0", "InstanceID": "JID_178998461495", "JobStartTime": "NA", "JobStatus": "Failed", "JobUntilTime": "NA", "Message": "Unable to complete the job because of an internal error.", "MessageArguments": "NA", "MessageID": "RED004", "Name": "Repository Update", "PercentComplete": "NA", "Status": "Failed", "file": "https://downloads.dell.com/Catalog.xml", "job_details": {"Data": {"GetRepoBasedUpdateList_OUTPUT": {"Message": "The GetRepoBasedUpdateList method did not complete successfully", "MessageID": "SUP028", "ReturnValue": "2"}}, "Message": "The GetRepoBasedUpdateList method did not complete successfully", "MessageID": "SUP028", "Return": "Error", "Status": "Error", "retval": true}, "retval": false}}

That seems to be because the link https://downloads.dell.com/Catalog.xml returns 404.

anupamaloke commented 3 years ago

@sergiuser1, could you please list your playbook here? Also, what is the version of the iDRAC and the openmanage collection that you are running? As per the iDRAC EEMI guide, the SUP028 error code is when the GetRepoBasedUpdateList method was not successfully executed because the InstallFromRepo method was not executed first.

So, I am not sure whether this error is due to a missing Catalog.xml. In fact, I was able to successfully run the following playbook on a iDRAC 9 with firmware version 4.22.00.00 _(I set the apply_update to False as I did not want to update the firmware yet, but the fact that module ran successfully tells me that iDRAC was able to read the catalog from the https://downloads.dell.com location)_:

  tasks:
    - name: firmware update
      dellemc.openmanage.idrac_firmware:
        idrac_ip: "{{ inventory_hostname }}"
        idrac_user: "{{ user }}"
        idrac_password: "{{ password }}"
        share_name: "https://downloads.dell.com"
        catalog_file_name: "Catalog.xml"
        apply_update: False
        job_wait: True
        reboot: False
$ ansible-playbook -vvvv firmware_update.yml -i hosts
...
<SNIPPED for brevity>
...
ok: [192.168.1.1] => {
    "changed": false,
    "invocation": {
        "module_args": {
            "apply_update": false,
            "catalog_file_name": "Catalog.xml",
            "idrac_ip": "192.168.1.1",
            "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",
            "share_password": null,
            "share_user": null
        }
    },
    "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_178969211430",
        "@odata.type": "#Job.v1_0_0.Job",
        "Description": "Represent a job in Redfish",
        "EndTime": "2021-04-08T10:49:00-05:00",
        "Id": "JID_178969211430",
        "JobState": "Completed",
        "JobStatus": "OK",
        "Messages": [
            {
                "Message": "Job completed successfully.",
                "MessageArgs": [
                    "NA"
                ],
                "MessageArgs@odata.count": 1,
                "MessageId": "RED001"
            }
        ],
        "Messages@odata.count": 1,
        "Name": "Repository Update",
        "PercentComplete": 100,
        "job_details": {
            "@Message.ExtendedInfo": [
                {
                    "Message": "Successfully Completed Request",
                    "MessageArgs": [],
                    "MessageArgs@odata.count": 0,
                    "MessageId": "Base.1.5.Success",
                    "RelatedProperties": [],
                    "RelatedProperties@odata.count": 0,
                    "Resolution": "None",
                    "Severity": "OK"
                }
            ],
            "PackageList": [
                {
                    "BaseLocation": null,
                    "ComponentID": "104684",
                    "ComponentType": "APAC",
                    "Criticality": "1",
                    "DisplayName": "Dell EMC iDRAC Service Module Embedded Package v3.6.0",
                    "JobID": null,
                    "JobStatus": null,
                    "Message": null,
                    "PackageName": "Systems-Management_Application_MPG0M_WN64_3.6.0_A00_01.EXE",
                    "PackagePath": "FOLDER06876968M/2/Systems-Management_Application_MPG0M_WN64_3.6.0_A00_01.EXE",
                    "PackageVersion": "3.6.0",
                    "RebootType": "NONE",
                    "Target": "DCIM:INSTALLED#802__ServiceModule.Embedded.1"
                },
                {
                    "BaseLocation": null,
                    "ComponentID": "101734",
                    "ComponentType": "APAC",
                    "Criticality": "1",
                    "DisplayName": "OS COLLECTOR, v6.0",
                    "JobID": null,
                    "JobStatus": null,
                    "Message": null,
                    "PackageName": "Diagnostics_Application_0G1JH_WN64_6.0_A00_01.EXE",
                    "PackagePath": "FOLDER06878175M/2/Diagnostics_Application_0G1JH_WN64_6.0_A00_01.EXE",
                    "PackageVersion": "6.0",
                    "RebootType": "NONE",
                    "Target": "DCIM:INSTALLED#802__OSCollector.Embedded.1"
                },
                {
                    "BaseLocation": null,
                    "ComponentID": "18981",
                    "ComponentType": "APAC",
                    "Criticality": "3",
                    "DisplayName": "Dell OS Driver Pack",
                    "JobID": null,
                    "JobStatus": null,
                    "Message": null,
                    "PackageName": "Drivers-for-OS-Deployment_Application_3X1WT_WN64_20.08.09_A00.EXE",
                    "PackagePath": "FOLDER06506215M/1/Drivers-for-OS-Deployment_Application_3X1WT_WN64_20.08.09_A00.EXE",
                    "PackageVersion": "20.08.09",
                    "RebootType": "NONE",
                    "Target": "DCIM:INSTALLED#802__DriverPack.Embedded.1:LC.Embedded.1"
                },
                {
                    "BaseLocation": null,
                    "ComponentID": "25806",
                    "ComponentType": "APAC",
                    "Criticality": "3",
                    "DisplayName": "Dell 64 Bit uEFI Diagnostics, version 4301",
                    "JobID": null,
                    "JobStatus": null,
                    "Message": null,
                    "PackageName": "Diagnostics_Application_Y9DR5_WN64_4301A50_4301.51.EXE",
                    "PackagePath": "FOLDER06557529M/1/Diagnostics_Application_Y9DR5_WN64_4301A50_4301.51.EXE",
                    "PackageVersion": "4301A50",
                    "RebootType": "NONE",
                    "Target": "DCIM:INSTALLED#802__Diagnostics.Embedded.1:LC.Embedded.1"
                },
                {
                    "BaseLocation": null,
                    "ComponentID": "103999",
                    "ComponentType": "FRMW",
                    "Criticality": "1",
                    "DisplayName": "Non-expander Storage Backplane Firmware",
                    "JobID": null,
                    "JobStatus": null,
                    "Message": null,
                    "PackageName": "Firmware_VV85D_WN64_4.35_A00_06.EXE",
                    "PackagePath": "FOLDER05772283M/7/Firmware_VV85D_WN64_4.35_A00_06.EXE",
                    "PackageVersion": "4.35",
                    "RebootType": "HOST",
                    "Target": "DCIM:INSTALLED#314_C_RAID.Backplane.Firmware.1"
                },
                {
                    "BaseLocation": null,
                    "ComponentID": "159",
                    "ComponentType": "BIOS",
                    "Criticality": "2",
                    "DisplayName": "Dell EMC Server PowerEdge BIOS M640/FC640/M640 VRTX Version 2.10.2",
                    "JobID": null,
                    "JobStatus": null,
                    "Message": null,
                    "PackageName": "BIOS_PR54J_WN64_2.10.2.EXE",
                    "PackagePath": "FOLDER07093967M/1/BIOS_PR54J_WN64_2.10.2.EXE",
                    "PackageVersion": "2.10.2",
                    "RebootType": "HOST",
                    "Target": "DCIM:INSTALLED#741__BIOS.Setup.1-1"
                },
                {
                    "BaseLocation": null,
                    "ComponentID": "27484",
                    "ComponentType": "FRMW",
                    "Criticality": "1",
                    "DisplayName": "Dell Firmware Update Package for Marvell FastLinQ 57800 series Ethernet adapters",
                    "JobID": null,
                    "JobStatus": null,
                    "Message": null,
                    "PackageName": "Network_Firmware_PMG6W_WN64_15.15.08_A00-00.EXE",
                    "PackagePath": "FOLDER06433686M/1/Network_Firmware_PMG6W_WN64_15.15.08_A00-00.EXE",
                    "PackageVersion": "15.15.08",
                    "RebootType": "HOST",
                    "Target": "DCIM:INSTALLED#701__NIC.Integrated.1-2-1"
                },
                {
                    "BaseLocation": null,
                    "ComponentID": "25227",
                    "ComponentType": "FRMW",
                    "Criticality": "1",
                    "DisplayName": "iDRAC 4.40.00.00",
                    "JobID": null,
                    "JobStatus": null,
                    "Message": null,
                    "PackageName": "iDRAC-with-Lifecycle-Controller_Firmware_62GW1_WN64_4.40.00.00_A00.EXE",
                    "PackagePath": "FOLDER06840999M/1/iDRAC-with-Lifecycle-Controller_Firmware_62GW1_WN64_4.40.00.00_A00.EXE",
                    "PackageVersion": "4.40.00.00",
                    "RebootType": "IDRAC",
                    "Target": "DCIM:INSTALLED#iDRAC.Embedded.1-1#IDRACinfo"
                }
            ]
        }
    }
}
META: ran handlers
META: ran handlers

PLAY RECAP *********************************************************************
192.168.1.1              : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
sergiuser1 commented 3 years ago

The iDRAC I ran the playbook is an iDRAC 9, with Firmware Version 2.75.75.75. The dellemc.openmanage collection is version 3.0.0, and here is the playbook that I ran:

---
- hosts: idrac
  connection: local
  name: Configure the iDRAC and BIOS of new servers
  gather_facts: false
  vars:
    - idrac_username: REMOVED
    - idrac_password: REMOVED

  collections:
    - dellemc.openmanage

  tasks:
    - debug:
        msg: NOTE!!! This playbook will take several minutes to run

    - name: Update firmware from repository on a HTTP/HTTP/FTP repository
      idrac_firmware:
        idrac_ip: "{{ inventory_hostname }}"
        idrac_user: "{{ idrac_username }}"
        idrac_password: "{{ idrac_password }}"
        share_name: "https://downloads.dell.com"
        reboot: True
        job_wait: True
        apply_update: True
anupamaloke commented 3 years ago

@sergiuser1, I guess you meant iDRAC 8 as 2.xx.xx.xx firmware is supported on older iDRAC 7/8 only. Anyway, I also tried the playbook on a iDRAC 8 but I could not reproduce this issue. Would it be possible for you to log in a support ticket with us so that the Dell support team can get in touch and collect necessary logs and information to debug this?

sergiuser1 commented 3 years ago

My bad, it is iDRAC 8, no 9. I tried the playbook again, but got the same resolt. Could you guide me on how to log in a support ticket? Thanks in advance.

anupamaloke commented 3 years ago

@sergiuser1, sorry for a much delayed response. You can go to Dell Support, enter your ServiceTag and then raise a technical support request. You must have an existing and valid warranty on your server before you can raise a SR.

sergiuser1 commented 3 years ago

I think I figured out the problem, the iDRAC was firewalled from the outside internet and could not access dell.com