summaryrefslogtreecommitdiff
path: root/test/integration/targets/nxos_vxlan_vtep_vni/tests/common/sanity.yaml
blob: 7e606c61d15f67b8ba963c475f5f1a5113fbbb94 (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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
---
- debug: msg="START connection={{ ansible_connection }} nxos_vxlan_vtep_vni sanity test"
- debug: msg="Using provider={{ connection.transport }}"
  when: ansible_connection == "local"

- block:
  - name: "Apply N7K specific setup config"
    include: targets/nxos_vxlan_vtep/tasks/platform/n7k/setup.yaml
    when: platform is match('N7K')

  - name: "Enable feature nv overlay"
    nxos_config: 
      commands:
        - feature nv overlay
      match: none
      provider: "{{ connection }}"

  - name: configure vxlan_vtep
    nxos_vxlan_vtep:
      interface: nve1
      host_reachability: True
      provider: "{{ connection }}"

  - name: configure vxlan_vtep_vni assoc-vrf
    nxos_vxlan_vtep_vni: &conf1
      interface: nve1
      vni: 6000
      assoc_vrf: True
      provider: "{{ connection }}"
    register: result

  - assert: &true
      that:
        - "result.changed == true"

  - name: "Conf 1 Idempotence"
    nxos_vxlan_vtep_vni: *conf1
    register: result

  - assert: &false
      that:
        - "result.changed == false"

  - name: remove vxlan_vtep_vni
    nxos_vxlan_vtep_vni:
      interface: nve1
      vni: 6000
      assoc_vrf: True
      provider: "{{ connection }}"
      state: absent

  - name: configure vxlan_vtep_vni
    nxos_vxlan_vtep_vni: &conf2
      interface: nve1
      vni: 8000
      provider: "{{ connection }}"
    register: result

  - assert: *true

  - name: configure vxlan_vtep_vni mcast
    nxos_vxlan_vtep_vni: &conf3
      interface: nve1
      vni: 8000
      multicast_group: 224.1.1.1
      provider: "{{ connection }}"
    register: result

  - assert: *true

  - name: "Conf 3 Idempotence"
    nxos_vxlan_vtep_vni: *conf3
    register: result

  - assert: *false

  - name: configure vxlan_vtep_vni default mcast
    nxos_vxlan_vtep_vni: &conf4
      interface: nve1
      vni: 8000
      multicast_group: default
      provider: "{{ connection }}"
    register: result

  - assert: *true

  - name: "Conf 4 Idempotence"
    nxos_vxlan_vtep_vni: *conf4
    register: result

  - assert: *false

  - name: "remove config"
    nxos_vxlan_vtep_vni: &remove
      interface: nve1
      vni: 8000
      provider: "{{ connection }}"
      state: absent

  - name: configure vxlan_vtep
    nxos_vxlan_vtep:
      interface: nve1
      host_reachability: False
      provider: "{{ connection }}"

  - block:
    - name: configure vxlan_vtep_vni
      nxos_vxlan_vtep_vni: &conf5
        interface: nve1
        vni: 8000
        provider: "{{ connection }}"
      register: result
  
    - assert: *true

    - name: configure vxlan_vtep_vni ingress static
      nxos_vxlan_vtep_vni: &conf6
        interface: nve1
        vni: 8000
        ingress_replication: static
        provider: "{{ connection }}"
      register: result
  
    - assert: *true

    - name: check configure vxlan_vtep_vni ingress static idempotence check
      nxos_vxlan_vtep_vni: *conf6
      register: result

    - assert: *false

    - name: Remove and reconfigure vxlan_vtep
      nxos_vxlan_vtep: &remove_vtep
        interface: nve1
        provider: "{{ connection }}"
        state: absent

    - name: Configure vxlan_vtep with host reachability bgp
      nxos_vxlan_vtep:
        interface: nve1
        host_reachability: True
        provider: "{{ connection }}"

    - name: configure vxlan_vtep_vni
      nxos_vxlan_vtep_vni: &config_vni
        interface: nve1
        vni: 8000
        provider: "{{ connection }}"

    - name: configure vxlan_vtep_vni ingress bgp
      nxos_vxlan_vtep_vni: &conf7
        interface: nve1
        vni: 8000
        ingress_replication: bgp
        provider: "{{ connection }}"
      register: result
  
    - assert: *true

    - name: "Conf 7 Idempotence"
      nxos_vxlan_vtep_vni: *conf7
      register: result

    - assert: *false

    - name: remove ingress_repl
      nxos_vxlan_vtep_vni: &conf8
        interface: nve1
        vni: 8000
        ingress_replication: default
        provider: "{{ connection }}"
      register: result
  
    - assert: *true

    - name: "Conf 8 Idempotence"
      nxos_vxlan_vtep_vni: *conf8
      register: result

    - assert: *false

    - name: Remove and reconfigure vxlan_vtep
      nxos_vxlan_vtep: *remove_vtep

    - name: Configure vxlan_vtep with host reachability static
      nxos_vxlan_vtep:
        interface: nve1
        host_reachability: False
        provider: "{{ connection }}"

    - name: configure vxlan_vtep_vni
      nxos_vxlan_vtep_vni: *config_vni

    - name: configure vxlan_vtep_vni peer-list
      nxos_vxlan_vtep_vni: &conf9
        interface: nve1
        vni: 8000
        peer_list: 
          - 192.0.2.1
          - 192.0.2.2
          - 192.0.2.3
          - 192.0.2.4
        ingress_replication: static
        provider: "{{ connection }}"
      register: result
  
    - assert: *true

    - name: "Conf 9 Idempotence"
      nxos_vxlan_vtep_vni: *conf9
      register: result
  
    - assert: *false

    - name: configure vxlan_vtep_vni default peer-list
      nxos_vxlan_vtep_vni: &conf10
        interface: nve1
        vni: 8000
        peer_list: default
        ingress_replication: static
        provider: "{{ connection }}"
      register: result
  
    - assert: *true

    - name: "Conf 10 Idempotence"
      nxos_vxlan_vtep_vni: *conf10
      register: result
  
    - assert: *false

    - name: "Conf 9 again"
      nxos_vxlan_vtep_vni: *conf9
      register: result
  
    - assert: *true

    - name: remove vxlan_vtep_vni
      nxos_vxlan_vtep_vni: *remove
      register: result

    - assert: *true

    - name: "remove Idempotence"
      nxos_vxlan_vtep_vni: *remove
      register: result

    - assert: *false

    when: (platform is search('N9K'))

  when: (platform is search("N7K|N9K"))

  always:
  - name: "Apply N7K specific cleanup config"
    include: targets/nxos_vxlan_vtep/tasks/platform/n7k/cleanup.yaml
    when: platform is match('N7K')

  - name: remove vxlan_vtep
    nxos_vxlan_vtep:
      interface: nve1
      shutdown: true
      provider: "{{ connection }}"
      state: absent
    ignore_errors: yes

  - name: "Disable feature nv overlay"
    nxos_feature: 
      feature: nve
      provider: "{{ connection }}"
      state: disabled
    ignore_errors: yes

- debug: msg="END connection={{ ansible_connection }} nxos_vxlan_vtep_vni sanity test"