99 lines
2.6 KiB
YAML
99 lines
2.6 KiB
YAML
|
---
|
||
|
- debug:
|
||
|
msg: "START junos_interfaces round trip integration tests on connection={{ ansible_connection }}"
|
||
|
|
||
|
- include_tasks: _remove_config.yaml
|
||
|
|
||
|
- set_fact:
|
||
|
expected_revert_output:
|
||
|
- name: ge-0/0/1
|
||
|
description: "Configured by Ansible - Interface 1"
|
||
|
mtu: 1024
|
||
|
speed: 100m
|
||
|
enable: false
|
||
|
duplex: full-duplex
|
||
|
hold_time:
|
||
|
up: 2000
|
||
|
down: 2200
|
||
|
- name: ge-0/0/2
|
||
|
description: "Configured by Ansible - Interface 2"
|
||
|
mtu: 2048
|
||
|
speed: 10m
|
||
|
enable: true
|
||
|
hold_time:
|
||
|
up: 3000
|
||
|
down: 3200
|
||
|
- name: fxp0
|
||
|
enable: true
|
||
|
|
||
|
- block:
|
||
|
- name: Apply the provided configuration (base config)
|
||
|
junos_interfaces:
|
||
|
config:
|
||
|
- name: ge-0/0/1
|
||
|
description: "Configured by Ansible - Interface 1"
|
||
|
mtu: 1024
|
||
|
speed: 100m
|
||
|
enable: False
|
||
|
duplex: full-duplex
|
||
|
hold_time:
|
||
|
up: 2000
|
||
|
down: 2200
|
||
|
- name: ge-0/0/2
|
||
|
description: "Configured by Ansible - Interface 2"
|
||
|
mtu: 2048
|
||
|
speed: 10m
|
||
|
enable: True
|
||
|
hold_time:
|
||
|
up: 3000
|
||
|
down: 3200
|
||
|
state: merged
|
||
|
register: base_config
|
||
|
|
||
|
- name: Gather interfaces facts
|
||
|
junos_facts:
|
||
|
gather_subset:
|
||
|
- default
|
||
|
gather_network_resources:
|
||
|
- interfaces
|
||
|
|
||
|
- name: Apply the provided configuration (config to be reverted)
|
||
|
junos_interfaces:
|
||
|
config:
|
||
|
- name: ge-0/0/1
|
||
|
description: "Configured by Ansible - Interface 1 modified"
|
||
|
mtu: 3048
|
||
|
speed: 10m
|
||
|
enable: True
|
||
|
duplex: half-duplex
|
||
|
hold_time:
|
||
|
up: 3000
|
||
|
down: 2200
|
||
|
- name: ge-0/0/2
|
||
|
description: "Configured by Ansible - Interface 2 modified"
|
||
|
mtu: 4048
|
||
|
speed: 100m
|
||
|
enable: False
|
||
|
hold_time:
|
||
|
up: 4000
|
||
|
down: 5200
|
||
|
state: merged
|
||
|
register: result
|
||
|
|
||
|
- name: Assert that changes were applied
|
||
|
assert:
|
||
|
that: "result['changed'] == true"
|
||
|
|
||
|
- name: Revert back to base config using facts round trip
|
||
|
junos_interfaces:
|
||
|
config: "{{ ansible_facts['network_resources']['interfaces'] }}"
|
||
|
state: replaced
|
||
|
register: revert
|
||
|
|
||
|
- name: Assert that config was reverted
|
||
|
assert:
|
||
|
that: "{{ expected_revert_output | symmetric_difference(revert['after']) |length == 0 }}"
|
||
|
|
||
|
always:
|
||
|
- include_tasks: _remove_config.yaml
|