dell / dellemc-openmanage-ansible-modules

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

ome_smart_fabric Fabric management is not supported on the specified system #179

Closed MallocArray closed 3 years ago

MallocArray commented 3 years ago

I'm not sure if this is related to this module not being idempotent, but I am trying to add a task using ome_smart_fabric to a playbook that will ensure the fabric is configured according to our existing configuration. I have added all of the required fields to match what we already have setup, so I'm expecting the task to complete with an OK status since it is already present in the exact configuration, but I get an error regardless if I'm running it in check mode or in normal mode.

FAILED! => {"ansible_facts": {"discovered_interpreter_python": "/usr/libexec/platform-python"}, "changed": false, "msg": "Fabric management is not supported on the specified system."}

MX7000 chassis system with 3 chassis in the group. Version 1.20.10 with design "2xMX9116n_Fabric_Switching_Engines_in_different_chassis"

I was going to have this as the first step of a playbook that will ultimately add VLANs to the uplinks and want to ensure that the fabric is present. We have had to fully reset our chassis group in the past, so there could be a situation where it would need to create the fabric itself, but normally it would just be verifying that it is present and configured.

If it is because this module only supports the initial creation or an actual modification of the fabric and does not support being idempotent, then that doesn't really fit the standard Ansible model. I could have a separate playbook just for creating the fabric if we know it is missing, but would be different from every other playbook I've been creating.

jagadeeshnv commented 3 years ago

@MallocArray We are looking into it, we will get back in case we need any data.

Sajna-Shetty commented 3 years ago

@MallocArray Could you confirm if you are using an IP address or hostname?

MallocArray commented 3 years ago

@Sajna-Shetty I am using the FQDN hostname of the Lead Chassis. VIP is not being used in this current configuration.

jagadeeshnv commented 3 years ago

@MallocArray This has been addressed with latest release, please verify

MallocArray commented 3 years ago

I just tried again after upgrading to the 3.0.0 collection and I still get the same message. I switched from using variables to hard coded values to ensure I was giving proper data and still get the error

MX7000 running 1.20.10 with an existing Fabric named "Fabric A"

    - name: Manage SmartFabric
      ome_smart_fabric:
        hostname: "{{ inventory_hostname }}"
        username: "{{ dell_ome_username }}"
        password: "{{ dell_ome_password }}"
        state: present
        name: "Fabric A"
        fabric_design: "2xMX9116n_Fabric_Switching_Engines_in_different_chassis"
        primary_switch_service_tag: "xxxxxxx"
        secondary_switch_service_tag: "xxxxxxx"
        override_LLDP_configuration: "Disabled"

FAILED! => {"ansible_facts": {"discovered_interpreter_python": "/usr/libexec/platform-python"}, "changed": false, "msg": "Fabric management is not supported on the specified system."}

jagadeeshnv commented 3 years ago

@MallocArray Please try with the full collection path dellemc.openmanage.ome_smart_fabric in the above task and let us know

MallocArray commented 3 years ago

I did have the collection specified earlier in the playbook, but I changed that line to now have the FQCN and it did not make a change. Same error.

I can open a full Dell TechDirect ticket if that is the best way to troubleshoot this particular situation.

jagadeeshnv commented 3 years ago

@MallocArray Please raise a ticket

MallocArray commented 3 years ago

I opened a TechDirect ticket and we found the cause.

In Ansible Inventory, I have a DNS name for the IP of the lead chassis (We can't use the VIP feature currently for other reasons). So DellGroup1.domain.com is a DNS record for the IP of the Lead. The Lead chassis itself has Settings>Network>DNS Name set to DellGroup1Chassis01, and all of the other chassis follow suit.

It appears that this is causing the Ansible module to fail, since my DNS name that I have in the inventory file does not match the DNS name set inside of this chassis. I don't want to rename this chassis to just DellGroup1 as I want to follow the standard of each one being named for the chassis number.

If I modify my Inventory, host_vars, and playbook to refer to it by the IP of the Lead chassis, then the playbook is successful, but all other modules that I'm using from this collection work just fine with my DNS name to the IP of the lead chassis, so I don't want to have to make multiple modification.

At some point we'll be able to enable the VIP again and the DNS name of DellGroup1.domain.com will point to it and my expectation would be that it would work as well. So hopefully the ome_smart_fabric module can be modified to accept a DNS name that points to the lead IP, even if the chassis's configuration for the DNS name does not match it.

jagadeeshnv commented 3 years ago

@MallocArray Thanks for the details, this helped. we will definitely consider, and will update you soon on this thread when this module is modified

jagadeeshnv commented 3 years ago

@MallocArray This issue has been fixed in the latest release. Please verify the same. In case some issue, please open another.