mirror of https://github.com/ansible/ansible.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.9 KiB
YAML
62 lines
1.9 KiB
YAML
---
|
|
- debug:
|
|
msg: "START vyos_static_routes merged integration tests on connection={{ ansible_connection }}"
|
|
|
|
- include_tasks: _remove_config.yaml
|
|
|
|
- block:
|
|
- name: Merge the provided configuration with the exisiting running configuration
|
|
vyos_static_routes: &merged
|
|
config:
|
|
- address_families:
|
|
- afi: 'ipv4'
|
|
routes:
|
|
- dest: 192.0.2.32/28
|
|
blackhole_config:
|
|
type: 'blackhole'
|
|
next_hops:
|
|
- forward_router_address: 192.0.2.10
|
|
- forward_router_address: 192.0.2.9
|
|
- address_families:
|
|
- afi: 'ipv6'
|
|
routes:
|
|
- dest: 2001:db8:1000::/36
|
|
blackhole_config:
|
|
distance: 2
|
|
next_hops:
|
|
- forward_router_address: 2001:db8:2000:2::1
|
|
- forward_router_address: 2001:db8:2000:2::2
|
|
state: merged
|
|
register: result
|
|
|
|
- name: Assert that before dicts were correctly generated
|
|
assert:
|
|
that: "{{ merged['before'] | symmetric_difference(result['before']) |length == 0 }}"
|
|
|
|
- name: Assert that correct set of commands were generated
|
|
assert:
|
|
that:
|
|
- "{{ merged['commands'] | symmetric_difference(result['commands']) |length == 0 }}"
|
|
|
|
- name: Assert that after dicts was correctly generated
|
|
assert:
|
|
that:
|
|
- "{{ merged['after'] | symmetric_difference(result['after']) |length == 0 }}"
|
|
|
|
- name: Merge the provided configuration with the existing running configuration (IDEMPOTENT)
|
|
vyos_static_routes: *merged
|
|
register: result
|
|
|
|
- name: Assert that the previous task was idempotent
|
|
assert:
|
|
that:
|
|
- "result['changed'] == false"
|
|
|
|
- name: Assert that before dicts were correctly generated
|
|
assert:
|
|
that:
|
|
- "{{ merged['after'] | symmetric_difference(result['before']) |length == 0 }}"
|
|
|
|
always:
|
|
- include_tasks: _remove_config.yaml
|