0868fec8bd
* nxos_vpc: pkl_vrf fixes for #57069 Fixes #57069 - Symptom: When playbooks specify `pkl_vrf: default`, the result is that the cli does not set the `vrf` state. - Analysis: - First issue: 'default' is a reserved word when used with the `peer-keepalive` `vrf` keyword. It refers to the default rib. - This is confusing in several ways because `peer-keepalive`'s *default* vrf is the `management` vrf. - Second issue: When changing only one optional value (`pkl_vrf`) while other optional values are idempotent (`pkl_src`), the result is that the idempotent values are ignored; unfortunately the device cli *replaces* the entire command, in which case the idempotent values are removed. - e.g. playbook specifies this: ``` { pkl_dest: 10.1.1.1, pkl_src: 10.2.2.2, pkl_vrf: my_vrf } ``` ``` peer-keepalive dest 10.1.1.1 src 10.2.2.2 # original peer-keepalive dest 10.1.1.1 src 10.2.2.2 vrf my_vrf # intended result peer-keepalive dest 10.1.1.1 vrf my_vrf # actual result ``` - Third issue: the `pkl` getter was relying on positional data. This broke when the `udp` keyword nvgen'd where `vrf` used to appear (shifting all keywords to the right). - Tested on regression platforms: `N3K,N6k,N7K,N9K,N3K-F,N9K-F` * PEP fixes * PEP fix 2 * pkl should merge by default, not override * rmv debugs * add mike's tests * fix comments |
||
---|---|---|
.. | ||
fixtures | ||
__init__.py | ||
nxos_module.py | ||
test_nxos_acl.py | ||
test_nxos_acl_interface.py | ||
test_nxos_banner.py | ||
test_nxos_bfd_global.py | ||
test_nxos_bgp.py | ||
test_nxos_bgp_af.py | ||
test_nxos_bgp_neighbor.py | ||
test_nxos_bgp_neighbor_af.py | ||
test_nxos_command.py | ||
test_nxos_config.py | ||
test_nxos_evpn_global.py | ||
test_nxos_evpn_vni.py | ||
test_nxos_feature.py | ||
test_nxos_hsrp.py | ||
test_nxos_interface.py | ||
test_nxos_interface_ospf.py | ||
test_nxos_l3_interface.py | ||
test_nxos_nxapi.py | ||
test_nxos_ospf.py | ||
test_nxos_ospf_vrf.py | ||
test_nxos_overlay_global.py | ||
test_nxos_pim.py | ||
test_nxos_pim_interface.py | ||
test_nxos_pim_interface_bfd.py | ||
test_nxos_pim_rp_address.py | ||
test_nxos_static_route.py | ||
test_nxos_system.py | ||
test_nxos_vlan.py | ||
test_nxos_vpc.py | ||
test_nxos_vpc_interface.py | ||
test_nxos_vrf.py | ||
test_nxos_vrf_af.py | ||
test_nxos_vxlan_vtep.py | ||
test_nxos_vxlan_vtep_vni.py |