2018-04-06 12:16:07 +00:00
|
|
|
---
|
|
|
|
# eos_config -> NetworkConfig, dumps
|
|
|
|
|
|
|
|
- debug: msg="START cli/common_config.yaml on connection={{ ansible_connection }}"
|
|
|
|
|
|
|
|
- name: setup
|
|
|
|
eos_config:
|
|
|
|
lines: hostname {{ inventory_hostname_short }}
|
|
|
|
match: none
|
|
|
|
provider: "{{ cli }}"
|
|
|
|
become: yes
|
|
|
|
|
|
|
|
- name: get current running-config
|
|
|
|
eos_command:
|
|
|
|
commands: show running-config
|
|
|
|
provider: "{{ cli }}"
|
|
|
|
become: yes
|
|
|
|
register: config
|
|
|
|
|
|
|
|
- name: configure hostname
|
|
|
|
eos_config:
|
|
|
|
lines: hostname foo
|
|
|
|
config: "{{ config.stdout[0] }}"
|
|
|
|
provider: "{{ cli }}"
|
|
|
|
become: yes
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- "result.changed == true"
|
|
|
|
- "'hostname foo' in result.updates"
|
|
|
|
|
|
|
|
- name: get current running-config
|
|
|
|
eos_command:
|
|
|
|
commands: show running-config
|
|
|
|
provider: "{{ cli }}"
|
|
|
|
become: yes
|
|
|
|
register: config
|
|
|
|
|
|
|
|
- name: teardown
|
|
|
|
eos_config:
|
|
|
|
lines: hostname {{ inventory_hostname_short }}
|
|
|
|
match: none
|
|
|
|
provider: "{{ cli }}"
|
|
|
|
become: yes
|
|
|
|
|
|
|
|
# hit block and diffs
|
2018-05-17 22:47:15 +00:00
|
|
|
- block:
|
|
|
|
- name: setup
|
|
|
|
eos_config:
|
|
|
|
lines:
|
2018-05-30 17:03:20 +00:00
|
|
|
- 10 permit ip host 192.0.2.1 any log
|
|
|
|
- 20 permit ip host 192.0.2.2 any log
|
|
|
|
- 30 permit ip host 192.0.2.3 any log
|
2018-05-17 22:47:15 +00:00
|
|
|
parents: ip access-list test
|
|
|
|
before: no ip access-list test
|
|
|
|
after: exit
|
|
|
|
match: strict
|
|
|
|
provider: "{{ cli }}"
|
|
|
|
become: yes
|
2018-04-06 12:16:07 +00:00
|
|
|
|
2018-05-17 22:47:15 +00:00
|
|
|
- name: configure sub level command using block replace
|
|
|
|
eos_config:
|
|
|
|
lines:
|
2018-05-30 17:03:20 +00:00
|
|
|
- 10 permit ip host 192.0.2.1 any log
|
|
|
|
- 20 permit ip host 192.0.2.2 any log
|
|
|
|
- 30 permit ip host 192.0.2.3 any log
|
|
|
|
- 40 permit ip host 192.0.2.4 any log
|
2018-05-17 22:47:15 +00:00
|
|
|
parents: ip access-list test
|
|
|
|
replace: block
|
|
|
|
after: exit
|
|
|
|
provider: "{{ cli }}"
|
|
|
|
match: line
|
|
|
|
become: yes
|
|
|
|
register: result
|
2018-04-06 12:16:07 +00:00
|
|
|
|
2018-05-17 22:47:15 +00:00
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- "result.changed == true"
|
|
|
|
- "'ip access-list test' in result.updates"
|
2018-05-30 17:03:20 +00:00
|
|
|
- "'10 permit ip host 192.0.2.1 any log' in result.updates"
|
|
|
|
- "'20 permit ip host 192.0.2.2 any log' in result.updates"
|
|
|
|
- "'30 permit ip host 192.0.2.3 any log' in result.updates"
|
|
|
|
- "'40 permit ip host 192.0.2.4 any log' in result.updates"
|
2018-04-06 12:16:07 +00:00
|
|
|
|
2018-05-17 22:47:15 +00:00
|
|
|
- name: check sub level command using block replace
|
|
|
|
eos_config:
|
|
|
|
lines:
|
2018-05-30 17:03:20 +00:00
|
|
|
- 10 permit ip host 192.0.2.1 any log
|
|
|
|
- 20 permit ip host 192.0.2.2 any log
|
|
|
|
- 30 permit ip host 192.0.2.3 any log
|
|
|
|
- 40 permit ip host 192.0.2.4 any log
|
2018-05-17 22:47:15 +00:00
|
|
|
parents: ip access-list test
|
|
|
|
replace: block
|
|
|
|
after: exit
|
|
|
|
provider: "{{ cli }}"
|
|
|
|
match: exact
|
|
|
|
become: yes
|
|
|
|
register: result
|
2018-04-06 12:16:07 +00:00
|
|
|
|
2018-05-17 22:47:15 +00:00
|
|
|
always:
|
|
|
|
- name: teardown
|
|
|
|
eos_config:
|
|
|
|
lines: no ip access-list test
|
|
|
|
match: none
|
|
|
|
provider: "{{ cli }}"
|
|
|
|
become: yes
|
2018-04-06 12:16:07 +00:00
|
|
|
|
|
|
|
- debug: msg="END cli/common_config.yaml on connection={{ ansible_connection }}"
|