dell / dellemc-openmanage-ansible-modules

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

iDRAC network module halts #263

Closed ryokubaka closed 2 years ago

ryokubaka commented 3 years ago

Upon executing the idrac_network module, the execution fails with the message "Unable to complete application of configuration profile values." and a MessageId of "SYS067". I cannot seem to find any additional feedback as to what the root cause of failure is.

@grantcurell on-site; asked us to make a ticket for the issue.

grantcurell commented 3 years ago

@ryokubaka I'm not getting the same output - sorry, I know you didn't want to have to find a way to copy and paste it over but I need to know what options you ran it with 😂

ryokubaka commented 3 years ago

Here is the task being executed (note, the somewhat odd way I am passing the idrac_password works in other playbooks, so this is fine):

 - name: Configure iDRAC network settings
    idrac_network:
        idrac_ip: "{{ idrac_ip }}"
        idrac_user: "{{ idrac.idrac_user }}"
        idrac_password: "{{ idrac[hostname].idrac_password }}"
        share_name: "{{ share.share_name }}"
        share_mnt: "{{ share.share_mnt }}"
        register_idrac_on_dns: "{{ register_idrac_on_dns }}"
        dns_idrac_name: "{{ dns_idrac_name }}"
        auto_config: "{{ auto_config }}"
        static_dns: "{{ static_dns }}"
        setup_idrac_nic_vlan: "{{ setup_idrac_nic_vlan }}"
        vlan_id: "{{ vlan_id }}"
        vlan_priority: "{{ vlan_priority }}"
        enable_nic: "{{ enable_nic }}"
        nic_selection: "{{ nic_selection }}"
        failover_network: "{{ failover_network }}"
        auto_detect: "{{ auto_detect }}"
        auto_negotiation: "{{ auto_negotiation }}"
        network_speed: "{{ network_speed }}"
        duplex_mode: "{{ duplex_mode }}"
        nic_mtu: "{{ nic_mtu }}"
        ip_address: "{{ ip_address }}"
        enable_dhcp: "{{ enable_dhcp }}"
        enable_ipv4: "{{ enable_ipv4 }}"
        static_dns_1: "{{ static_dns_1 }}"
        static_dns_2: "{{ static_dns_2 }}"
        dns_from_dhcp: "{{ dns_from_dhcp }}"
        static_gateway: "{{ static_gateway }}"
        static_net_mask: "{{ static_net_mask }}"

And variables (scrubbed):

share:
    share_user: "root"
    share_name: "/mnt/dell-liaison-share"
    share_mnt: "/mnt/dell-liaison-share"
idrac_ip: x.x.x.x
idrac_user: root
idrac_password: password
register_idrac_on_dns: "Enabled"
dns_idrac_name: "hostname"
auto_config: "Disabled"
static_dns: "domainname"
setup_idrac_nic_vlan: "Disabled"
vlan_id: "1"
vlan_priority: "0"
enable_nic: "Enabled"
nic_selection: "Dedicated"
failover_network: "T_None"
auto_detect: "Enabled"
auto_negotiation: "Enabled"
network_speed: "T_1000"
duplex_mode: "Full"
nic_mtu: 1500
ip_address: "x.x.x.x"
enable_dhcp: "Disabled"
enable_ipv4: "Enabled"
static_dns_1: "x.x.x.x"
static_dns_2: "x.x.x.x"
dns_from_dhcp: "Disabled"
static_gateway: "x.x.x.x"
static_net_mask: "x.x.x.x"

Key output again:

"JobState": "Failed",
"JobType": "Import Configuration",
"Message": "Unable to complete application of configuration profile values.",
"MessageArgs": [],
"MessageArgs@odata.count": 0,
"MessageId": "SYS067",
"Name": "Configure: Import Server Configuration Profile",
"PercentComplete": 100,
"Status": "Failed",
"TargetSettingsURI": null,
"retval": false
grantcurell commented 3 years ago

@ryokubaka there's a problem with your share. That error occurs in this function

I've PR'd instructions on how to deal with this easily. Try using your playbook directory as described here

Edit: Heads up - when I tested there's a job wait that runs silently. Mine ran for a few minutes and it looked hung but in reality it was actually doing something.

ryokubaka commented 3 years ago

Unfortunately this did not fix the issue. I do see an xml generated starting with "scp" when I run, so it does recognize the playbook_dir appropriately, but I still get the same output.

grantcurell commented 3 years ago

I'd put it in a debugger then. Unfortunately I wasn't able to replicate but I also haven't set up an environment to change everything in one go

PR #265 has detailed instructions if you want to go that route

grantcurell commented 3 years ago

There's a lot of interdependent things in there, you might try breaking up the number of things you change into smaller groups and see if it fails on one thing or another

grantcurell commented 3 years ago

Ex: if you change the IP and then change stuff after I didn't look at the source to see if it would sequence things to follow that change

ryokubaka commented 3 years ago

Found the issue - commenting out the following line allows the module to execute successfully:

auto_detect: "{{ auto_detect }}" - where the variable has been defined as "Disabled".

grantcurell commented 3 years ago

I'll work on a PR for it