dellemc-openmanage-ansible-modules
dellemc-openmanage-ansible-modules copied to clipboard
[BUG]: Authorization request header is present in the request
Bug Description
When using dellemc.openmanage.idrac_virtual_media
i get the following error
@Message.ExtendedInfo": [
{
"Message": "Unable to complete the operation because the Authorization request header is present in the request.",
"MessageArgs": [],
"[email protected]": 0,
"MessageId": "IDRAC.2.9.SYS468",
"RelatedProperties": [],
"[email protected]": 0,
"Resolution": "Make sure that the Authorization request header is not included and retry the operation. For information about the necessary headers, see the Redfish specification and Redfish User's Guide available on the support site.",
"Severity": "Informational"
}
],
"code": "Base.1.8.GeneralError",
"message": "A general error has occurred. See ExtendedInfo for more information."
}
Component or Module Name
idrac_virtual_media
Ansible Version
2.16.2
Python Version
3.12
iDRAC/OME/OME-M version
iDRAC: 7.00.60.00
Operating System
Mac sonoma 14.1.1
Playbook Used
- name: mount
vars_prompt:
- name: fqdn
private: false
prompt: "Enter the fqdn to re-image"
vars:
download_location: "https://download.dns.icann.org/{{fqdn}}.iso"
drac_fqdn: "drac.{{fqdn}}"
drac_ip: "{{lookup('community.general.dig', 'drac.{{fqdn}}')}}"
drac_user: "root"
hosts: ["{{fqdn}}"]
gather_facts: no
roles:
- role: isobuilder
tags: isobuilder
tasks:
- name: print the drac ip address
ansible.builtin.debug:
msg: "{{fqdn}} drac ip is: {{drac_ip}}"
- name: Remote mount the iso file
dellemc.openmanage.idrac_virtual_media:
idrac_ip: "{{drac_fqdn}}"
idrac_user: "{{drac_user}}"
idrac_password: "{{drac_password}}"
force: true
validate_certs: false
virtual_media:
- insert: true
image: "{{download_location}}"
delegate_to: localhost
- name: Configure the boot source override mode.
delegate_to: localhost
dellemc.openmanage.idrac_boot:
idrac_ip: "{{drac_fqdn}}"
idrac_user: "{{idrac_user}}"
idrac_password: "{{drac_password}}"
validate_certs: false
boot_source_override_target: cd
boot_source_override_enabled: once
reset_type: force_restart
register: idrac_os_deployment_idrac_boot
Logs
ansible-playbook -vvvvv drac_mount_vcd.yaml 22s 17:10:47
ansible-playbook [core 2.16.2]
config file = /Users/john.bond/git/ansible/ansible.cfg
configured module search path = ['/Users/john.bond/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/Cellar/ansible/9.1.0/libexec/lib/python3.12/site-packages/ansible
ansible collection location = /Users/john.bond/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/local/bin/ansible-playbook
python version = 3.12.1 (main, Dec 7 2023, 20:45:44) [Clang 15.0.0 (clang-1500.1.0.2.5)] (/usr/local/Cellar/ansible/9.1.0/libexec/bin/python)
jinja version = 3.1.3
libyaml = True
Using /Users/john.bond/git/ansible/ansible.cfg as config file
Reading vault password file: /Users/john.bond/git/ansible/.ANSIBLE_VAULT_PASS
setting up inventory plugins
Loading collection ansible.builtin from
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
setting up inventory plugins
host_list declined parsing /usr/local/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 /usr/local/ansible/hosts as it did not pass its verify_file() method
auto declined parsing /usr/local/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 /usr/local/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 /usr/local/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 /usr/local/ansible/hosts as it did not pass its verify_file() method
[WARNING]: Unable to parse /usr/local/ansible/hosts as an inventory source
setting up inventory plugins
host_list declined parsing /Users/john.bond/git/ansible/hosts as it did not pass its verify_file() method
script declined parsing /Users/john.bond/git/ansible/hosts as it did not pass its verify_file() method
auto declined parsing /Users/john.bond/git/ansible/hosts as it did not pass its verify_file() method
Not replacing invalid character(s) "{'-'}" in group name (benchmark-target)
[WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to see
details
Not replacing invalid character(s) "{'-'}" in group name (benchmark-target)
Not replacing invalid character(s) "{'-'}" in group name (benchmark-target)
Not replacing invalid character(s) "{'-'}" in group name (benchmark-target-iad)
Not replacing invalid character(s) "{'-'}" in group name (benchmark-target-iad)
Not replacing invalid character(s) "{'-'}" in group name (benchmark-target-lax)
Not replacing invalid character(s) "{'-'}" in group name (benchmark-target-lax)
Not replacing invalid character(s) "{'-'}" in group name (puppet-master)
Not replacing invalid character(s) "{'-'}" in group name (puppet-master)
Not replacing invalid character(s) "{'-'}" in group name (targets-zonereport)
Not replacing invalid character(s) "{'-'}" in group name (targets-zonereport)
Not replacing invalid character(s) "{'-'}" in group name (gsi-signer)
Not replacing invalid character(s) "{'-'}" in group name (gsi-signer)
Not replacing invalid character(s) "{'-'}" in group name (gsi-distribution)
Not replacing invalid character(s) "{'-'}" in group name (gsi-distribution)
Not replacing invalid character(s) "{'-'}" in group name (lax-vm-template)
Not replacing invalid character(s) "{'-'}" in group name (lax-vm-template)
Not replacing invalid character(s) "{'-'}" in group name (iad-vm-template)
Not replacing invalid character(s) "{'-'}" in group name (iad-vm-template)
Not replacing invalid character(s) "{'-'}" in group name (mgmt-system)
Not replacing invalid character(s) "{'-'}" in group name (mgmt-system)
Not replacing invalid character(s) "{'-'}" in group name (imrs-sin-cluster)
Not replacing invalid character(s) "{'-'}" in group name (imrs-sin-cluster)
Not replacing invalid character(s) "{'-'}" in group name (imrs-prg-cluster)
Not replacing invalid character(s) "{'-'}" in group name (imrs-prg-cluster)
Not replacing invalid character(s) "{'-'}" in group name (imrs-nbo-cluster)
Not replacing invalid character(s) "{'-'}" in group name (imrs-nbo-cluster)
Not replacing invalid character(s) "{'-'}" in group name (imrs-lax-cluster)
Not replacing invalid character(s) "{'-'}" in group name (imrs-lax-cluster)
Not replacing invalid character(s) "{'-'}" in group name (imrs-rtv-cluster)
Not replacing invalid character(s) "{'-'}" in group name (imrs-rtv-cluster)
Not replacing invalid character(s) "{'-'}" in group name (imrs-clusters)
Not replacing invalid character(s) "{'-'}" in group name (imrs-clusters)
Not replacing invalid character(s) "{'-'}" in group name (wombat-lax)
Not replacing invalid character(s) "{'-'}" in group name (wombat-lax)
Not replacing invalid character(s) "{'-'}" in group name (wombat-iad)
Not replacing invalid character(s) "{'-'}" in group name (wombat-iad)
Parsed /Users/john.bond/git/ansible/hosts inventory source with ini plugin
Loading collection dellemc.openmanage from /Users/john.bond/git/ansible/collections/ansible_collections/dellemc/openmanage
Loading callback plugin default of type stdout, v2.0 from /usr/local/Cellar/ansible/9.1.0/libexec/lib/python3.12/site-packages/ansible/plugins/callback/default.py
Attempting to use 'default' callback.
Skipping callback 'default', as we already have a stdout callback.
Attempting to use 'junit' callback.
Attempting to use 'minimal' callback.
Skipping callback 'minimal', as we already have a stdout callback.
Attempting to use 'oneline' callback.
Skipping callback 'oneline', as we already have a stdout callback.
Attempting to use 'tree' callback.
PLAYBOOK: drac_mount_vcd.yaml **************************************************************
Positional arguments: drac_mount_vcd.yaml
verbosity: 5
connection: ssh
become_method: sudo
tags: ('all',)
inventory: ('/etc/ansible/hosts', '/usr/local/ansible/hosts', '/Users/john.bond/git/ansible/hosts')
forks: 30
1 plays in drac_mount_vcd.yaml
Enter the fqdn to re-image: ae01.xz-stp.l.dns.icann.org
PLAY [isobuilder] **************************************************************************
Found a vault_id (default) in the vaulttext
We have a secret associated with vault id (default), will try to use to decrypt /Users/john.bond/git/ansible/group_vars/all/secret.yml
Trying to use vault secret=(FileVaultSecret(filename='/Users/john.bond/git/ansible/.ANSIBLE_VAULT_PASS')) id=default to decrypt /Users/john.bond/git/ansible/group_vars/all/secret.yml
Trying secret FileVaultSecret(filename='/Users/john.bond/git/ansible/.ANSIBLE_VAULT_PASS') for vault_id=default
Decrypt of "b'/Users/john.bond/git/ansible/group_vars/all/secret.yml'" successful with secret=FileVaultSecret(filename='/Users/john.bond/git/ansible/.ANSIBLE_VAULT_PASS') and vault_id=default
Found a vault_id (default) in the vaulttext
We have a secret associated with vault id (default), will try to use to decrypt /Users/john.bond/git/ansible/group_vars/all/vault.yml
Trying to use vault secret=(FileVaultSecret(filename='/Users/john.bond/git/ansible/.ANSIBLE_VAULT_PASS')) id=default to decrypt /Users/john.bond/git/ansible/group_vars/all/vault.yml
Trying secret FileVaultSecret(filename='/Users/john.bond/git/ansible/.ANSIBLE_VAULT_PASS') for vault_id=default
Decrypt of "b'/Users/john.bond/git/ansible/group_vars/all/vault.yml'" successful with secret=FileVaultSecret(filename='/Users/john.bond/git/ansible/.ANSIBLE_VAULT_PASS') and vault_id=default
TASK [print the drac ip address] ***********************************************************
task path: /Users/john.bond/git/ansible/drac_mount_vcd.yaml:15
Loading collection community.general from /usr/local/Cellar/ansible/9.1.0/libexec/lib/python3.12/site-packages/ansible_collections/community/general
ok: [ae01.xz-stp.l.dns.icann.org] => {
"msg": "ae01.xz-stp.l.dns.icann.org drac ip is: 199.43.132.142"
}
TASK [Remote mount the iso file] ***********************************************************
task path: /Users/john.bond/git/ansible/drac_mount_vcd.yaml:18
<localhost> ESTABLISH LOCAL CONNECTION FOR USER: john.bond
<localhost> EXEC /bin/sh -c 'echo ~john.bond && sleep 0'
<localhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /Users/john.bond/.ansible/tmp `"&& mkdir "` echo /Users/john.bond/.ansible/tmp/ansible-tmp-1706631061.073499-25448-6884987116621 `" && echo ansible-tmp-1706631061.073499-25448-6884987116621="` echo /Users/john.bond/.ansible/tmp/ansible-tmp-1706631061.073499-25448-6884987116621 `" ) && sleep 0'
Including module_utils file ansible/__init__.py
Including module_utils file ansible/module_utils/__init__.py
Including module_utils file ansible/module_utils/basic.py
Including module_utils file ansible/module_utils/_text.py
Including module_utils file ansible/module_utils/common/_json_compat.py
Including module_utils file ansible/module_utils/common/__init__.py
Including module_utils file ansible/module_utils/common/_utils.py
Including module_utils file ansible/module_utils/common/arg_spec.py
Including module_utils file ansible/module_utils/common/file.py
Including module_utils file ansible/module_utils/common/locale.py
Including module_utils file ansible/module_utils/common/parameters.py
Including module_utils file ansible/module_utils/common/collections.py
Including module_utils file ansible/module_utils/common/process.py
Including module_utils file ansible/module_utils/common/sys_info.py
Including module_utils file ansible/module_utils/common/text/converters.py
Including module_utils file ansible/module_utils/common/text/__init__.py
Including module_utils file ansible/module_utils/common/text/formatters.py
Including module_utils file ansible/module_utils/common/validation.py
Including module_utils file ansible/module_utils/common/warnings.py
Including module_utils file ansible/module_utils/compat/selectors.py
Including module_utils file ansible/module_utils/compat/__init__.py
Including module_utils file ansible/module_utils/compat/_selectors2.py
Including module_utils file ansible/module_utils/compat/selinux.py
Including module_utils file ansible/module_utils/distro/__init__.py
Including module_utils file ansible/module_utils/distro/_distro.py
Including module_utils file ansible/module_utils/errors.py
Including module_utils file ansible/module_utils/parsing/convert_bool.py
Including module_utils file ansible/module_utils/parsing/__init__.py
Including module_utils file ansible/module_utils/pycompat24.py
Including module_utils file ansible/module_utils/six/__init__.py
Including module_utils file ansible/module_utils/urls.py
Including module_utils file ansible/module_utils/compat/typing.py
Including module_utils file ansible_collections/dellemc/openmanage/plugins/module_utils/idrac_redfish.py
Including module_utils file ansible_collections/__init__.py
Including module_utils file ansible_collections/dellemc/__init__.py
Including module_utils file ansible_collections/dellemc/openmanage/__init__.py
Including module_utils file ansible_collections/dellemc/openmanage/plugins/__init__.py
Including module_utils file ansible_collections/dellemc/openmanage/plugins/module_utils/__init__.py
Including module_utils file ansible_collections/dellemc/openmanage/plugins/module_utils/utils.py
Using module file /Users/john.bond/git/ansible/collections/ansible_collections/dellemc/openmanage/plugins/modules/idrac_virtual_media.py
<localhost> PUT /Users/john.bond/.ansible/tmp/ansible-local-254437eyh98a_/tmpee4aosig TO /Users/john.bond/.ansible/tmp/ansible-tmp-1706631061.073499-25448-6884987116621/AnsiballZ_idrac_virtual_media.py
<localhost> EXEC /bin/sh -c 'chmod u+x /Users/john.bond/.ansible/tmp/ansible-tmp-1706631061.073499-25448-6884987116621/ /Users/john.bond/.ansible/tmp/ansible-tmp-1706631061.073499-25448-6884987116621/AnsiballZ_idrac_virtual_media.py && sleep 0'
<localhost> EXEC /bin/sh -c '/usr/local/Cellar/ansible/9.1.0/libexec/bin/python /Users/john.bond/.ansible/tmp/ansible-tmp-1706631061.073499-25448-6884987116621/AnsiballZ_idrac_virtual_media.py && sleep 0'
<localhost> EXEC /bin/sh -c 'rm -f -r /Users/john.bond/.ansible/tmp/ansible-tmp-1706631061.073499-25448-6884987116621/ > /dev/null 2>&1 && sleep 0'
The full traceback is:
File "/var/folders/79/fxxf5_zd599gycd7_6zk5yxcx5vqnr/T/ansible_dellemc.openmanage.idrac_virtual_media_payload__pxprf4x/ansible_dellemc.openmanage.idrac_virtual_media_payload.zip/ansible_collections/dellemc/openmanage/plugins/modules/idrac_virtual_media.py", line 447, in main
File "/var/folders/79/fxxf5_zd599gycd7_6zk5yxcx5vqnr/T/ansible_dellemc.openmanage.idrac_virtual_media_payload__pxprf4x/ansible_dellemc.openmanage.idrac_virtual_media_payload.zip/ansible_collections/dellemc/openmanage/plugins/module_utils/idrac_redfish.py", line 187, in __enter__
resp = self.invoke_request(path, 'POST', data=payload)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/folders/79/fxxf5_zd599gycd7_6zk5yxcx5vqnr/T/ansible_dellemc.openmanage.idrac_virtual_media_payload__pxprf4x/ansible_dellemc.openmanage.idrac_virtual_media_payload.zip/ansible_collections/dellemc/openmanage/plugins/module_utils/idrac_redfish.py", line 178, in invoke_request
raise err
File "/var/folders/79/fxxf5_zd599gycd7_6zk5yxcx5vqnr/T/ansible_dellemc.openmanage.idrac_virtual_media_payload__pxprf4x/ansible_dellemc.openmanage.idrac_virtual_media_payload.zip/ansible_collections/dellemc/openmanage/plugins/module_utils/idrac_redfish.py", line 175, in invoke_request
resp = open_url(url, data=data, **url_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/folders/79/fxxf5_zd599gycd7_6zk5yxcx5vqnr/T/ansible_dellemc.openmanage.idrac_virtual_media_payload__pxprf4x/ansible_dellemc.openmanage.idrac_virtual_media_payload.zip/ansible/module_utils/urls.py", line 1686, in open_url
return Request().open(method, url, data=data, headers=headers, use_proxy=use_proxy,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/folders/79/fxxf5_zd599gycd7_6zk5yxcx5vqnr/T/ansible_dellemc.openmanage.idrac_virtual_media_payload__pxprf4x/ansible_dellemc.openmanage.idrac_virtual_media_payload.zip/ansible/module_utils/urls.py", line 1578, in open
r = urllib_request.urlopen(request, None, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/Cellar/[email protected]/3.12.1_1/Frameworks/Python.framework/Versions/3.12/lib/python3.12/urllib/request.py", line 215, in urlopen
return opener.open(url, data, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/Cellar/[email protected]/3.12.1_1/Frameworks/Python.framework/Versions/3.12/lib/python3.12/urllib/request.py", line 521, in open
response = meth(req, response)
^^^^^^^^^^^^^^^^^^^
File "/usr/local/Cellar/[email protected]/3.12.1_1/Frameworks/Python.framework/Versions/3.12/lib/python3.12/urllib/request.py", line 630, in http_response
response = self.parent.error(
^^^^^^^^^^^^^^^^^^
File "/usr/local/Cellar/[email protected]/3.12.1_1/Frameworks/Python.framework/Versions/3.12/lib/python3.12/urllib/request.py", line 559, in error
return self._call_chain(*args)
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/Cellar/[email protected]/3.12.1_1/Frameworks/Python.framework/Versions/3.12/lib/python3.12/urllib/request.py", line 492, in _call_chain
result = func(*args)
^^^^^^^^^^^
File "/usr/local/Cellar/[email protected]/3.12.1_1/Frameworks/Python.framework/Versions/3.12/lib/python3.12/urllib/request.py", line 639, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
fatal: [ae01.xz-stp.l.dns.icann.org -> localhost]: FAILED! => {
"changed": false,
"error_info": {
"error": {
"@Message.ExtendedInfo": [
{
"Message": "Unable to complete the operation because the Authorization request header is present in the request.",
"MessageArgs": [],
"[email protected]": 0,
"MessageId": "IDRAC.2.9.SYS468",
"RelatedProperties": [],
"[email protected]": 0,
"Resolution": "Make sure that the Authorization request header is not included and retry the operation. For information about the necessary headers, see the Redfish specification and Redfish User's Guide available on the support site.",
"Severity": "Informational"
}
],
"code": "Base.1.8.GeneralError",
"message": "A general error has occurred. See ExtendedInfo for more information."
}
},
"invocation": {
"module_args": {
"ca_path": null,
"force": true,
"idrac_ip": "drac.ae01.xz-stp.l.dns.icann.org",
"idrac_password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
"idrac_port": 443,
"idrac_user": "dns0ps",
"resource_id": null,
"timeout": 30,
"validate_certs": false,
"virtual_media": [
{
"domain": null,
"image": "https://download.dns.icann.org/ae01.xz-stp.l.dns.icann.org.iso",
"index": null,
"insert": true,
"media_type": null,
"password": null,
"username": null
}
]
}
},
"msg": "HTTP Error 400: Bad Request"
}
PLAY RECAP *********************************************************************************
ae01.xz-stp.l.dns.icann.org : ok=1 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0
Steps to Reproduce
Run the cookbook
Expected Behavior
Would expect the remote iso to be mounted
Actual Behavior
Get a 400 error with the following message
"Message": "Unable to complete the operation because the Authorization request header is present in the request.",
"MessageArgs": [],
"[email protected]": 0,
"MessageId": "IDRAC.2.9.SYS468",
"RelatedProperties": [],
"[email protected]": 0,
"Resolution": "Make sure that the Authorization request header is not included and retry the operation. For information about the necessary headers, see the Redfish specification and Redfish User's Guide available on the support site.",
"Severity": "Informational"
Screenshots
No response
Additional Information
No response
@b4ldr Thanks for reporting this issue. Can you try with IPv4 address instead of fqdn and let us know if the issue reproducible. Also, Please let us know how did you configure the fqdn for the idrac.
@sachin-apa if i use the IP address, i get a 401 username and password error. however testing with python and the same password works well
In [26]: s = Session()
In [27]: s.auth = ('dns0ps', password)
In [28]: s.headers.update({"Accept": "application/json"})
In [29]: s.verify = False
In [30]: r = s.get('https://199.43.132.142/redfish/v1/Managers')
/Users/john.bond/Library/Python/3.9/lib/python/site-packages/urllib3/connectionpool.py:1099: InsecureRequestWarning: Unverified HTTPS request is being made to host '199.43.132.142'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings
warnings.warn(
In [31]: r.ok
Out[31]: True
In [32]: r.json()
Out[32]:
{'@odata.context': '/redfish/v1/$metadata#ManagerCollection.ManagerCollection',
'@odata.id': '/redfish/v1/Managers',
'@odata.type': '#ManagerCollection.ManagerCollection',
'Description': 'BMC',
'Members': [{'@odata.id': '/redfish/v1/Managers/iDRAC.Embedded.1'}],
'[email protected]': 1,
'Name': 'Manager'}
ansible output
fatal: [ae01.xz-stp.l.dns.icann.org -> localhost]: FAILED! => {
"changed": false,
"error_info": {
"error": {
"@Message.ExtendedInfo": [
{
"Message": "Unable to complete the operation because an invalid username and/or password is entered, and therefore authentication failed.",
"MessageArgs": [],
"[email protected]": 0,
"MessageId": "IDRAC.2.9.SYS415",
"RelatedProperties": [],
"[email protected]": 0,
"Resolution": "Enter valid user name and password and retry the operation.",
"Severity": "Warning"
}
],
"code": "Base.1.12.GeneralError",
"message": "A general error has occurred. See ExtendedInfo for more information"
}
},
"invocation": {
"module_args": {
"ca_path": null,
"force": true,
"idrac_ip": "199.43.132.142",
"idrac_password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
"idrac_port": 443,
"idrac_user": "root",
"resource_id": null,
"timeout": 30,
"validate_certs": false,
"virtual_media": [
{
"domain": null,
"image": "https://download.dns.icann.org/dban-2.2.8_i586.iso",
"index": null,
"insert": true,
"media_type": null,
"password": null,
"username": null
}
]
}
},
"msg": "HTTP Error 401: Unauthorized"
}
thanks john
@b4ldr i tried to reproduce this in our lab, but i'm not able to reproduce this. I see http error is coming from the iDRAC not from ansible/module/url lib.. We might need a session to debug this further.
Request you to please 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.
@anupamaloke
I had the same behaviour while configuring a batch of new R760xa servers with the task below:
- name: Configure iDRAC Rac name
dellemc.openmanage.idrac_attributes:
idrac_ip: "{{ ipmi_host }}"
idrac_user: "{{ ipmi_user }}"
idrac_password: "{{ ipmi_password }}"
ca_path: "{{ idrac_ca_path | default(omit) }}"
validate_certs: "{{ idrac_validate_certs | default(omit) }}"
idrac_attributes:
NIC.1.DNSRacName: "{{ inventory_hostname }}-ipmi"
NIC.1.DNSDomainName: "{{ idrac_dns_domain_name }}"
delegate_to: localhost
My inventory defines ipmi_host: "{{ inventory_hostname }}-ipmi"
but the hostname of the iDRAC is still the default one (idrac-SERVICE_TAG
). A wokaround is to use idrac_ip: "{{ lookup('community.general.dig', ipmi_host) }}"
instead.
Is it related to idrac_ip
being a different hostname than the one configured in the iDRAC?
This task used to work last year when I configured another batch of nodes (XE8545).
@b4ldr,
Could you please let us know if this issue is resolved?