|
|
|
---
|
|
|
|
- hosts: ios
|
|
|
|
gather_facts: no
|
|
|
|
connection: local
|
|
|
|
|
|
|
|
vars:
|
|
|
|
limit_to: "*"
|
|
|
|
debug: false
|
|
|
|
# Run the tests within blocks allows the next module to be tested if the previous one fails.
|
|
|
|
# This is done to allow https://github.com/ansible/dci-partner-ansible/ to run the full set of tests.
|
|
|
|
|
|
|
|
|
|
|
|
tasks:
|
|
|
|
- set_fact:
|
|
|
|
test_failed: false
|
|
|
|
failed_modules: []
|
|
|
|
- block:
|
|
|
|
- include_role:
|
|
|
|
name: ios_banner
|
|
|
|
when: "limit_to in ['*', 'ios_banner']"
|
|
|
|
rescue:
|
|
|
|
- set_fact:
|
|
|
|
failed_modules: "{{ failed_modules }} + [ 'ios_banner' ]"
|
|
|
|
test_failed: true
|
|
|
|
- block:
|
|
|
|
- include_role:
|
|
|
|
name: ios_command
|
|
|
|
when: "limit_to in ['*', 'ios_command']"
|
|
|
|
rescue:
|
|
|
|
- set_fact:
|
|
|
|
failed_modules: "{{ failed_modules }} + [ 'ios_command' ]"
|
|
|
|
test_failed: true
|
|
|
|
|
|
|
|
- block:
|
|
|
|
- include_role:
|
|
|
|
name: ios_config
|
|
|
|
when: "limit_to in ['*', 'ios_config']"
|
|
|
|
rescue:
|
|
|
|
- set_fact:
|
|
|
|
failed_modules: "{{ failed_modules }} + [ 'ios_config' ]"
|
|
|
|
test_failed: true
|
|
|
|
|
|
|
|
- block:
|
|
|
|
- include_role:
|
|
|
|
name: ios_facts
|
|
|
|
when: "limit_to in ['*', 'ios_facts']"
|
|
|
|
rescue:
|
|
|
|
- set_fact:
|
|
|
|
failed_modules: "{{ failed_modules }} + [ 'ios_facts' ]"
|
|
|
|
test_failed: true
|
|
|
|
|
|
|
|
- block:
|
|
|
|
- include_role:
|
|
|
|
name: ios_system
|
|
|
|
when: "limit_to in ['*', 'ios_system']"
|
|
|
|
rescue:
|
|
|
|
- set_fact:
|
|
|
|
failed_modules: "{{ failed_modules }} + [ 'ios_system' ]"
|
|
|
|
test_failed: true
|
|
|
|
|
|
|
|
- block:
|
|
|
|
- include_role:
|
|
|
|
name: ios_user
|
|
|
|
when: "limit_to in ['*', 'ios_user']"
|
|
|
|
rescue:
|
|
|
|
- set_fact:
|
|
|
|
failed_modules: "{{ failed_modules }} + [ 'ios_user' ]"
|
|
|
|
test_failed: true
|
|
|
|
|
|
|
|
- block:
|
|
|
|
- include_role:
|
|
|
|
name: ios_static_route
|
|
|
|
when: "limit_to in ['*', 'ios_static_route']"
|
|
|
|
rescue:
|
|
|
|
- set_fact:
|
|
|
|
failed_modules: "{{ failed_modules }} + [ 'ios_static_route' ]"
|
|
|
|
test_failed: true
|
|
|
|
|
|
|
|
- block:
|
|
|
|
- include_role:
|
|
|
|
name: ios_logging
|
|
|
|
when: "limit_to in ['*', 'ios_logging']"
|
|
|
|
rescue:
|
|
|
|
- set_fact:
|
|
|
|
failed_modules: "{{ failed_modules }} + [ 'ios_logging' ]"
|
|
|
|
test_failed: true
|
|
|
|
|
|
|
|
- block:
|
|
|
|
- include_role:
|
|
|
|
name: ios_interface
|
|
|
|
when: "limit_to in ['*', 'ios_interface']"
|
|
|
|
rescue:
|
|
|
|
- set_fact:
|
|
|
|
failed_modules: "{{ failed_modules }} + [ 'ios_logging' ]"
|
|
|
|
test_failed: true
|
|
|
|
|
|
|
|
- block:
|
|
|
|
- include_role:
|
|
|
|
name: ios_ping
|
|
|
|
when: "limit_to in ['*', 'ios_ping']"
|
|
|
|
rescue:
|
|
|
|
- set_fact:
|
|
|
|
failed_modules: "{{ failed_modules }} + [ 'ios_ping' ]"
|
|
|
|
test_failed: true
|
|
|
|
|
|
|
|
###########
|
|
|
|
- debug: var=failed_modules
|
|
|
|
when: test_failed
|
|
|
|
|
|
|
|
- name: Has any previous test failed?
|
|
|
|
fail:
|
|
|
|
msg: "One or more tests failed, check log for details"
|
|
|
|
when: test_failed
|