summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/eos_l2_interface
diff options
context:
space:
mode:
authorNathaniel Case <ncase@redhat.com>2019-05-17 19:06:27 +0200
committerGitHub <noreply@github.com>2019-05-17 19:06:27 +0200
commit63e33f7e71622c47318f7c5c240cbabfcd8b333a (patch)
tree7099fbd7971971e6e442f5902570c9bcb7d91fcc /test/integration/targets/eos_l2_interface
parentFix typo that breaks invocation of os_stack (#56575) (diff)
downloadansible-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.yaml104
-rw-r--r--test/integration/targets/eos_l2_interface/tests/eapi/basic.yaml108
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 }}"