summaryrefslogtreecommitdiff
path: root/test/integration/targets/vyos_l3_interface/tests/cli/basic.yaml
blob: 4eac2abe5616b12e5cec769d3c491aaa1f825070 (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
---
- debug: msg="START cli/basic.yaml on connection={{ ansible_connection }}"

- name: Remove IP address
  vyos_l3_interface:
    name: eth1
    state: absent

- name: Remove IP address
  vyos_l3_interface:
    name: eth2
    state: absent

- name: Set IPv4 address
  vyos_l3_interface:
    name: eth1
    ipv4: 192.168.2.10/24
  register: result

- assert:
    that:
      - 'result.changed == true'
      - '"set interfaces ethernet eth1 address 192.168.2.10/24" in result.commands'

- name: Set IPv4 address (idempotent)
  vyos_l3_interface:
    name: eth1
    ipv4: 192.168.2.10/24
  register: result

- assert:
    that:
      - 'result.changed == false'

- name: Set IPv6 address
  vyos_l3_interface:
    name: eth1
    ipv6: fd5d:12c9:2201:1::1/64
  register: result

- assert:
    that:
      - 'result.changed == true'
      - '"set interfaces ethernet eth1 address fd5d:12c9:2201:1::1/64" in result.commands'

- name: Set IPv6 address (idempotent)
  vyos_l3_interface:
    name: eth1
    ipv6: fd5d:12c9:2201:1::1/64
  register: result

- assert:
    that:
      - 'result.changed == false'

- name: Remove all IP addresses
  vyos_l3_interface:
    name: eth1
    state: absent
  register: result

- assert:
    that:
      - 'result.changed == true'
      - '"delete interfaces ethernet eth1 address" in result.commands'

- name: Remove all IP addresses again (idempotent)
  vyos_l3_interface:
    name: eth1
    state: absent
  register: result

- assert:
    that:
      - 'result.changed == false'

- name: Set IPv4 and IPv6 address
  vyos_l3_interface:
    name: eth1
    ipv4: 192.168.2.10/24
    ipv6: fd5d:12c9:2201:1::1/64
  register: result

- assert:
    that:
      - 'result.changed == true'
      - '"set interfaces ethernet eth1 address 192.168.2.10/24" in result.commands'
      - '"set interfaces ethernet eth1 address fd5d:12c9:2201:1::1/64" in result.commands'

- name: Set IPv4 and IPv6 address again (idempotent)
  vyos_l3_interface:
    name: eth1
    ipv4: 192.168.2.10/24
    ipv6: fd5d:12c9:2201:1::1/64
  register: result

- assert:
    that:
      - 'result.changed == false'

- name: Remove IPv4 address
  vyos_l3_interface:
    name: eth1
    ipv4: 192.168.2.10/24
    state: absent
  register: result

- assert:
    that:
      - 'result.changed == true'
      - '"delete interfaces ethernet eth1 address 192.168.2.10/24" in result.commands'

- name: Remove IPv4 address again (idempotent)
  vyos_l3_interface:
    name: eth1
    ipv4: 192.168.2.10/24
    state: absent
  register: result

- assert:
    that:
      - 'result.changed == false'

- name: Remove IPv6 address
  vyos_l3_interface:
    name: eth1
    ipv6: fd5d:12c9:2201:1::1/64
    state: absent
  register: result

- assert:
    that:
      - 'result.changed == true'
      - '"delete interfaces ethernet eth1 address fd5d:12c9:2201:1::1/64" in result.commands'

- name: Remove IPv6 address again (idempotent)
  vyos_l3_interface:
    name: eth1
    ipv6: fd5d:12c9:2201:1::1/64
    state: absent
  register: result

- assert:
    that:
      - 'result.changed == false'

- name: Set IP addresses on aggregate
  vyos_l3_interface:
    aggregate:
      - {name: eth1, ipv4: 192.168.2.10/24}
      - {name: eth2, ipv4: 192.168.3.10/24, ipv6: "fd5d:12c9:2201:1::1/64"}
      - {name: eth2, ipv4: 192.168.4.10/24}
  register: result

- assert:
    that:
      - 'result.changed == true'
      - '"set interfaces ethernet eth1 address 192.168.2.10/24" in result.commands'
      - '"set interfaces ethernet eth2 address 192.168.3.10/24" in result.commands'
      - '"set interfaces ethernet eth2 address fd5d:12c9:2201:1::1/64" in result.commands'
      - '"set interfaces ethernet eth2 address 192.168.4.10/24" in result.commands'

- name: Set IP addresses on aggregate (idempotent)
  vyos_l3_interface:
    aggregate:
      - {name: eth1, ipv4: 192.168.2.10/24}
      - {name: eth2, ipv4: 192.168.3.10/24, ipv6: "fd5d:12c9:2201:1::1/64"}
      - {name: eth2, ipv4: 192.168.4.10/24}
  register: result

- assert:
    that:
      - 'result.changed == false'

- name: Remove IP addresses on aggregate
  vyos_l3_interface:
    aggregate:
      - {name: eth1, ipv4: 192.168.2.10/24}
      - {name: eth2, ipv4: 192.168.3.10/24, ipv6: "fd5d:12c9:2201:1::1/64"}
      - {name: eth2, ipv4: 192.168.4.10/24}
    state: absent
  register: result

- assert:
    that:
      - 'result.changed == true'
      - '"delete interfaces ethernet eth1 address 192.168.2.10/24" in result.commands'
      - '"delete interfaces ethernet eth2 address 192.168.3.10/24" in result.commands'
      - '"delete interfaces ethernet eth2 address fd5d:12c9:2201:1::1/64" in result.commands'
      - '"delete interfaces ethernet eth2 address 192.168.4.10/24" in result.commands'

- name: Remove IP addresses on aggregate (idempotent)
  vyos_l3_interface:
    aggregate:
      - {name: eth1, ipv4: 192.168.2.10/24}
      - {name: eth2, ipv4: 192.168.3.10/24, ipv6: "fd5d:12c9:2201:1::1/64"}
      - {name: eth2, ipv4: 192.168.4.10/24}
    state: absent
  register: result

- assert:
    that:
      - 'result.changed == false'