|
74 | 74 | <<: *fbrg_info |
75 | 75 | register: nm_create_vrf_fbrg |
76 | 76 |
|
| 77 | + - name: Convert to json - Check mode |
| 78 | + ansible.builtin.set_fact: |
| 79 | + cm_create_vrf_fbrg_json: "{{ cm_create_vrf_fbrg.proposed.fvFBRGroup.children | to_json }}" |
| 80 | + |
| 81 | + - name: Convert to json - Normal mode |
| 82 | + ansible.builtin.set_fact: |
| 83 | + nm_create_vrf_fbrg_json: "{{ nm_create_vrf_fbrg.current[0].fvFBRGroup.children | to_json }}" |
| 84 | + |
77 | 85 | - name: Verify that vrf_fbrg has been created correctly with the correct attribute values |
78 | 86 | ansible.builtin.assert: |
79 | 87 | that: |
80 | 88 | - cm_create_vrf_fbrg is changed |
81 | 89 | - cm_create_vrf_fbrg.previous == [] |
82 | 90 | - cm_create_vrf_fbrg.proposed.fvFBRGroup.attributes.name == "test_fallback_route_group" |
83 | 91 | - cm_create_vrf_fbrg.proposed.fvFBRGroup.attributes.descr == "Test for Fallback Route Group" |
84 | | - - cm_create_vrf_fbrg.proposed.fvFBRGroup.children | to_json | regex_search('"rnhAddr":\s*"1\.1\.1\.1"') is not none |
85 | | - - cm_create_vrf_fbrg.proposed.fvFBRGroup.children | to_json | regex_search('"rnhAddr":\s*"2\.2\.2\.2"') is not none |
86 | | - - cm_create_vrf_fbrg.proposed.fvFBRGroup.children | to_json | regex_search('"rnhAddr":\s*"4\.4\.4\.4"') is not none |
87 | | - - cm_create_vrf_fbrg.proposed.fvFBRGroup.children | to_json | regex_search('"fbrPrefix":\s*"1\.1\.1\.1/2"') is not none |
| 92 | + - cm_create_vrf_fbrg_json | regex_search('"rnhAddr":\s*"1\.1\.1\.1"') is not none |
| 93 | + - cm_create_vrf_fbrg_json | regex_search('"rnhAddr":\s*"2\.2\.2\.2"') is not none |
| 94 | + - cm_create_vrf_fbrg_json | regex_search('"rnhAddr":\s*"4\.4\.4\.4"') is not none |
| 95 | + - cm_create_vrf_fbrg_json | regex_search('"fbrPrefix":\s*"1\.1\.1\.1/2"') is not none |
88 | 96 | - cm_create_vrf_fbrg.proposed.fvFBRGroup.children | length == 4 |
89 | 97 | - nm_create_vrf_fbrg is changed |
90 | 98 | - nm_create_vrf_fbrg.previous == [] |
91 | 99 | - nm_create_vrf_fbrg.current.0.fvFBRGroup.attributes.name == "test_fallback_route_group" |
92 | 100 | - nm_create_vrf_fbrg.current.0.fvFBRGroup.attributes.dn == "uni/tn-ansible_test/ctx-vrf_test/fbrg-test_fallback_route_group" |
93 | 101 | - nm_create_vrf_fbrg.current.0.fvFBRGroup.attributes.descr == "Test for Fallback Route Group" |
94 | | - - nm_create_vrf_fbrg.current.0.fvFBRGroup.children | to_json | regex_search('"rnhAddr":\s*"1\.1\.1\.1"') is not none |
95 | | - - nm_create_vrf_fbrg.current.0.fvFBRGroup.children | to_json | regex_search('"rnhAddr":\s*"2\.2\.2\.2"') is not none |
96 | | - - nm_create_vrf_fbrg.current.0.fvFBRGroup.children | to_json | regex_search('"rnhAddr":\s*"4\.4\.4\.4"') is not none |
97 | | - - nm_create_vrf_fbrg.current.0.fvFBRGroup.children | to_json | regex_search('"fbrPrefix":\s*"1\.1\.1\.1/2"') is not none |
| 102 | + - nm_create_vrf_fbrg_json | regex_search('"rnhAddr":\s*"1\.1\.1\.1"') is not none |
| 103 | + - nm_create_vrf_fbrg_json | regex_search('"rnhAddr":\s*"2\.2\.2\.2"') is not none |
| 104 | + - nm_create_vrf_fbrg_json | regex_search('"rnhAddr":\s*"4\.4\.4\.4"') is not none |
| 105 | + - nm_create_vrf_fbrg_json | regex_search('"fbrPrefix":\s*"1\.1\.1\.1/2"') is not none |
98 | 106 | - nm_create_vrf_fbrg.current.0.fvFBRGroup.children | length == 4 |
99 | 107 |
|
100 | 108 | - name: Create vrf Fallback Route again (idempotency) |
|
155 | 163 | <<: *update_fallback_route_group |
156 | 164 | register: nm_update_vrf_fbrg |
157 | 165 |
|
| 166 | + - name: Convert to json for update- Check mode |
| 167 | + ansible.builtin.set_fact: |
| 168 | + cm_update_vrf_fbrg_json: "{{ cm_update_vrf_fbrg.current[0].fvFBRGroup.children | to_json }}" |
| 169 | + |
| 170 | + - name: Convert to json for update - Normal mode |
| 171 | + ansible.builtin.set_fact: |
| 172 | + nm_update_vrf_fbrg_json: "{{ nm_update_vrf_fbrg.current[0].fvFBRGroup.children | to_json }}" |
| 173 | + |
158 | 174 | - name: Verify that vrf_fbrg has been updated correctly in Check modules |
159 | 175 | ansible.builtin.assert: |
160 | 176 | that: |
161 | 177 | - nm_create_vrf_fbrg.current == nm_update_vrf_fbrg.previous |
162 | 178 | - cm_update_vrf_fbrg.proposed.fvFBRGroup.attributes.name == "test_fallback_route_group" |
163 | 179 | - cm_update_vrf_fbrg.proposed.fvFBRGroup.attributes.descr == "Test updating description" |
164 | | - - cm_update_vrf_fbrg.current.0.fvFBRGroup.children | to_json | regex_search('"rnhAddr":\s*"1\.1\.1\.1"') is not none |
165 | | - - cm_update_vrf_fbrg.current.0.fvFBRGroup.children | to_json | regex_search('"rnhAddr":\s*"2\.2\.2\.2"') is not none |
166 | | - - cm_update_vrf_fbrg.current.0.fvFBRGroup.children | to_json | regex_search('"rnhAddr":\s*"4\.4\.4\.4"') is not none |
| 180 | + - cm_update_vrf_fbrg_json | regex_search('"rnhAddr":\s*"1\.1\.1\.1"') is not none |
| 181 | + - cm_update_vrf_fbrg_json | regex_search('"rnhAddr":\s*"2\.2\.2\.2"') is not none |
| 182 | + - cm_update_vrf_fbrg_json | regex_search('"rnhAddr":\s*"4\.4\.4\.4"') is not none |
167 | 183 | - cm_update_vrf_fbrg.proposed.fvFBRGroup.children | to_json | regex_search('"rnhAddr":\s*"5\.5\.5\.5"') is not none |
168 | | - - cm_update_vrf_fbrg.current.0.fvFBRGroup.children | to_json | regex_search('"fbrPrefix":\s*"1\.1\.1\.1/2"') is not none |
| 184 | + - cm_update_vrf_fbrg_json | regex_search('"fbrPrefix":\s*"1\.1\.1\.1/2"') is not none |
169 | 185 | - cm_update_vrf_fbrg.proposed.fvFBRGroup.children | length == 1 |
170 | 186 | - nm_update_vrf_fbrg.current.0.fvFBRGroup.attributes.name == "test_fallback_route_group" |
171 | 187 | - nm_update_vrf_fbrg.current.0.fvFBRGroup.attributes.dn == "uni/tn-ansible_test/ctx-vrf_test/fbrg-test_fallback_route_group" |
172 | 188 | - nm_update_vrf_fbrg.current.0.fvFBRGroup.attributes.descr == "Test updating description" |
173 | | - - nm_update_vrf_fbrg.current.0.fvFBRGroup.children | to_json | regex_search('"rnhAddr":\s*"1\.1\.1\.1"') is not none |
174 | | - - nm_update_vrf_fbrg.current.0.fvFBRGroup.children | to_json | regex_search('"rnhAddr":\s*"2\.2\.2\.2"') is not none |
175 | | - - nm_update_vrf_fbrg.current.0.fvFBRGroup.children | to_json | regex_search('"rnhAddr":\s*"4\.4\.4\.4"') is not none |
176 | | - - nm_update_vrf_fbrg.current.0.fvFBRGroup.children | to_json | regex_search('"rnhAddr":\s*"5\.5\.5\.5"') is not none |
177 | | - - nm_update_vrf_fbrg.current.0.fvFBRGroup.children | to_json | regex_search('"fbrPrefix":\s*"1\.1\.1\.1/2"') is not none |
| 189 | + - nm_update_vrf_fbrg_json | regex_search('"rnhAddr":\s*"1\.1\.1\.1"') is not none |
| 190 | + - nm_update_vrf_fbrg_json | regex_search('"rnhAddr":\s*"2\.2\.2\.2"') is not none |
| 191 | + - nm_update_vrf_fbrg_json | regex_search('"rnhAddr":\s*"4\.4\.4\.4"') is not none |
| 192 | + - nm_update_vrf_fbrg_json | regex_search('"rnhAddr":\s*"5\.5\.5\.5"') is not none |
| 193 | + - nm_update_vrf_fbrg_json | regex_search('"fbrPrefix":\s*"1\.1\.1\.1/2"') is not none |
178 | 194 | - nm_update_vrf_fbrg.current.0.fvFBRGroup.children | length == 5 |
179 | 195 |
|
180 | 196 | - name: Update vrf_fallback_route again |
|
214 | 230 | state: present |
215 | 231 | register: nm_delete_vrf_fbrg_children |
216 | 232 |
|
| 233 | + - name: Convert to json for delete - Normal mode |
| 234 | + ansible.builtin.set_fact: |
| 235 | + nm_delete_vrf_fbrg_children_json: "{{ nm_delete_vrf_fbrg_children.current[0].fvFBRGroup.children | to_json }}" |
| 236 | + |
217 | 237 | - name: Verify that nm_delete_vrf_fbrg_childrend has the correct attributes |
218 | 238 | ansible.builtin.assert: |
219 | 239 | that: |
220 | 240 | - nm_delete_vrf_fbrg_children is changed |
221 | 241 | - nm_delete_vrf_fbrg_children.previous == nm_update_vrf_fbrg.current |
222 | 242 | - nm_delete_vrf_fbrg_children.current.0.fvFBRGroup.attributes.dn == "uni/tn-ansible_test/ctx-vrf_test/fbrg-test_fallback_route_group" |
223 | 243 | - nm_delete_vrf_fbrg_children.current.0.fvFBRGroup.attributes.descr == "Test for Fallback Route Group" |
224 | | - - nm_delete_vrf_fbrg_children.current.0.fvFBRGroup.children | to_json | regex_search('"rnhAddr":\s*"1\.1\.1\.1"') is not none |
225 | | - - nm_delete_vrf_fbrg_children.current.0.fvFBRGroup.children | to_json | regex_search('"rnhAddr":\s*"2\.2\.2\.2"') is not none |
226 | | - - nm_delete_vrf_fbrg_children.current.0.fvFBRGroup.children | to_json | regex_search('"rnhAddr":\s*"4\.4\.4\.4"') is not none |
227 | | - - nm_delete_vrf_fbrg_children.current.0.fvFBRGroup.children | to_json | regex_search('"fbrPrefix":\s*"2\.2\.2\.2/3"') is not none |
| 244 | + - nm_delete_vrf_fbrg_children_json | regex_search('"rnhAddr":\s*"1\.1\.1\.1"') is not none |
| 245 | + - nm_delete_vrf_fbrg_children_json | regex_search('"rnhAddr":\s*"2\.2\.2\.2"') is not none |
| 246 | + - nm_delete_vrf_fbrg_children_json | regex_search('"rnhAddr":\s*"4\.4\.4\.4"') is not none |
| 247 | + - nm_delete_vrf_fbrg_children_json | regex_search('"fbrPrefix":\s*"2\.2\.2\.2/3"') is not none |
228 | 248 | - nm_delete_vrf_fbrg_children.current.0.fvFBRGroup.children | length == 4 |
229 | 249 |
|
230 | 250 | - name: Delete child from vrf_fallback_route again (idempotency) |
|
257 | 277 | state: query |
258 | 278 | register: query_vrf_fbrg |
259 | 279 |
|
| 280 | + - name: Convert to json for query - Normal mode |
| 281 | + ansible.builtin.set_fact: |
| 282 | + query_vrf_fbrg_json: "{{ query_vrf_fbrg.current[0].fvFBRGroup.children | to_json }}" |
| 283 | + |
260 | 284 | - name: Verify that query returns the correct attributes |
261 | 285 | ansible.builtin.assert: |
262 | 286 | that: |
263 | 287 | - query_vrf_fbrg is not changed |
264 | 288 | - query_vrf_fbrg.current.0.fvFBRGroup.attributes.name == "test_fallback_route_group" |
265 | 289 | - query_vrf_fbrg.current.0.fvFBRGroup.attributes.dn == "uni/tn-ansible_test/ctx-vrf_test/fbrg-test_fallback_route_group" |
266 | | - - query_vrf_fbrg.current.0.fvFBRGroup.children | to_json | regex_search('"rnhAddr":\s*"1\.1\.1\.1"') is not none |
267 | | - - query_vrf_fbrg.current.0.fvFBRGroup.children | to_json | regex_search('"rnhAddr":\s*"2\.2\.2\.2"') is not none |
268 | | - - query_vrf_fbrg.current.0.fvFBRGroup.children | to_json | regex_search('"rnhAddr":\s*"4\.4\.4\.4"') is not none |
269 | | - - query_vrf_fbrg.current.0.fvFBRGroup.children | to_json | regex_search('"fbrPrefix":\s*"2\.2\.2\.2/3"') is not none |
| 290 | + - query_vrf_fbrg_json | regex_search('"rnhAddr":\s*"1\.1\.1\.1"') is not none |
| 291 | + - query_vrf_fbrg_json | regex_search('"rnhAddr":\s*"2\.2\.2\.2"') is not none |
| 292 | + - query_vrf_fbrg_json | regex_search('"rnhAddr":\s*"4\.4\.4\.4"') is not none |
| 293 | + - query_vrf_fbrg_json | regex_search('"fbrPrefix":\s*"2\.2\.2\.2/3"') is not none |
270 | 294 | - query_vrf_fbrg.current.0.fvFBRGroup.children | length == 4 |
271 | 295 |
|
272 | 296 | - name: Query all on vrf_fallback_route |
|
280 | 304 | test_fbrg_1: "{{ query_all_vrf_fbrg.current | selectattr('fvFBRGroup.attributes.name', 'equalto', 'test_fallback_route_group') | first | default({}) }}" |
281 | 305 | test_fbrg_2: "{{ query_all_vrf_fbrg.current | selectattr('fvFBRGroup.attributes.name', 'equalto', 'test_fallback_route_group_2') | first | default({}) }}" |
282 | 306 |
|
| 307 | + - name: Convert to json for query all - Normal mode |
| 308 | + ansible.builtin.set_fact: |
| 309 | + test_fbrg_1_json: "{{ test_fbrg_1.fvFBRGroup.children | to_json }}" |
| 310 | + |
283 | 311 | - name: Verify query_all_vrf_fbrg returns correct attributes |
284 | 312 | ansible.builtin.assert: |
285 | 313 | that: |
|
288 | 316 | - test_fbrg_1.fvFBRGroup.attributes.name == "test_fallback_route_group" |
289 | 317 | - test_fbrg_1.fvFBRGroup.attributes.dn == "uni/tn-ansible_test/ctx-vrf_test/fbrg-test_fallback_route_group" |
290 | 318 | - test_fbrg_1.fvFBRGroup.attributes.descr == "Test for Fallback Route Group" |
291 | | - - test_fbrg_1.fvFBRGroup.children | to_json | regex_search('"rnhAddr":\s*"1\.1\.1\.1"') is not none |
292 | | - - test_fbrg_1.fvFBRGroup.children | to_json | regex_search('"rnhAddr":\s*"2\.2\.2\.2"') is not none |
293 | | - - test_fbrg_1.fvFBRGroup.children | to_json | regex_search('"rnhAddr":\s*"4\.4\.4\.4"') is not none |
294 | | - - test_fbrg_1.fvFBRGroup.children | to_json | regex_search('"fbrPrefix":\s*"2\.2\.2\.2/3"') is not none |
| 319 | + - test_fbrg_1_json | regex_search('"rnhAddr":\s*"1\.1\.1\.1"') is not none |
| 320 | + - test_fbrg_1_json | regex_search('"rnhAddr":\s*"2\.2\.2\.2"') is not none |
| 321 | + - test_fbrg_1_json | regex_search('"rnhAddr":\s*"4\.4\.4\.4"') is not none |
| 322 | + - test_fbrg_1_json | regex_search('"fbrPrefix":\s*"2\.2\.2\.2/3"') is not none |
295 | 323 | - test_fbrg_1.fvFBRGroup.children | length == 4 |
296 | 324 | - test_fbrg_2.fvFBRGroup.attributes.name == "test_fallback_route_group_2" |
297 | 325 | - test_fbrg_2.fvFBRGroup.attributes.dn == "uni/tn-ansible_test/ctx-vrf_test/fbrg-test_fallback_route_group_2" |
|
0 commit comments