Pure-Storage-Ansible / FlashBlade-Collection

Ansible Collection for Pure Storage FlashBlade
GNU General Public License v3.0
4 stars 8 forks source link

purefb_lag incapable of operating with multi-chassis #264

Closed dmiller75 closed 5 months ago

dmiller75 commented 5 months ago

Describe the bug purefb_lag cannot be used with multi-chassis deployments, external NICs are labelled XFM1/2.ETH21-29 the naming doesn't have a chassis reference (ch1) only single chassis deployments do. The module payload adds a fm value to the required ch1.ethX producing ch1.fm1.eth1 and ch1.fm2.eth1. a multi-chassis deployment uses an XFM instead so the uplink ports are very different.

To Reproduce ` - name: Link Aggregation Group purestorage.flashblade.purefb_lag: fb_url: "{{ fb_mgmt_ip }}" api_token: "{{ token }}" name: uplink ports:

Screenshots <127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: root <127.0.0.1> EXEC /bin/sh -c 'echo ~root && sleep 0' <127.0.0.1> EXEC /bin/sh -c '( umask 77 && mkdir -p " echo /root/.ansible/tmp "&& mkdir " echo /root/.ansible/tmp/ansible-tmp-1706712947.069153-62162-263838951464883 " && echo ansible-tmp-1706712947.069153-62162-263838951464883=" echo /root/.ansible/tmp/ansible-tmp-1706712947.069153-62162-263838951464883 " ) && sleep 0' Using module file /root/.ansible/collections/ansible_collections/purestorage/flashblade/plugins/modules/purefb_lag.py <127.0.0.1> PUT /root/.ansible/tmp/ansible-local-62001u0r1xh7z/tmp3pwvibg8 TO /root/.ansible/tmp/ansible-tmp-1706712947.069153-62162-263838951464883/AnsiballZ_purefb_lag.py <127.0.0.1> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1706712947.069153-62162-263838951464883/ /root/.ansible/tmp/ansible-tmp-1706712947.069153-62162-263838951464883/AnsiballZ_purefb_lag.py && sleep 0' <127.0.0.1> EXEC /bin/sh -c '/usr/bin/python3 /root/.ansible/tmp/ansible-tmp-1706712947.069153-62162-263838951464883/AnsiballZ_purefb_lag.py && sleep 0' <127.0.0.1> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1706712947.069153-62162-263838951464883/ > /dev/null 2>&1 && sleep 0' fatal: [localhost]: FAILED! => { "changed": false, "invocation": { "module_args": { "api_token": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER", "fb_url": "192.168.1.1", "name": "uplink", "ports": [ "XFM1.ETH21", "XFM1.ETH22", "XFM2.ETH21", "XFM2.ETH22" ], "state": "present" } }, "msg": "Failed to update LAG uplink. Error: Ethernet ports XFM1.FM1.ETH21, XFM1.FM1.ETH22, XFM1.FM2.ETH21, XFM1.FM2.ETH22, XFM2.FM1.ETH21, XFM2.FM1.ETH22, XFM2.FM2.ETH21, XFM2.FM2.ETH22 do not exist."

pureuser@fb01:$ purehw connector list Name Connector Type Port Count Lane Speed Transceiver Type CH1.FM1.ETH1 QSFP 1 10 Gbps AUTO CH1.FM1.ETH2 QSFP 1 10 Gbps AUTO CH1.FM1.ETH3 QSFP 4 0 bps AUTO CH1.FM1.ETH4 QSFP 4 0 bps AUTO CH1.FM2.ETH1 QSFP 1 10 Gbps AUTO CH1.FM2.ETH2 QSFP 1 10 Gbps AUTO CH1.FM2.ETH3 QSFP 4 0 bps AUTO CH1.FM2.ETH4 QSFP 4 0 bps AUTO XFM1.ETH1 QSFP 1 10 Gbps AUTO XFM1.ETH2 QSFP 1 10 Gbps AUTO XFM1.ETH3 QSFP 4 0 bps AUTO XFM1.ETH4 QSFP 4 0 bps AUTO XFM1.ETH5 QSFP 4 0 bps AUTO XFM1.ETH6 QSFP 4 0 bps AUTO XFM1.ETH7 QSFP 4 0 bps AUTO XFM1.ETH8 QSFP 4 0 bps AUTO XFM1.ETH9 QSFP 4 0 bps AUTO XFM1.ETH10 QSFP 4 0 bps AUTO XFM1.ETH11 QSFP 4 0 bps AUTO XFM1.ETH12 QSFP 4 0 bps AUTO XFM1.ETH13 QSFP 4 0 bps AUTO XFM1.ETH14 QSFP 4 0 bps AUTO XFM1.ETH15 QSFP 4 0 bps AUTO XFM1.ETH16 QSFP 4 0 bps AUTO XFM1.ETH17 QSFP 4 0 bps AUTO XFM1.ETH18 QSFP 4 0 bps AUTO XFM1.ETH19 QSFP 4 0 bps AUTO XFM1.ETH20 QSFP 4 0 bps AUTO XFM1.ETH21 QSFP 1 10 Gbps AUTO XFM1.ETH22 QSFP 1 10 Gbps AUTO XFM1.ETH23 QSFP 1 10 Gbps AUTO XFM1.ETH24 QSFP 1 10 Gbps AUTO XFM1.ETH25 QSFP 4 0 bps AUTO XFM1.ETH26 QSFP 4 0 bps AUTO XFM1.ETH27 QSFP 4 0 bps AUTO XFM1.ETH28 QSFP 4 0 bps AUTO XFM1.ETH29 QSFP 4 0 bps AUTO XFM1.ETH30 QSFP 4 0 bps AUTO XFM1.ETH31 QSFP 1 10 Gbps AUTO XFM1.ETH32 QSFP 1 10 Gbps AUTO XFM1.ETH33 RJ-45 1 1 Gbps AUTO XFM2.ETH1 QSFP 1 10 Gbps AUTO XFM2.ETH2 QSFP 1 10 Gbps AUTO XFM2.ETH3 QSFP 4 0 bps AUTO XFM2.ETH4 QSFP 4 0 bps AUTO XFM2.ETH5 QSFP 4 0 bps AUTO XFM2.ETH6 QSFP 4 0 bps AUTO XFM2.ETH7 QSFP 4 0 bps AUTO XFM2.ETH8 QSFP 4 0 bps AUTO XFM2.ETH9 QSFP 4 0 bps AUTO XFM2.ETH10 QSFP 4 0 bps AUTO XFM2.ETH11 QSFP 4 0 bps AUTO XFM2.ETH12 QSFP 4 0 bps AUTO XFM2.ETH13 QSFP 4 0 bps AUTO XFM2.ETH14 QSFP 4 0 bps AUTO XFM2.ETH15 QSFP 4 0 bps AUTO XFM2.ETH16 QSFP 4 0 bps AUTO XFM2.ETH17 QSFP 4 0 bps AUTO XFM2.ETH18 QSFP 4 0 bps AUTO XFM2.ETH19 QSFP 4 0 bps AUTO XFM2.ETH20 QSFP 4 0 bps AUTO XFM2.ETH21 QSFP 1 10 Gbps AUTO XFM2.ETH22 QSFP 1 10 Gbps AUTO XFM2.ETH23 QSFP 1 10 Gbps AUTO XFM2.ETH24 QSFP 1 10 Gbps AUTO XFM2.ETH25 QSFP 4 0 bps AUTO XFM2.ETH26 QSFP 4 0 bps AUTO XFM2.ETH27 QSFP 4 0 bps AUTO XFM2.ETH28 QSFP 4 0 bps AUTO XFM2.ETH29 QSFP 4 0 bps AUTO XFM2.ETH30 QSFP 4 0 bps AUTO XFM2.ETH31 QSFP 1 10 Gbps AUTO XFM2.ETH32 QSFP 1 10 Gbps AUTO XFM2.ETH33 RJ-45 1 1 Gbps AUTO