diff options
author | Nathaniel Case <ncase@redhat.com> | 2019-05-17 19:06:27 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-17 19:06:27 +0200 |
commit | 63e33f7e71622c47318f7c5c240cbabfcd8b333a (patch) | |
tree | 7099fbd7971971e6e442f5902570c9bcb7d91fcc /test/integration/targets/eos_l2_interface | |
parent | Fix typo that breaks invocation of os_stack (#56575) (diff) | |
download | ansible-63e33f7e71622c47318f7c5c240cbabfcd8b333a.tar.xz ansible-63e33f7e71622c47318f7c5c240cbabfcd8b333a.zip |
Fix eos_l2_interface idempotency (#56531)
* Attempt to handle just mode trunk properly
* Add test for trunk-only config and clean up tests
* Add missing eapi tests and remove references to provider as we do not test local
Diffstat (limited to 'test/integration/targets/eos_l2_interface')
-rw-r--r-- | test/integration/targets/eos_l2_interface/tests/cli/basic.yaml | 104 | ||||
-rw-r--r-- | test/integration/targets/eos_l2_interface/tests/eapi/basic.yaml | 108 |
2 files changed, 144 insertions, 68 deletions
diff --git a/test/integration/targets/eos_l2_interface/tests/cli/basic.yaml b/test/integration/targets/eos_l2_interface/tests/cli/basic.yaml index 69e9badd00..80482e6626 100644 --- a/test/integration/targets/eos_l2_interface/tests/cli/basic.yaml +++ b/test/integration/targets/eos_l2_interface/tests/cli/basic.yaml @@ -1,140 +1,108 @@ --- -- debug: msg="START eos_l2_interface cli/basic.yaml on connection={{ ansible_connection }}" +- debug: + msg: "START eos_l2_interface cli/basic.yaml on connection={{ ansible_connection }}" - name: Delete test interface switchports - eos_l2_interface: + eos_l2_interface: &clear name: Ethernet1 state: absent - authorize: yes - provider: "{{ cli }}" become: yes - name: Set switchport mode to access on vlan 4000 - eos_l2_interface: + eos_l2_interface: &vlan-4000 name: Ethernet1 state: present mode: access access_vlan: 4000 - authorize: yes - provider: "{{ cli }}" become: yes register: result -- assert: +- assert: &changed that: - 'result.changed == true' - name: Set switchport mode to access on vlan 4000 again (idempotent) - eos_l2_interface: - name: Ethernet1 - state: present - mode: access - access_vlan: 4000 - authorize: yes - provider: "{{ cli }}" + eos_l2_interface: *vlan-4000 become: yes register: result -- assert: +- assert: &unchanged that: - 'result.changed == false' - name: Change access vlan to 4001 - eos_l2_interface: + eos_l2_interface: &vlan-4001 name: Ethernet1 state: present mode: access access_vlan: 4001 - authorize: yes - provider: "{{ cli }}" become: yes register: result -- assert: - that: - - 'result.changed == true' +- assert: *changed - name: Change access vlan to 4001 again (idempotent) - eos_l2_interface: + eos_l2_interface: *vlan-4001 + become: yes + register: result + +- assert: *unchanged + +- name: Change switchport mode to trunk + eos_l2_interface: &trunk name: Ethernet1 state: present - mode: access - access_vlan: 4001 - authorize: yes - provider: "{{ cli }}" + mode: trunk become: yes register: result -- assert: - that: - - 'result.changed == false' +- assert: *changed + +- name: Change switchport mode to trunk (idempotent) + eos_l2_interface: *trunk + become: yes + register: result + +- assert: *unchanged - name: Change switchport mode to trunk and set native vlan to 4001 - eos_l2_interface: + eos_l2_interface: &trunk-native name: Ethernet1 state: present mode: trunk native_vlan: 4001 - authorize: yes - provider: "{{ cli }}" become: yes register: result -- assert: - that: - - 'result.changed == true' +- assert: *changed - name: Change switchport mode to trunk and set native vlan to 4001 again (idempotent) - eos_l2_interface: - name: Ethernet1 - state: present - mode: trunk - native_vlan: 4001 - authorize: yes - provider: "{{ cli }}" + eos_l2_interface: *trunk-native become: yes register: result -- assert: - that: - - 'result.changed == false' +- assert: *unchanged - name: Set trunk allowed vlans to 20 and 4000 - eos_l2_interface: + eos_l2_interface: &trunk-allowed name: Ethernet1 state: present mode: trunk trunk_allowed_vlans: 20,4000 - authorize: yes - provider: "{{ cli }}" become: yes register: result -- assert: - that: - - 'result.changed == true' +- assert: *changed - name: Set trunk allowed vlans to 20 and 4000 again (idempotent) - eos_l2_interface: - name: Ethernet1 - state: present - mode: trunk - trunk_allowed_vlans: 20,4000 - authorize: yes - provider: "{{ cli }}" + eos_l2_interface: *trunk-allowed become: yes register: result -- assert: - that: - - 'result.changed == false' +- assert: *unchanged - name: Tear down switchports - eos_l2_interface: - name: Ethernet1 - state: absent - authorize: yes - provider: "{{ cli }}" + eos_l2_interface: *clear become: yes -- debug: msg="END eos_l3_interface cli/basic.yaml on connection={{ ansible_connection }}" +- debug: msg="END eos_l2_interface cli/basic.yaml on connection={{ ansible_connection }}" diff --git a/test/integration/targets/eos_l2_interface/tests/eapi/basic.yaml b/test/integration/targets/eos_l2_interface/tests/eapi/basic.yaml new file mode 100644 index 0000000000..d87b71782b --- /dev/null +++ b/test/integration/targets/eos_l2_interface/tests/eapi/basic.yaml @@ -0,0 +1,108 @@ +--- +- debug: + msg: "START eos_l2_interface eapi/basic.yaml on connection={{ ansible_connection }}" + +- name: Delete test interface switchports + eos_l2_interface: &clear + name: Ethernet1 + state: absent + become: yes + +- name: Set switchport mode to access on vlan 4000 + eos_l2_interface: &vlan-4000 + name: Ethernet1 + state: present + mode: access + access_vlan: 4000 + become: yes + register: result + +- assert: &changed + that: + - 'result.changed == true' + +- name: Set switchport mode to access on vlan 4000 again (idempotent) + eos_l2_interface: *vlan-4000 + become: yes + register: result + +- assert: &unchanged + that: + - 'result.changed == false' + +- name: Change access vlan to 4001 + eos_l2_interface: &vlan-4001 + name: Ethernet1 + state: present + mode: access + access_vlan: 4001 + become: yes + register: result + +- assert: *changed + +- name: Change access vlan to 4001 again (idempotent) + eos_l2_interface: *vlan-4001 + become: yes + register: result + +- assert: *unchanged + +- name: Change switchport mode to trunk + eos_l2_interface: &trunk + name: Ethernet1 + state: present + mode: trunk + become: yes + register: result + +- assert: *changed + +- name: Change switchport mode to trunk (idempotent) + eos_l2_interface: *trunk + become: yes + register: result + +- assert: *unchanged + +- name: Change switchport mode to trunk and set native vlan to 4001 + eos_l2_interface: &trunk-native + name: Ethernet1 + state: present + mode: trunk + native_vlan: 4001 + become: yes + register: result + +- assert: *changed + +- name: Change switchport mode to trunk and set native vlan to 4001 again (idempotent) + eos_l2_interface: *trunk-native + become: yes + register: result + +- assert: *unchanged + +- name: Set trunk allowed vlans to 20 and 4000 + eos_l2_interface: &trunk-allowed + name: Ethernet1 + state: present + mode: trunk + trunk_allowed_vlans: 20,4000 + become: yes + register: result + +- assert: *changed + +- name: Set trunk allowed vlans to 20 and 4000 again (idempotent) + eos_l2_interface: *trunk-allowed + become: yes + register: result + +- assert: *unchanged + +- name: Tear down switchports + eos_l2_interface: *clear + become: yes + +- debug: msg="END eos_l2_interface eapi/basic.yaml on connection={{ ansible_connection }}" |