2019-07-12 05:35:48 +02:00
|
|
|
---
|
|
|
|
- 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
|
2019-09-16 08:47:27 +02:00
|
|
|
enabled: false
|
2019-07-12 05:35:48 +02:00
|
|
|
duplex: full-duplex
|
|
|
|
hold_time:
|
|
|
|
up: 2000
|
|
|
|
down: 2200
|
|
|
|
- name: ge-0/0/2
|
|
|
|
description: "Configured by Ansible - Interface 2"
|
|
|
|
mtu: 2048
|
|
|
|
speed: 10m
|
2019-09-16 08:47:27 +02:00
|
|
|
enabled: true
|
2019-07-12 05:35:48 +02:00
|
|
|
hold_time:
|
|
|
|
up: 3000
|
|
|
|
down: 3200
|
|
|
|
- name: fxp0
|
2019-09-16 08:47:27 +02:00
|
|
|
enabled: true
|
2019-07-12 05:35:48 +02:00
|
|
|
|
|
|
|
- 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
|
2019-09-16 08:47:27 +02:00
|
|
|
enabled: False
|
2019-07-12 05:35:48 +02:00
|
|
|
duplex: full-duplex
|
|
|
|
hold_time:
|
|
|
|
up: 2000
|
|
|
|
down: 2200
|
|
|
|
- name: ge-0/0/2
|
|
|
|
description: "Configured by Ansible - Interface 2"
|
|
|
|
mtu: 2048
|
|
|
|
speed: 10m
|
2019-09-16 08:47:27 +02:00
|
|
|
enabled: True
|
2019-07-12 05:35:48 +02:00
|
|
|
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
|
2019-09-16 08:47:27 +02:00
|
|
|
enabled: True
|
2019-07-12 05:35:48 +02:00
|
|
|
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
|
2019-09-16 08:47:27 +02:00
|
|
|
enabled: False
|
2019-07-12 05:35:48 +02:00
|
|
|
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
|