blob: db35d3ff3d658448d7758ad631dc02330ed81d6f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
---
- debug: msg="START connection={{ ansible_connection }} nxos_switchport sanity test"
- debug: msg="Using provider={{ connection.transport }}"
when: ansible_connection == "local"
# Select interface for test
- set_fact: intname="{{ nxos_int1 }}"
- name: "Interface selected for this test"
debug: msg="{{ intname }}"
- name: "Setup interface"
nxos_config: &default
lines:
- "default interface {{ intname }}"
provider: "{{ connection }}"
ignore_errors: yes
- name: "Setup vlans"
nxos_vlan:
vlan_range: "5-10,20"
provider: "{{ connection }}"
- block:
- name: Ensure interface is in L2 state
nxos_interface:
interface: "{{ intname }}"
mode: 'layer2'
provider: "{{ connection }}"
- name: Ensure interface is in its default switchport state
nxos_switchport: &def_swi
interface: "{{ intname }}"
state: unconfigured
provider: "{{ connection }}"
- name: Ensure interface is configured for access vlan 20
nxos_switchport: &acc_vl
interface: "{{ intname }}"
mode: access
access_vlan: 20
provider: "{{ connection }}"
register: result
- assert: &true
that:
- "result.changed == true"
- name: "access vlan Idempotence"
nxos_switchport: *acc_vl
register: result
- assert: &false
that:
- "result.changed == false"
- name: Ensure interface only has vlans 5-10 as trunk vlans
nxos_switchport: &tr_vl
interface: "{{ intname }}"
mode: trunk
native_vlan: 10
trunk_allowed_vlans: 5-10
provider: "{{ connection }}"
register: result
- assert: *true
- name: "trunk vlan Idempotence"
nxos_switchport: *tr_vl
register: result
- assert: *false
- name: Ensure interface is a trunk port and ensure 2-50 are being tagged (doesn't mean others aren't also being tagged)
nxos_switchport: &tag
interface: "{{ intname }}"
mode: trunk
native_vlan: 10
trunk_vlans: 2-50
provider: "{{ connection }}"
register: result
- assert: *true
- name: "tag vlan Idempotence"
nxos_switchport: *tag
register: result
- assert: *false
- name: Ensure these VLANs are not being tagged on the trunk
nxos_switchport: &no_tag
interface: "{{ intname }}"
mode: trunk
trunk_vlans: 30-4094
state: absent
provider: "{{ connection }}"
register: result
- assert: *true
- name: "no tag vlan Idempotence"
nxos_switchport: *no_tag
register: result
- assert: *false
- name: put interface default state
nxos_switchport: *def_swi
register: result
- assert: *true
- name: "default state idempotence"
nxos_switchport: *def_swi
register: result
- assert: *false
always:
- name: "remove vlans"
nxos_vlan:
vlan_range: "5-10,20"
state: absent
provider: "{{ connection }}"
ignore_errors: yes
- name: "default interface"
nxos_config: *default
ignore_errors: yes
- debug: msg="END connection={{ ansible_connection }} nxos_switchport sanity test"
|