ansible/test/units
Chris Van Heuveln 0868fec8bd nxos_vpc: pkl_vrf fixes for #57069 (#57370)
* 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
2019-06-28 16:18:46 +05:30
..
cli Restore ansible --version output (#55728) 2019-04-29 16:38:31 -04:00
compat Move unit test compat code out of lib/ansible/. (#46996) 2018-10-12 20:01:14 -07:00
config Fix encoding issues with file paths. (#50830) 2019-01-14 13:06:47 -08:00
contrib Fix vmware_inventory unit tests so they run. 2018-10-09 22:52:04 -07:00
errors Add better error when k=v syntax is used with YAML in tasks (#41754) 2018-12-04 12:32:02 -05:00
executor Support using importlib on py>=3 to avoid imp deprecation (#54883) 2019-04-25 10:28:18 -05:00
inventory_test_data/group_vars
mock Move unit test compat code out of lib/ansible/. (#46996) 2018-10-12 20:01:14 -07:00
module_utils kubevirt: more unit tests (#57739) 2019-06-25 20:06:13 +10:00
modules nxos_vpc: pkl_vrf fixes for #57069 (#57370) 2019-06-28 16:18:46 +05:30
parsing lib/ansible/parsing/ajson.py: added UNIT-tests (#56398) 2019-05-17 23:29:42 -07:00
playbook Restore ansible --version output (#55728) 2019-04-29 16:38:31 -04:00
plugins Fix ios test for python2 non-ascii paths 2019-06-21 11:32:28 -07:00
regex Add toggle to control invalid character substitution in group names (#52748) 2019-03-06 11:49:40 -05:00
template Add back _contains_vars method as maybe_template (#58290) 2019-06-25 10:54:37 -05:00
utils kubevirt: more unit tests (#57739) 2019-06-25 20:06:13 +10:00
vars Fix inventory cache interface (#50446) 2019-03-06 12:12:35 -06:00
__init__.py
ansible.cfg
conftest.py Update handling of the non_local test alias. 2019-03-22 16:05:24 -07:00
test_constants.py
test_context.py Save the command line arguments into a global context 2019-01-03 18:12:23 -08:00