Closed vincentchong1 closed 4 years ago
Hi,
Please, check your share_name parameter, it should be NFS/CIFS without a file name.
share_name: "xx.xx.xx.xx:/share"
share_user: "xxxx"
share_pwd: "xxxxxxxx"
share_mnt: "/mnt/share"
is pointing to NFS/CIFS the only way? Can it point to playbook 'files' folder, as indicated below?
VChong1@wabelhlp0691565 ~/Ansible/DELL
$ tree roles/dell_import_firmware/.
roles/dell_import_firmware/.
├── defaults
│ └── main.yml
├── files
│ ├── FOLDER03699392M
│ │ └── 1
│ │ └── SAS-Drive_Firmware_R52VG_WN64_NSF1_A00.EXE
<omitted>
│ └── TMUS_Magenta_2018Q3_v5_1.00_Catalog.xml
├── handlers
│ └── main.yml
├── meta
│ └── main.yml
├── README.md
├── tasks
│ └── main.yml
├── templates
├── tests
│ ├── inventory
│ └── test.yml
└── vars
└── main.yml
@vincentchong1 , the firmware update module use Server Configuration Profiles for updating the firmware from a repository stored on a network share (CIFS, NFS).
Beginning with iDRAC9 firmware 3.00.00.00 and iDRAC7/8 firmware 2.50.50.50, SCP import files support a new attribute RepositoryUpdate
which points to a PowerEdge firmware repository created by Dell Repository Manager. The repository file must be stored in the same directory or a sub-directory of the directory holding the SCP import file. RepositoryUpdate can specify a directory, in which case iDRAC will search there for the default repository named "Catalog.xml"
. Or RepositoryUpdate
can explicitly specify the file name of the repository.
RepositoryUpdate
is supported via network shares only and is not supported by streamed local file SCP import. That's why you need to use the Network Share.
Please note that the firmware repository should be accessible from iDRAC.
@anupamaloke, since we will like to upload the firmware before the equipment is connected to our network that DRM is resided on, we need the flexibility of pointing the catalog to any file repository/directory. Can this feature be incorporated, so that the catalog can be resided within the ansible playbook files folder?
@anupamaloke Can we use HTTP/S for the RepositoryUpdate share path? The iDRAC web UI shows that option but it doesn't appear to exist in this module. Thanks!
@howels, you can use HTTP/HTTPS based firmware repository for update. However, that code is not in the master branch yet and is available in https://github.com/dell/Dell-EMC-Ansible-Modules-for-iDRAC/tree/fw_update_url branch. You also need to build and install the omsdk from https://github.com/dell/omsdk/tree/fw_update_url branch.
NOTE: Make sure that you use a python virtualenv to test the following changes as these are developer versions only.
git clone -b fw_update_url --single-branch https://github.com/dell/omsdk.git
cd omsdk
sh build.sh 1.1 322
cd dist
pip install omsdk-1.1.322-py2.py3-none-any.whl
git clone -b fw_update_url --single-branch https://github.com/dell/Dell-EMC-Ansible-Modules-for-iDRAC.git
cd Dell-EMC-Ansible-Modules-for-iDRAC
python install.py
@anupamaloke Can we have an Ansible module for getting the joblist from iDRAC job queue. I see omsdk supporting list_idrac_jobs here https://github.com/dell/omsdk/blob/master/omdrivers/lifecycle/iDRAC/iDRACJobs.py
@anshulawasthi, at this point in time the 'list_idrac_jobs' just returns a list of Jobs URIs as similar to following output. If you just need to view the JOB status for a JOB ID, then you can use the dellemc_get_lc_job_status module.
Could you please tell me the exact use case that you are looking at?
{
"@odata.context": "/redfish/v1/$metadata#DellJobCollection.DellJobCollection",
"@odata.id": "/redfish/v1/Managers/iDRAC.Embedded.1/Jobs",
"@odata.type": "#DellJobCollection.DellJobCollection",
"Description": "Collection of Job Instances",
"Id": "JobQueue",
"Members": [
{
"@odata.id": "/redfish/v1/Managers/iDRAC.Embedded.1/Jobs/JID_351500880970"
},
{
"@odata.id": "/redfish/v1/Managers/iDRAC.Embedded.1/Jobs/JID_351501698318"
},
{
"@odata.id": "/redfish/v1/Managers/iDRAC.Embedded.1/Jobs/JID_351519935866"
},
**<OUTPUT TRUNCATED FOR BREVITY>**
],
"Members@odata.count": 52,
"Name": "JobQueue"
}
@anshulawasthi, Our latest module "idrac_firmware" supports now HTTPS repos as well. Am closing this defect as of now; Let us know in case you are facing any issues with the latest versions
I will like to know how to set up the firmware catalog and firmware directory properly, so that I can use the dellemc_install_firmware module to import firmware,
I received following error, "msg": "Error: 'NoneType' object has no attribute 'name'"
My environment,
Executing the play below,
My roles, playbook and firmware catalog information,