You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment
Ansible Version and collection version
DCNM version
V 3.6.0
Affected module(s)
dcnm_interface
Ansible Playbook
# Copy-paste your anisble playbook here
Debug Output
Expected Behavior
When trying to configure a trunk or access interface that is part of a port channel or vpc, module should not allow update of most aspects of the interface (as per the GUI, if the policy on the port is int_vpc_trunk_po_member_11_1 then the only editable fields are Interface Description, Freeform Config and Interface Admin State). When trying to update other fields the module should throw an error to say the port is part of a port channel or VPC (as per older versions of the module).
Actual Behavior
The member interface gets completely reset, all the po/vpc membership config is removed from the port thus removing the interface from the po/vpc.
Steps to Reproduce
Configure a VPC or PO, add a member interface then try to update any aspect of the member interface and the interface will be removed from the VPC/PO. In the GUI the VPC/PO will still show the member ports in its configuration but all channel membership configuration will be removed from the member interface.
References
Having had a quick look at the code, it appears that anytime there is a difference between the policy on a port as part of the input to the playbook and the policy on the interface on NDFC then no key/value comparison is done and the input to the playbook is just pushed as a whole to NDFC.
As I read it, there will need to be some special cases in the key/value comparison to handle po/vpc membership and to make sure we push the correct (existing in NDFC) policy back to the interface in NDFC
The text was updated successfully, but these errors were encountered:
Community Note
Ansible Version and collection version
DCNM version
Affected module(s)
Ansible Playbook
# Copy-paste your anisble playbook here
Debug Output
Expected Behavior
When trying to configure a trunk or access interface that is part of a port channel or vpc, module should not allow update of most aspects of the interface (as per the GUI, if the policy on the port is int_vpc_trunk_po_member_11_1 then the only editable fields are Interface Description, Freeform Config and Interface Admin State). When trying to update other fields the module should throw an error to say the port is part of a port channel or VPC (as per older versions of the module).
Actual Behavior
The member interface gets completely reset, all the po/vpc membership config is removed from the port thus removing the interface from the po/vpc.
Steps to Reproduce
Configure a VPC or PO, add a member interface then try to update any aspect of the member interface and the interface will be removed from the VPC/PO. In the GUI the VPC/PO will still show the member ports in its configuration but all channel membership configuration will be removed from the member interface.
References
Having had a quick look at the code, it appears that anytime there is a difference between the policy on a port as part of the input to the playbook and the policy on the interface on NDFC then no key/value comparison is done and the input to the playbook is just pushed as a whole to NDFC.
As I read it, there will need to be some special cases in the key/value comparison to handle po/vpc membership and to make sure we push the correct (existing in NDFC) policy back to the interface in NDFC
The text was updated successfully, but these errors were encountered: