HTTP(S) API connection plugin (#39224)

* HTTPAPI connection

* Punt run_commands to cliconf or httpapi

* Fake enable_mode on eapi

* Pull changes to nxos

* Move load_config to edit_config for future-preparedness

* Don't fail on lldp disabled

* Re-enable check_rc on nxos' run_commands

* Reorganize nxos httpapi plugin for compatibility

* draft docs for connection: httpapi

* restores docs for connection:local for eapi

* Add _remote_is_local to httpapi
This commit is contained in:
Nathaniel Case
2018-05-17 18:47:15 -04:00
committed by GitHub
parent cc61c86049
commit e9d7fa0418
277 changed files with 1325 additions and 1676 deletions

View File

@@ -14,9 +14,3 @@
with_items: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run
- name: run test case (connection=local)
include: "{{ test_case_to_run }} ansible_connection=local ansible_become=no"
with_first_found: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run

View File

@@ -9,8 +9,8 @@
- name: set test_items
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
- name: run test case (connection=local)
include: "{{ test_case_to_run }} ansible_connection=local"
- name: run test cases (connection=httpapi)
include: "{{ test_case_to_run }} ansible_connection=httpapi"
with_items: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run

View File

@@ -45,8 +45,8 @@
- "result.commands | length == 0"
# Ensure sessions contains epoc. Will fail after 18th May 2033
- "result.session_name is not defined"
- name: remove login
- name: Remove login
eos_banner:
banner: login
state: absent
@@ -62,7 +62,7 @@
# Ensure sessions contains epoc. Will fail after 18th May 2033
- "'ansible_1' in result.session_name"
- name: remove login (idempotent)
- name: Remove login again (idempotent)
eos_banner:
banner: login
state: absent
@@ -78,7 +78,6 @@
# Ensure sessions contains epoc. Will fail after 18th May 2033
- "result.session_name is not defined"
# FIXME add in tests for everything defined in docs
# FIXME Test state:absent + test:
# FIXME Without powers ensure "privileged mode required"

View File

@@ -1,4 +1,5 @@
---
- debug: msg="START eapi/basic-login.yaml on connection={{ ansible_connection }}"
- name: Remove previous login banner
eos_config:
@@ -6,7 +7,7 @@
authorize: yes
provider: "{{ eapi }}"
- name: Set login
- name: Create login banner
eos_banner:
banner: login
text: |
@@ -21,12 +22,11 @@
- assert:
that:
- "result.changed == true"
- "result.commands.0.cmd == 'banner login'"
- "result.commands.0.input == 'this is my login banner\nthat has a multiline\nstring'"
- "'banner login' in result.commands[0]" # does this break due to "contains?"
# Ensure sessions contains epoc. Will fail after 18th May 2033
- "'ansible_1' in result.session_name"
- name: Set login again (idempotent)
- name: Create login banner again (idempotent)
eos_banner:
banner: login
text: |
@@ -60,7 +60,7 @@
- assert:
that:
- "result.changed == true"
- "result.commands.0.cmd == 'no banner login'"
- "'no banner login' in result.commands" # does this break due to "contains?"
# Ensure sessions contains epoc. Will fail after 18th May 2033
- "'ansible_1' in result.session_name"

View File

@@ -21,8 +21,8 @@
- assert:
that:
- "result.changed == true"
- "result.commands.0.cmd == 'banner motd'"
- "result.commands.0.input == 'this is my motd banner\nthat has a multiline\nstring'"
- "'this is my motd banner' in result.commands"
- "'that has a multiline' in result.commands"
# Ensure sessions contains epoc. Will fail after 18th May 2033
- "'ansible_1' in result.session_name"
@@ -60,7 +60,7 @@
- assert:
that:
- "result.changed == true"
- "result.commands.0.cmd == 'no banner motd'"
- "'no banner motd' in result.commands"
# Ensure sessions contains epoc. Will fail after 18th May 2033
- "'ansible_1' in result.session_name"

View File

@@ -22,8 +22,7 @@
- assert:
that:
- "result.changed == true"
- "result.commands.0.cmd == 'banner motd'"
- "result.commands.0.input == 'this is my motd banner configure by net_banner'"
- "'this is my motd banner configure by net_banner' in result.commands"
# Ensure sessions contains epoc. Will fail after 18th May 2033
- "'ansible_1' in result.session_name"

View File

@@ -14,9 +14,3 @@
with_items: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run
- name: run test case (connection=local)
include: "{{ test_case_to_run }} ansible_connection=local ansible_become=no"
with_first_found: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run

View File

@@ -9,8 +9,8 @@
- name: set test_items
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
- name: run test case (connection=local)
include: "{{ test_case_to_run }} ansible_connection=local"
- name: run test cases (connection=httpapi)
include: "{{ test_case_to_run }} ansible_connection=httpapi"
with_items: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run

View File

@@ -8,7 +8,6 @@
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.name foo Management"
provider: "{{ cli }}"
register: result
ignore_errors: yes

View File

@@ -5,11 +5,10 @@
eos_command:
commands:
- show version
- show interface Management1 | json
- show interfaces Management1 | json
wait_for:
- "result[0] contains EOS"
- "result[1].interfaces.Management1.name contains Manage"
provider: "{{ cli }}"
register: result
- assert:

View File

@@ -8,7 +8,6 @@
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.name eq Management1"
provider: "{{ cli }}"
register: result
- assert:
@@ -23,7 +22,6 @@
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.name == Management1"
provider: "{{ cli }}"
register: result
- assert:

View File

@@ -8,7 +8,6 @@
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.mtu gt 0"
provider: "{{ cli }}"
register: result
- assert:
@@ -23,7 +22,6 @@
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.mtu > 0"
provider: "{{ cli }}"
register: result
- assert:

View File

@@ -8,7 +8,6 @@
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.mtu ge 0"
provider: "{{ cli }}"
register: result
- assert:
@@ -23,7 +22,6 @@
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.mtu >= 0"
provider: "{{ cli }}"
register: result
- assert:

View File

@@ -4,7 +4,6 @@
- name: run invalid command
eos_command:
commands: ['show foo']
provider: "{{ cli }}"
register: result
ignore_errors: yes
@@ -18,7 +17,6 @@
commands:
- show version
- show foo
provider: "{{ cli }}"
register: result
ignore_errors: yes

View File

@@ -8,7 +8,6 @@
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.mtu lt 1600"
provider: "{{ cli }}"
register: result
- assert:
@@ -23,7 +22,6 @@
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.mtu < 1600"
provider: "{{ cli }}"
register: result
- assert:

View File

@@ -8,7 +8,6 @@
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.mtu le 1600"
provider: "{{ cli }}"
register: result
- assert:
@@ -23,7 +22,6 @@
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.mtu <= 1600"
provider: "{{ cli }}"
register: result
- assert:

View File

@@ -8,7 +8,6 @@
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.name neq Ethernet"
provider: "{{ cli }}"
register: result
- assert:
@@ -23,7 +22,6 @@
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.name != Ethernet"
provider: "{{ cli }}"
register: result
- assert:

View File

@@ -4,7 +4,6 @@
- name: get output for single command
eos_command:
commands: ['show version']
provider: "{{ cli }}"
register: result
- assert:
@@ -17,7 +16,6 @@
commands:
- show version
- show interfaces
provider: "{{ cli }}"
register: result
- assert:

View File

@@ -7,7 +7,6 @@
- show version
wait_for:
- "result[0] contains bad_value_string"
provider: "{{ cli }}"
register: result
ignore_errors: yes

View File

@@ -8,7 +8,6 @@
- show interfaces Management1
wait_for:
- "result[1].interfaces.Management1.name foo Management"
provider: "{{ eapi }}"
register: result
ignore_errors: yes

View File

@@ -1,15 +1,14 @@
---
- debug: msg="START eapi/contains.yaml"
- debug: msg="START eapi/contains.yaml on connection={{ ansible_connection }}"
- name: test contains operator
eos_command:
commands:
- show version
- show interfaces Management1
- show interfaces Management1 | json
wait_for:
- "result[0].modelName contains EOS"
- "result[1].interfaces.Management1.name contains Management"
provider: "{{ eapi }}"
- "result[0] contains EOS"
- "result[1].interfaces.Management1.name contains Manage"
register: result
- assert:
@@ -17,4 +16,4 @@
- "result.changed == false"
- "result.stdout is defined"
- debug: msg="END eapi/contains.yaml"
- debug: msg="END eapi/contains.yaml on connection={{ ansible_connection }}"

View File

@@ -1,14 +1,13 @@
---
- debug: msg="START eapi/equal.yaml"
- debug: msg="START eapi/equal.yaml on connection={{ ansible_connection }}"
- name: test eq operator
eos_command:
commands:
- show version
- show interfaces Management1
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.name eq Management1"
provider: "{{ eapi }}"
register: result
- assert:
@@ -20,10 +19,9 @@
eos_command:
commands:
- show version
- show interfaces Management1
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.name == Management1"
provider: "{{ eapi }}"
register: result
- assert:
@@ -31,4 +29,4 @@
- "result.changed == false"
- "result.stdout is defined"
- debug: msg="END eapi/equal.yaml"
- debug: msg="END eapi/equal.yaml on connection={{ ansible_connection }}"

View File

@@ -1,14 +1,13 @@
---
- debug: msg="START eapi/greaterthan.yaml"
- debug: msg="START eapi/greaterthan.yaml on connection={{ ansible_connection }}"
- name: test gt operator
eos_command:
commands:
- show version
- show interfaces Management1
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.mtu gt 0"
provider: "{{ eapi }}"
register: result
- assert:
@@ -20,10 +19,9 @@
eos_command:
commands:
- show version
- show interfaces Management1
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.mtu >= 0"
provider: "{{ eapi }}"
- "result[1].interfaces.Management1.mtu > 0"
register: result
- assert:
@@ -31,4 +29,4 @@
- "result.changed == false"
- "result.stdout is defined"
- debug: msg="END eapi/greaterthan.yaml"
- debug: msg="END eapi/greaterthan.yaml on connection={{ ansible_connection }}"

View File

@@ -1,14 +1,13 @@
---
- debug: msg="START eapi/greaterthanorequal.yaml"
- debug: msg="START eapi/greaterthanorequal.yaml on connection={{ ansible_connection }}"
- name: test ge operator
eos_command:
commands:
- show version
- show interfaces Management1
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.mtu ge 0"
provider: "{{ eapi }}"
register: result
- assert:
@@ -20,10 +19,9 @@
eos_command:
commands:
- show version
- show interfaces Management1
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.mtu >= 0"
provider: "{{ eapi }}"
register: result
- assert:
@@ -31,4 +29,4 @@
- "result.changed == false"
- "result.stdout is defined"
- debug: msg="END eapi/greaterthanorequal.yaml"
- debug: msg="END eapi/greaterthanorequal.yaml on connection={{ ansible_connection }}"

View File

@@ -4,7 +4,6 @@
- name: run invalid command
eos_command:
commands: ['show foo']
provider: "{{ eapi }}"
register: result
ignore_errors: yes
@@ -18,7 +17,6 @@
commands:
- show version
- show foo
provider: "{{ eapi }}"
register: result
ignore_errors: yes

View File

@@ -1,14 +1,13 @@
---
- debug: msg="START eapi/lessthan.yaml"
- debug: msg="START eapi/lessthan.yaml on connection={{ ansible_connection }}"
- name: test lt operator
eos_command:
commands:
- show version
- show interfaces Management1
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.mtu lt 9100"
provider: "{{ eapi }}"
- "result[1].interfaces.Management1.mtu lt 1600"
register: result
- assert:
@@ -20,10 +19,9 @@
eos_command:
commands:
- show version
- show interfaces Management1
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.mtu < 9100"
provider: "{{ eapi }}"
- "result[1].interfaces.Management1.mtu < 1600"
register: result
- assert:
@@ -31,4 +29,4 @@
- "result.changed == false"
- "result.stdout is defined"
- debug: msg="END eapi/lessthan.yaml"
- debug: msg="END eapi/lessthan.yaml on connection={{ ansible_connection }}"

View File

@@ -1,14 +1,13 @@
---
- debug: msg="START eapi/lessthanorequal.yaml"
- debug: msg="START eapi/lessthanorequal.yaml on connection={{ ansible_connection }}"
- name: test le operator
eos_command:
commands:
- show version
- show interfaces Management1
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.mtu le 9100"
provider: "{{ eapi }}"
- "result[1].interfaces.Management1.mtu le 1600"
register: result
- assert:
@@ -20,10 +19,9 @@
eos_command:
commands:
- show version
- show interfaces Management1
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.mtu <= 9100"
provider: "{{ eapi }}"
- "result[1].interfaces.Management1.mtu <= 1600"
register: result
- assert:
@@ -31,4 +29,4 @@
- "result.changed == false"
- "result.stdout is defined"
- debug: msg="END eapi/lessthanorequal.yaml"
- debug: msg="END eapi/lessthanorequal.yaml on connection={{ ansible_connection }}"

View File

@@ -1,14 +1,13 @@
---
- debug: msg="START eapi/notequal.yaml"
- debug: msg="START eapi/notequal.yaml on connection={{ ansible_connection }}"
- name: test neq operator
eos_command:
commands:
- show version
- show interfaces Management1
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.name neq Ethernet"
provider: "{{ eapi }}"
register: result
- assert:
@@ -20,10 +19,9 @@
eos_command:
commands:
- show version
- show interfaces Management1
- show interfaces Management1 | json
wait_for:
- "result[1].interfaces.Management1.name != Ethernet"
provider: "{{ eapi }}"
register: result
- assert:
@@ -31,4 +29,4 @@
- "result.changed == false"
- "result.stdout is defined"
- debug: msg="END eapi/notequal.yaml"
- debug: msg="END eapi/notequal.yaml on connection={{ ansible_connection }}"

View File

@@ -4,7 +4,6 @@
- name: get output for single command
eos_command:
commands: ['show version']
provider: "{{ eapi }}"
register: result
- assert:
@@ -17,7 +16,6 @@
commands:
- show version
- show interfaces
provider: "{{ eapi }}"
register: result
- assert:

View File

@@ -8,7 +8,6 @@
wait_for:
- "result[0].version foo 4.15"
retries: 1
provider: "{{ eapi }}"
register: result
ignore_errors: yes

View File

@@ -14,9 +14,3 @@
with_items: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run
- name: run test case (connection=local)
include: "{{ test_case_to_run }} ansible_connection=local ansible_become=no"
with_first_found: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run

View File

@@ -9,8 +9,8 @@
- name: set test_items
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
- name: run test case (connection=local)
include: "{{ test_case_to_run }} ansible_connection=local"
- name: run test cases (connection=httpapi)
include: "{{ test_case_to_run }} ansible_connection=httpapi"
with_items: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run

View File

@@ -9,7 +9,6 @@
parents:
- interface Ethernet2
match: none
provider: "{{ cli }}"
become: yes
- name: collect any backup files
@@ -29,7 +28,6 @@
eos_config:
src: basic/config.j2
backup: yes
provider: "{{ cli }}"
become: yes
register: result

View File

@@ -6,7 +6,6 @@
lines:
- ip address 119.31.1.1 255.255.255.256
parents: interface Loopback911
provider: "{{ cli }}"
become: yes
check_mode: 1
environment:
@@ -25,7 +24,6 @@
before:
- "no ip access-list test"
src: basic/cmds.j2
provider: "{{ cli }}"
become: yes
check_mode: yes
register: config
@@ -34,7 +32,6 @@
eos_command:
commands:
- show configuration sessions | json
provider: "{{ cli }}"
become: yes
register: result
@@ -47,7 +44,6 @@
lines:
- ip address 119.31.1.1 255.255.255.256
parents: interface Loopback911
provider: "{{ cli }}"
become: yes
check_mode: 1
environment:
@@ -64,7 +60,6 @@
lines:
- ip address 119.31.1.1 255.255.255.255
parents: interface Loopback911
provider: "{{ cli }}"
become: yes
check_mode: yes
register: result

View File

@@ -5,13 +5,11 @@
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
@@ -19,7 +17,6 @@
eos_config:
lines: hostname foo
config: "{{ config.stdout[0] }}"
provider: "{{ cli }}"
become: yes
register: result
@@ -31,7 +28,6 @@
- name: get current running-config
eos_command:
commands: show running-config
provider: "{{ cli }}"
become: yes
register: config
@@ -39,7 +35,6 @@
eos_config:
lines: hostname foo
config: "{{ config.stdout[0] }}"
provider: "{{ cli }}"
become: yes
register: result
@@ -51,7 +46,6 @@
eos_config:
lines: hostname {{ inventory_hostname_short }}
match: none
provider: "{{ cli }}"
become: yes
- debug: msg="END cli/config.yaml on connection={{ ansible_connection }}"

View File

@@ -9,14 +9,12 @@
parents:
- interface Ethernet2
match: none
provider: "{{ cli }}"
become: yes
- name: configure device with defaults included
eos_config:
src: defaults/config.j2
defaults: yes
provider: "{{ cli }}"
become: yes
register: result
@@ -31,7 +29,6 @@
eos_config:
src: defaults/config.j2
defaults: yes
provider: "{{ cli }}"
become: yes
register: result

View File

@@ -9,14 +9,12 @@
parents:
- interface Ethernet2
match: none
provider: "{{ cli }}"
become: yes
- name: save config always
eos_config:
save_when: always
provider: "{{ cli }}"
become: yes
register: result
@@ -27,7 +25,6 @@
- name: save always again (not idempotent)
eos_config:
save_when: always
provider: "{{ cli }}"
become: yes
register: result

View File

@@ -9,13 +9,11 @@
parents:
- interface Ethernet2
match: none
provider: "{{ cli }}"
become: yes
- name: configure device with config
eos_config:
src: basic/config.j2
provider: "{{ cli }}"
become: yes
register: result
@@ -29,7 +27,6 @@
eos_config:
src: basic/config.j2
defaults: yes
provider: "{{ cli }}"
become: yes
register: result

View File

@@ -6,7 +6,6 @@
- name: configure with invalid src
eos_config:
src: basic/foobar.j2
provider: "{{ cli }}"
become: yes
register: result
ignore_errors: yes

View File

@@ -9,13 +9,11 @@
parents:
- interface Ethernet2
match: none
provider: "{{ cli }}"
become: yes
- name: configure device with config
eos_config:
src: basic/config.j2
provider: "{{ cli }}"
match: none
become: yes
register: result
@@ -30,7 +28,6 @@
eos_config:
src: basic/config.j2
defaults: yes
provider: "{{ cli }}"
become: yes
register: result

View File

@@ -5,14 +5,12 @@
eos_config:
lines: no vlan 10
match: none
provider: "{{ cli }}"
become: yes
- name: configure sub level command
eos_config:
lines: name test
parents: vlan 10
provider: "{{ cli }}"
become: yes
register: result
@@ -26,7 +24,6 @@
eos_config:
lines: name test
parents: vlan 10
provider: "{{ cli }}"
become: yes
register: result
@@ -38,7 +35,6 @@
eos_config:
lines: no vlan 10
match: none
provider: "{{ cli }}"
become: yes

View File

@@ -11,7 +11,6 @@
before: no ip access-list test
after: exit
match: none
provider: "{{ cli }}"
become: yes
- name: configure sub level command using block resplace
@@ -24,7 +23,6 @@
parents: ip access-list test
replace: block
after: exit
provider: "{{ cli }}"
become: yes
register: result
@@ -47,7 +45,6 @@
parents: ip access-list test
replace: block
after: exit
provider: "{{ cli }}"
become: yes
register: result
@@ -59,7 +56,6 @@
eos_config:
lines: no ip access-list test
match: none
provider: "{{ cli }}"
become: yes
- debug: msg="END cli/sublevel_block.yaml on connection={{ ansible_connection }}"

View File

@@ -13,7 +13,6 @@
before: no ip access-list test
after: exit
match: none
provider: "{{ cli }}"
become: yes
- name: configure sub level command using exact match
@@ -28,7 +27,6 @@
after: exit
match: exact
replace: block
provider: "{{ cli }}"
become: yes
register: result
@@ -51,7 +49,6 @@
- 40 permit ip host 4.4.4.4 any log
parents: ip access-list test
match: exact
provider: "{{ cli }}"
become: yes
register: result
@@ -63,7 +60,6 @@
eos_config:
lines: no ip access-list test
match: none
provider: "{{ cli }}"
become: yes
- debug: msg="END cli/sublevel_exact.yaml on connection={{ ansible_connection }}"

View File

@@ -13,7 +13,6 @@
before: no ip access-list test
after: exit
match: none
provider: "{{ cli }}"
become: yes
- name: configure sub level command using strict match
@@ -28,7 +27,6 @@
after: exit
match: strict
replace: block
provider: "{{ cli }}"
become: yes
register: result
@@ -51,7 +49,6 @@
- 40 permit ip host 4.4.4.4 any log
parents: ip access-list test
match: strict
provider: "{{ cli }}"
become: yes
register: result
@@ -63,7 +60,6 @@
eos_config:
lines: no ip access-list test
match: none
provider: "{{ cli }}"
become: yes
- debug: msg="END cli/sublevel_strict.yaml on connection={{ ansible_connection }}"

View File

@@ -5,13 +5,11 @@
eos_config:
lines: hostname veos01
match: none
provider: "{{ cli }}"
become: yes
- name: configure top level command
eos_config:
lines: hostname foo
provider: "{{ cli }}"
become: yes
register: result
@@ -23,7 +21,6 @@
- name: configure top level command idempotent check
eos_config:
lines: hostname foo
provider: "{{ cli }}"
become: yes
register: result
@@ -35,7 +32,6 @@
eos_config:
lines: hostname veos01
match: none
provider: "{{ cli }}"
become: yes
- debug: msg="END cli/toplevel.yaml on connection={{ ansible_connection }}"

View File

@@ -7,14 +7,12 @@
- snmp-server contact ansible
- hostname veos01
match: none
provider: "{{ cli }}"
become: yes
- name: configure top level command with before
eos_config:
lines: hostname foo
after: snmp-server contact bar
provider: "{{ cli }}"
become: yes
register: result
@@ -28,7 +26,6 @@
eos_config:
lines: hostname foo
after: snmp-server contact foo
provider: "{{ cli }}"
become: yes
register: result
@@ -42,7 +39,6 @@
- no snmp-server contact
- hostname veos01
match: none
provider: "{{ cli }}"
become: yes
- debug: msg="END cli/toplevel_after.yaml on connection={{ ansible_connection }}"

View File

@@ -7,14 +7,12 @@
- snmp-server contact ansible
- hostname veos01
match: none
provider: "{{ cli }}"
become: yes
- name: configure top level command with before
eos_config:
lines: hostname foo
before: snmp-server contact bar
provider: "{{ cli }}"
become: yes
register: result
@@ -28,7 +26,6 @@
eos_config:
lines: hostname foo
before: snmp-server contact foo
provider: "{{ cli }}"
become: yes
register: result
@@ -42,7 +39,6 @@
- hostname veos01
- no snmp-server contact
match: none
provider: "{{ cli }}"
become: yes
- debug: msg="END cli/toplevel_before.yaml on connection={{ ansible_connection }}"

View File

@@ -1,5 +1,5 @@
---
- debug: msg="START eapi/backup.yaml"
- debug: msg="START eapi/backup.yaml on connection={{ ansible_connection }}"
- name: setup
eos_config:
@@ -9,14 +9,14 @@
parents:
- interface Ethernet2
match: none
provider: "{{ eapi }}"
become: yes
- name: collect any backup files
find:
paths: "{{ role_path }}/backup"
pattern: "{{ inventory_hostname_short }}_config*"
register: backup_files
delegate_to: localhost
connection: local
- name: delete backup files
file:
@@ -28,7 +28,7 @@
eos_config:
src: basic/config.j2
backup: yes
provider: "{{ eapi }}"
become: yes
register: result
- assert:
@@ -41,10 +41,10 @@
paths: "{{ role_path }}/backup"
pattern: "{{ inventory_hostname_short }}_config*"
register: backup_files
delegate_to: localhost
connection: local
- assert:
that:
- "backup_files.files is defined"
- debug: msg="END eapi/backup.yaml"
- debug: msg="END eapi/backup.yaml on connection={{ ansible_connection }}"

View File

@@ -9,13 +9,11 @@
parents:
- interface Ethernet2
match: none
provider: "{{ eapi }}"
- name: configure device with defaults included
eos_config:
src: defaults/config.j2
defaults: yes
provider: "{{ eapi }}"
register: result
- debug: var=result
@@ -29,7 +27,6 @@
eos_config:
src: defaults/config.j2
defaults: yes
provider: "{{ eapi }}"
register: result
- debug: var=result

View File

@@ -9,13 +9,11 @@
parents:
- interface Ethernet2
match: none
provider: "{{ eapi }}"
- name: save config
eos_config:
save_when: always
provider: "{{ eapi }}"
register: result
- assert:
@@ -25,7 +23,6 @@
- name: save should always run
eos_config:
save_when: always
provider: "{{ eapi }}"
register: result
- assert:

View File

@@ -9,12 +9,10 @@
parents:
- interface Ethernet2
match: none
provider: "{{ eapi }}"
- name: configure device with config
eos_config:
src: basic/config.j2
provider: "{{ eapi }}"
register: result
- assert:
@@ -26,7 +24,6 @@
- name: check device with config
eos_config:
src: basic/config.j2
provider: "{{ eapi }}"
register: result
- assert:

View File

@@ -6,7 +6,6 @@
- name: configure with invalid src
eos_config:
src: basic/foobar.j2
provider: "{{ eapi }}"
register: result
ignore_errors: yes

View File

@@ -9,12 +9,10 @@
parents:
- interface Ethernet2
match: none
provider: "{{ eapi }}"
- name: configure device with config
eos_config:
src: basic/config.j2
provider: "{{ eapi }}"
match: none
register: result
@@ -27,7 +25,6 @@
- name: check device with config
eos_config:
src: basic/config.j2
provider: "{{ eapi }}"
register: result
- assert:

View File

@@ -5,14 +5,12 @@
eos_config:
lines: no ip access-list test
match: none
provider: "{{ eapi }}"
- name: configure sub level command
eos_config:
lines: 10 permit ip any any log
parents: ip access-list test
after: exit
provider: "{{ eapi }}"
register: result
- assert:
@@ -25,7 +23,6 @@
eos_config:
lines: 10 permit ip any any log
parents: ip access-list test
provider: "{{ eapi }}"
register: result
- assert:
@@ -36,6 +33,5 @@
eos_config:
lines: no ip access-list test
match: none
provider: "{{ cli }}"
- debug: msg="END eapi/sublevel.yaml"

View File

@@ -10,7 +10,6 @@
parents: ip access-list test
before: no ip access-list test
match: none
provider: "{{ eapi }}"
- name: configure sub level command using block resplace
eos_config:
@@ -22,7 +21,6 @@
parents: ip access-list test
after: end
replace: block
provider: "{{ eapi }}"
register: result
- assert:
@@ -43,7 +41,6 @@
- 40 permit ip host 4.4.4.4 any log
parents: ip access-list test
replace: block
provider: "{{ eapi }}"
register: result
- assert:
@@ -54,6 +51,5 @@
eos_config:
lines: no ip access-list test
match: none
provider: "{{ eapi }}"
- debug: msg="END eapi/sublevel_block.yaml"

View File

@@ -13,7 +13,6 @@
before: no ip access-list test
after: exit
match: none
provider: "{{ eapi }}"
- name: configure sub level command using exact match
eos_config:
@@ -26,7 +25,6 @@
parents: ip access-list test
after: exit
match: exact
provider: "{{ eapi }}"
register: result
- assert:
@@ -49,7 +47,6 @@
before: no ip access-list test
parents: ip access-list test
match: exact
provider: "{{ eapi }}"
register: result
- assert:
@@ -60,6 +57,5 @@
eos_config:
lines: no ip access-list test
match: none
provider: "{{ eapi }}"
- debug: msg="END eapi/sublevel_exact.yaml"

View File

@@ -11,7 +11,6 @@
- 50 permit ip host 5.5.5.5 any log
parents: ip access-list test
before: no ip access-list test
provider: "{{ eapi }}"
match: none
- name: configure sub level command using strict match
@@ -26,7 +25,6 @@
after: exit
match: strict
replace: block
provider: "{{ eapi }}"
register: result
- assert:
@@ -48,7 +46,6 @@
- 40 permit ip host 4.4.4.4 any log
parents: ip access-list test
match: strict
provider: "{{ eapi }}"
register: result
- assert:
@@ -59,6 +56,5 @@
eos_config:
lines: no ip access-list test
match: none
provider: "{{ eapi }}"
- debug: msg="END eapi/sublevel_strict.yaml"

View File

@@ -5,12 +5,10 @@
eos_config:
lines: hostname {{ inventory_hostname_short }}
match: none
provider: "{{ eapi }}"
- name: configure top level command
eos_config:
lines: hostname foo
provider: "{{ eapi }}"
register: result
- assert:
@@ -21,7 +19,6 @@
- name: configure top level command idempotent check
eos_config:
lines: hostname foo
provider: "{{ eapi }}"
register: result
- assert:
@@ -32,6 +29,5 @@
eos_config:
lines: hostname {{ inventory_hostname_short }}
match: none
provider: "{{ eapi }}"
- debug: msg="END eapi/toplevel.yaml"

View File

@@ -7,13 +7,11 @@
- "snmp-server contact ansible"
- "hostname {{ inventory_hostname_short }}"
match: none
provider: "{{ eapi }}"
- name: configure top level command with before
eos_config:
lines: hostname foo
after: snmp-server contact bar
provider: "{{ eapi }}"
register: result
- assert:
@@ -26,7 +24,6 @@
eos_config:
lines: hostname foo
after: snmp-server contact foo
provider: "{{ eapi }}"
register: result
- assert:
@@ -39,6 +36,5 @@
- no snmp-server contact
- hostname {{ inventory_hostname_short }}
match: none
provider: "{{ eapi }}"
- debug: msg="END eapi/toplevel_after.yaml"

View File

@@ -7,13 +7,11 @@
- "snmp-server contact ansible"
- "hostname {{ inventory_hostname_short }}"
match: none
provider: "{{ eapi }}"
- name: configure top level command with before
eos_config:
lines: hostname foo
before: snmp-server contact bar
provider: "{{ eapi }}"
register: result
- assert:
@@ -26,7 +24,6 @@
eos_config:
lines: hostname foo
before: snmp-server contact foo
provider: "{{ eapi }}"
register: result
- assert:
@@ -39,6 +36,5 @@
- no snmp-server contact ansible
- hostname {{ inventory_hostname_short }}
match: none
provider: "{{ eapi }}"
- debug: msg="END eapi/toplevel_before.yaml"

View File

@@ -14,9 +14,3 @@
with_items: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run
- name: run test case (connection=local)
include: "{{ test_case_to_run }} ansible_connection=local ansible_become=no"
with_first_found: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run

View File

@@ -9,8 +9,8 @@
- name: set test_items
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
- name: run test case (connection=local)
include: "{{ test_case_to_run }} ansible_connection=local"
- name: run test cases (connection=httpapi)
include: "{{ test_case_to_run }} ansible_connection=httpapi"
with_items: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run

View File

@@ -4,7 +4,6 @@
- name: test getting all facts
eos_facts:
provider: "{{ cli }}"
gather_subset:
- all
become: yes

View File

@@ -4,7 +4,6 @@
- name: test getting default facts
eos_facts:
provider: "{{ cli }}"
become: yes
register: result

View File

@@ -4,7 +4,6 @@
- name: test invalid subset (foobar)
eos_facts:
provider: "{{ cli }}"
gather_subset:
- "foobar"
register: result
@@ -26,7 +25,6 @@
- name: test subset specified multiple times
eos_facts:
provider: "{{ cli }}"
gather_subset:
- "!hardware"
- "hardware"

View File

@@ -4,7 +4,6 @@
- name: test not hardware
eos_facts:
provider: "{{ cli }}"
gather_subset:
- "!hardware"
become: yes

View File

@@ -5,11 +5,9 @@
eos_config:
lines: lldp run
authorize: yes
provider: "{{ eapi }}"
- name: test getting all facts
eos_facts:
provider: "{{ eapi }}"
gather_subset:
- all
register: result
@@ -35,6 +33,5 @@
eos_config:
lines: no lldp run
authorize: yes
provider: "{{ eapi }}"
- debug: msg="END eapi/all_facts.yaml"

View File

@@ -5,11 +5,9 @@
eos_config:
lines: lldp run
authorize: yes
provider: "{{ eapi }}"
- name: test getting default facts
eos_facts:
provider: "{{ eapi }}"
register: result
- assert:
@@ -37,6 +35,5 @@
eos_config:
lines: lldp run
authorize: yes
provider: "{{ eapi }}"
- debug: msg="END eapi/default.yaml"

View File

@@ -4,7 +4,6 @@
- name: test invalid subset (foobar)
eos_facts:
provider: "{{ eapi }}"
gather_subset:
- "foobar"
register: result
@@ -26,7 +25,6 @@
- name: test subset specified multiple times
eos_facts:
provider: "{{ eapi }}"
gather_subset:
- "!hardware"
- "hardware"

View File

@@ -5,11 +5,9 @@
eos_config:
lines: lldp run
authorize: yes
provider: "{{ eapi }}"
- name: test not hardware
eos_facts:
provider: "{{ eapi }}"
gather_subset:
- "!hardware"
register: result
@@ -36,6 +34,5 @@
eos_config:
lines: no lldp run
authorize: yes
provider: "{{ eapi }}"
- debug: msg="END eapi/not_hardware_facts.yaml"

View File

@@ -9,8 +9,8 @@
- name: set test_items
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
- name: run test case (connection=local)
include: "{{ test_case_to_run }} ansible_connection=local"
- name: run test cases (connection=httpapi)
include: "{{ test_case_to_run }} ansible_connection=httpapi"
with_items: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run

View File

@@ -9,8 +9,8 @@
- name: set test_items
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
- name: run test case (connection=local)
include: "{{ test_case_to_run }} ansible_connection=local"
- name: run test cases (connection=httpapi)
include: "{{ test_case_to_run }} ansible_connection=httpapi"
with_items: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run

View File

@@ -9,8 +9,8 @@
- name: set test_items
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
- name: run test case (connection=local)
include: "{{ test_case_to_run }} ansible_connection=local"
- name: run test cases (connection=httpapi)
include: "{{ test_case_to_run }} ansible_connection=httpapi"
with_items: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run

View File

@@ -9,8 +9,8 @@
- name: set test_items
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
- name: run test case (connection=local)
include: "{{ test_case_to_run }} ansible_connection=local"
- name: run test cases (connection=httpapi)
include: "{{ test_case_to_run }} ansible_connection=httpapi"
with_items: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run

View File

@@ -9,8 +9,8 @@
- name: set test_items
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
- name: run test case (connection=local)
include: "{{ test_case_to_run }} ansible_connection=local"
- name: run test cases (connection=httpapi)
include: "{{ test_case_to_run }} ansible_connection=httpapi"
with_items: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run

View File

@@ -17,6 +17,6 @@
- name: run test case (connection=local)
include: "{{ test_case_to_run }} ansible_connection=local ansible_become=no"
with_first_found: "{{ test_items }}"
with_items: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run

View File

@@ -9,6 +9,12 @@
- name: set test_items
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
- name: run test cases (connection=httpapi)
include: "{{ test_case_to_run }} ansible_connection=httpapi"
with_items: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run
- name: run test case (connection=local)
include: "{{ test_case_to_run }} ansible_connection=local"
with_items: "{{ test_items }}"

View File

@@ -45,64 +45,65 @@
become: yes
# hit block and diffs
- block:
- name: setup
eos_config:
lines:
- 10 permit ip host 1.1.1.1 any log
- 20 permit ip host 2.2.2.2 any log
- 30 permit ip host 3.3.3.3 any log
parents: ip access-list test
before: no ip access-list test
after: exit
match: strict
provider: "{{ cli }}"
become: yes
- name: setup
eos_config:
lines:
- 10 permit ip host 1.1.1.1 any log
- 20 permit ip host 2.2.2.2 any log
- 30 permit ip host 3.3.3.3 any log
parents: ip access-list test
before: no ip access-list test
after: exit
match: strict
provider: "{{ cli }}"
become: yes
- name: configure sub level command using block replace
eos_config:
lines:
- 10 permit ip host 1.1.1.1 any log
- 20 permit ip host 2.2.2.2 any log
- 30 permit ip host 3.3.3.3 any log
- 40 permit ip host 4.4.4.4 any log
parents: ip access-list test
replace: block
after: exit
provider: "{{ cli }}"
match: line
become: yes
register: result
- name: configure sub level command using block resplace
eos_config:
lines:
- 10 permit ip host 1.1.1.1 any log
- 20 permit ip host 2.2.2.2 any log
- 30 permit ip host 3.3.3.3 any log
- 40 permit ip host 4.4.4.4 any log
parents: ip access-list test
replace: block
after: exit
provider: "{{ cli }}"
match: line
become: yes
register: result
- assert:
that:
- "result.changed == true"
- "'ip access-list test' in result.updates"
- "'10 permit ip host 1.1.1.1 any log' in result.updates"
- "'20 permit ip host 2.2.2.2 any log' in result.updates"
- "'30 permit ip host 3.3.3.3 any log' in result.updates"
- "'40 permit ip host 4.4.4.4 any log' in result.updates"
- assert:
that:
- "result.changed == true"
- "'ip access-list test' in result.updates"
- "'10 permit ip host 1.1.1.1 any log' in result.updates"
- "'20 permit ip host 2.2.2.2 any log' in result.updates"
- "'30 permit ip host 3.3.3.3 any log' in result.updates"
- "'40 permit ip host 4.4.4.4 any log' in result.updates"
- name: check sub level command using block replace
eos_config:
lines:
- 10 permit ip host 1.1.1.1 any log
- 20 permit ip host 2.2.2.2 any log
- 30 permit ip host 3.3.3.3 any log
- 40 permit ip host 4.4.4.4 any log
parents: ip access-list test
replace: block
after: exit
provider: "{{ cli }}"
match: exact
become: yes
register: result
- name: check sub level command using block replace
eos_config:
lines:
- 10 permit ip host 1.1.1.1 any log
- 20 permit ip host 2.2.2.2 any log
- 30 permit ip host 3.3.3.3 any log
- 40 permit ip host 4.4.4.4 any log
parents: ip access-list test
replace: block
after: exit
provider: "{{ cli }}"
match: exact
become: yes
register: result
- name: teardown
eos_config:
lines: no ip access-list test
match: none
provider: "{{ cli }}"
become: yes
always:
- name: teardown
eos_config:
lines: no ip access-list test
match: none
provider: "{{ cli }}"
become: yes
- debug: msg="END cli/common_config.yaml on connection={{ ansible_connection }}"

View File

@@ -40,60 +40,61 @@
provider: "{{ eapi }}"
# hit block and diffs
- block:
- name: setup
eos_config:
lines:
- 10 permit ip host 1.1.1.1 any log
- 20 permit ip host 2.2.2.2 any log
- 30 permit ip host 3.3.3.3 any log
parents: ip access-list test
before: no ip access-list test
after: exit
match: strict
provider: "{{ eapi }}"
- name: setup
eos_config:
lines:
- 10 permit ip host 1.1.1.1 any log
- 20 permit ip host 2.2.2.2 any log
- 30 permit ip host 3.3.3.3 any log
parents: ip access-list test
before: no ip access-list test
after: exit
match: strict
provider: "{{ eapi }}"
- name: configure sub level command using block replace
eos_config:
lines:
- 10 permit ip host 1.1.1.1 any log
- 20 permit ip host 2.2.2.2 any log
- 30 permit ip host 3.3.3.3 any log
- 40 permit ip host 4.4.4.4 any log
parents: ip access-list test
replace: block
after: exit
provider: "{{ eapi }}"
match: line
register: result
- name: configure sub level command using block resplace
eos_config:
lines:
- 10 permit ip host 1.1.1.1 any log
- 20 permit ip host 2.2.2.2 any log
- 30 permit ip host 3.3.3.3 any log
- 40 permit ip host 4.4.4.4 any log
parents: ip access-list test
replace: block
after: exit
provider: "{{ eapi }}"
match: line
register: result
- assert:
that:
- "result.changed == true"
- "'ip access-list test' in result.updates"
- "'10 permit ip host 1.1.1.1 any log' in result.updates"
- "'20 permit ip host 2.2.2.2 any log' in result.updates"
- "'30 permit ip host 3.3.3.3 any log' in result.updates"
- "'40 permit ip host 4.4.4.4 any log' in result.updates"
- assert:
that:
- "result.changed == true"
- "'ip access-list test' in result.updates"
- "'10 permit ip host 1.1.1.1 any log' in result.updates"
- "'20 permit ip host 2.2.2.2 any log' in result.updates"
- "'30 permit ip host 3.3.3.3 any log' in result.updates"
- "'40 permit ip host 4.4.4.4 any log' in result.updates"
- name: check sub level command using block replace
eos_config:
lines:
- 10 permit ip host 1.1.1.1 any log
- 20 permit ip host 2.2.2.2 any log
- 30 permit ip host 3.3.3.3 any log
- 40 permit ip host 4.4.4.4 any log
parents: ip access-list test
replace: block
after: exit
provider: "{{ eapi }}"
match: exact
register: result
- name: check sub level command using block replace
eos_config:
lines:
- 10 permit ip host 1.1.1.1 any log
- 20 permit ip host 2.2.2.2 any log
- 30 permit ip host 3.3.3.3 any log
- 40 permit ip host 4.4.4.4 any log
parents: ip access-list test
replace: block
after: exit
provider: "{{ eapi }}"
match: exact
register: result
- name: teardown
eos_config:
lines: no ip access-list test
match: none
provider: "{{ eapi }}"
always:
- name: teardown
eos_config:
lines: no ip access-list test
match: none
provider: "{{ eapi }}"
- debug: msg="END cli/common_config.yaml on connection={{ ansible_connection }}"

View File

@@ -1,26 +0,0 @@
---
- debug: msg="START cli/misc_tests.yaml on connection={{ ansible_connection }}"
# test become and unbecome
- block:
- name: command that does require become (should fail)
eos_command:
commands: show running-config
provider: "{{ eapi }}"
become: no
ignore_errors: yes
register: result
- assert:
that:
- 'result.failed == true'
- '"privileged mode required" in result.module_stderr'
- name: command that doesn't require become
eos_command:
commands: show uptime
provider: "{{ eapi }}"
become: no
when: "ansible_connection != 'local'"

View File

@@ -9,8 +9,8 @@
- name: set test_items
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
- name: run test case (connection=local)
include: "{{ test_case_to_run }} ansible_connection=local"
- name: run test cases (connection=httpapi)
include: "{{ test_case_to_run }} ansible_connection=httpapi"
with_items: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run

View File

@@ -9,8 +9,8 @@
- name: set test_items
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
- name: run test case (connection=local)
include: "{{ test_case_to_run }} ansible_connection=local"
- name: run test cases (connection=httpapi)
include: "{{ test_case_to_run }} ansible_connection=httpapi"
with_items: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run

View File

@@ -1,5 +1,5 @@
---
- name: collect common nxapi test cases
- name: collect common test cases
find:
paths: "{{ role_path }}/tests/common"
patterns: "{{ testcase }}.yaml"
@@ -20,8 +20,8 @@
- name: set test_items
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
- name: run test cases (connection=local)
include: "{{ test_case_to_run }} ansible_connection=local connection={{ nxapi }}"
- name: run test cases (connection=httpapi)
include: "{{ test_case_to_run }} ansible_connection=httpapi"
with_items: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run

View File

@@ -10,7 +10,6 @@
server_timeout: default
directed_request: default
state: default
provider: "{{ connection }}"
ignore_errors: yes
- block:
@@ -18,7 +17,6 @@
nxos_aaa_server: &configure_default_radius
server_type: radius
state: present
provider: "{{ connection }}"
register: result
- name: "Check Idempotence"
@@ -36,7 +34,6 @@
deadtime: 20
directed_request: enabled
state: present
provider: "{{ connection }}"
register: result
- assert: &true
@@ -61,7 +58,6 @@
encrypt_type: 7
global_key: test_key
state: present
provider: "{{ connection }}"
register: result
- assert: *true
@@ -80,7 +76,6 @@
global_key: default
directed_request: default
state: default
provider: "{{ connection }}"
register: result
- assert: *true

View File

@@ -7,7 +7,6 @@
nxos_feature:
feature: tacacs+
state: enabled
provider: "{{ connection }}"
- name: "Setup"
nxos_aaa_server: &remove
@@ -16,7 +15,6 @@
server_timeout: default
directed_request: default
state: default
provider: "{{ connection }}"
ignore_errors: yes
- block:
@@ -24,7 +22,6 @@
nxos_aaa_server: &configure_default_tacacs
server_type: tacacs
state: present
provider: "{{ connection }}"
register: result
- name: "Check Idempotence"
@@ -42,7 +39,6 @@
deadtime: 20
directed_request: enabled
state: present
provider: "{{ connection }}"
register: result
- assert: &true
@@ -67,7 +63,6 @@
encrypt_type: 7
global_key: test_key
state: present
provider: "{{ connection }}"
register: result
- assert: *true
@@ -86,7 +81,6 @@
global_key: default
directed_request: default
state: default
provider: "{{ connection }}"
register: result
- assert: *true
@@ -111,6 +105,5 @@
nxos_feature:
feature: tacacs+
state: disabled
provider: "{{ connection }}"
- debug: msg="END connection={{ ansible_connection }} nxos_aaa_server tacacs.yaml sanity test"

View File

@@ -1,5 +1,5 @@
---
- name: collect common nxapi test cases
- name: collect common test cases
find:
paths: "{{ role_path }}/tests/common"
patterns: "{{ testcase }}.yaml"
@@ -20,8 +20,8 @@
- name: set test_items
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
- name: run test cases (connection=local)
include: "{{ test_case_to_run }} ansible_connection=local connection={{ nxapi }}"
- name: run test cases (connection=httpapi)
include: "{{ test_case_to_run }} ansible_connection=httpapi"
with_items: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run

View File

@@ -8,7 +8,6 @@
server_type: radius
address: 8.8.8.8
state: absent
provider: "{{ connection }}"
ignore_errors: yes
- block:
@@ -17,7 +16,6 @@
server_type: radius
address: 8.8.8.8
state: present
provider: "{{ connection }}"
register: result
- assert: &true
@@ -52,7 +50,6 @@
auth_port: 2083
acct_port: 2084
state: present
provider: "{{ connection }}"
register: result
- assert: *true
@@ -71,7 +68,6 @@
auth_port: 1000
acct_port: default
state: present
provider: "{{ connection }}"
register: result
- assert: *true
@@ -92,7 +88,6 @@
encrypt_type: 0
key: hello
state: present
provider: "{{ connection }}"
register: result
- assert: *true
@@ -119,7 +114,6 @@
encrypt_type: 7
key: hello
state: present
provider: "{{ connection }}"
register: result
- assert: *true
@@ -140,7 +134,6 @@
encrypt_type: 7
key: default
state: present
provider: "{{ connection }}"
register: result
- assert: *true
@@ -160,7 +153,6 @@
acct_port: default
key: default
state: present
provider: "{{ connection }}"
register: result
- assert: *true

View File

@@ -7,14 +7,12 @@
nxos_feature:
feature: tacacs+
state: enabled
provider: "{{ connection }}"
- name: "Setup"
nxos_aaa_server_host: &remove
server_type: tacacs
address: 8.8.8.8
state: absent
provider: "{{ connection }}"
ignore_errors: yes
- block:
@@ -24,7 +22,6 @@
server_type: tacacs
address: 8.8.8.8
state: present
provider: "{{ connection }}"
register: result
- assert: &true
@@ -58,7 +55,6 @@
host_timeout: 25
tacacs_port: 89
state: present
provider: "{{ connection }}"
register: result
- assert: *true
@@ -76,7 +72,6 @@
host_timeout: default
tacacs_port: 100
state: present
provider: "{{ connection }}"
register: result
- assert: *true
@@ -96,7 +91,6 @@
encrypt_type: 0
key: hello
state: present
provider: "{{ connection }}"
register: result
- assert: *true
@@ -122,7 +116,6 @@
encrypt_type: 7
key: hello
state: present
provider: "{{ connection }}"
register: result
- assert: *true
@@ -142,7 +135,6 @@
encrypt_type: 7
key: default
state: present
provider: "{{ connection }}"
register: result
- assert: *true
@@ -161,7 +153,6 @@
tacacs_port: default
key: default
state: present
provider: "{{ connection }}"
register: result
- assert: *true
@@ -186,6 +177,5 @@
nxos_feature:
feature: tacacs+
state: disabled
provider: "{{ connection }}"
- debug: msg="END connection={{ ansible_connection }} nxos_aaa_server_host tacacs.yaml sanity test"

View File

@@ -1,5 +1,5 @@
---
- name: collect common nxapi test cases
- name: collect common test cases
find:
paths: "{{ role_path }}/tests/common"
patterns: "{{ testcase }}.yaml"
@@ -20,8 +20,8 @@
- name: set test_items
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
- name: run test cases (connection=local)
include: "{{ test_case_to_run }} ansible_connection=local connection={{ nxapi }}"
- name: run test cases (connection=httpapi)
include: "{{ test_case_to_run }} ansible_connection=httpapi"
with_items: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run

View File

@@ -11,7 +11,6 @@
name: TEST_ACL
seq: 10
state: delete_acl
provider: "{{ connection }}"
ignore_errors: yes
- name: "Configure ACE10"
@@ -38,7 +37,6 @@
syn: 'enable'
time_range: "{{time_range|default(omit)}}"
state: present
provider: "{{ connection }}"
register: result
- assert: &true
@@ -77,7 +75,6 @@
syn: 'enable'
time_range: "{{time_range|default(omit)}}"
state: present
provider: "{{ connection }}"
register: result
- assert: *true
@@ -95,7 +92,6 @@
action: remark
remark: test_remark
state: present
provider: "{{ connection }}"
register: result
- assert: *true
@@ -113,7 +109,6 @@
action: remark
remark: changed_remark
state: present
provider: "{{ connection }}"
register: result
- assert: *true
@@ -135,7 +130,6 @@
fragments: enable
precedence: network
state: present
provider: "{{ connection }}"
register: result
- assert: *true
@@ -156,7 +150,6 @@
dest: any
precedence: network
state: present
provider: "{{ connection }}"
register: result
- assert: *true
@@ -179,7 +172,6 @@
dest: any
precedence: network
state: present
provider: "{{ connection }}"
register: result
- assert: *true
@@ -200,7 +192,6 @@
dest: any
precedence: network
state: present
provider: "{{ connection }}"
register: result
- assert: *true
@@ -216,7 +207,6 @@
name: TEST_ACL
seq: 30
state: absent
provider: "{{ connection }}"
register: result
- assert: *true

View File

@@ -1,5 +1,5 @@
---
- name: collect common nxapi test cases
- name: collect common test cases
find:
paths: "{{ role_path }}/tests/common"
patterns: "{{ testcase }}.yaml"
@@ -20,8 +20,8 @@
- name: set test_items
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
- name: run test cases (connection=local)
include: "{{ test_case_to_run }} ansible_connection=local connection={{ nxapi }}"
- name: run test cases (connection=httpapi)
include: "{{ test_case_to_run }} ansible_connection=httpapi"
with_items: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run

View File

@@ -13,7 +13,6 @@
nxos_config: &default
lines:
- "default interface {{ intname }}"
provider: "{{ connection }}"
ignore_errors: yes
- name: "Setup: Put interface into no switch port mode"
@@ -23,7 +22,6 @@
parents:
- "interface {{ intname }}"
match: none
provider: "{{ connection }}"
ignore_errors: yes
- name: "Setup: Cleanup possibly existing acl"
@@ -31,7 +29,6 @@
name: ANSIBLE_ACL
seq: 10
state: delete_acl
provider: "{{ connection }}"
ignore_errors: yes
- name: Configure Supporting ACL
@@ -42,7 +39,6 @@
proto: tcp
src: 1.1.1.1/24
dest: any
provider: "{{ connection }}"
- block:
- name: Configure acl interface egress
@@ -51,7 +47,6 @@
interface: "{{ intname }}"
direction: egress
state: present
provider: "{{ connection }}"
register: result
- assert: &true
@@ -72,7 +67,6 @@
interface: "{{ intname }}"
direction: ingress
state: present
provider: "{{ connection }}"
register: result
- assert: *true
@@ -89,7 +83,6 @@
interface: "{{ intname }}"
direction: egress
state: absent
provider: "{{ connection }}"
register: result
- assert: *true
@@ -106,7 +99,6 @@
interface: "{{ intname }}"
direction: ingress
state: absent
provider: "{{ connection }}"
register: result
- assert: *true

View File

@@ -1,5 +1,5 @@
---
- name: collect common nxapi test cases
- name: collect common test cases
find:
paths: "{{ role_path }}/tests/common"
patterns: "{{ testcase }}.yaml"
@@ -20,8 +20,8 @@
- name: set test_items
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
- name: run test cases (connection=local)
include: "{{ test_case_to_run }} ansible_connection=local connection={{ nxapi }}"
- name: run test cases (connection=httpapi)
include: "{{ test_case_to_run }} ansible_connection=httpapi"
with_items: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run

View File

@@ -6,7 +6,6 @@
nxos_banner: &remove
banner: exec
state: absent
provider: "{{ cli }}"
- name: Set exec
nxos_banner: &exec
@@ -16,7 +15,6 @@
that has a multiline
string
state: present
provider: "{{ cli }}"
register: result
- assert:

View File

@@ -5,7 +5,6 @@
nxos_banner: &remove
banner: motd
state: absent
provider: "{{ cli }}"
- name: Set motd
nxos_banner: &motd
@@ -15,7 +14,6 @@
that has a multiline
string
state: present
provider: "{{ cli }}"
register: result
- assert:

View File

@@ -8,13 +8,11 @@
Junk motd banner
over multiple lines
state: present
provider: "{{ cli }}"
- name: remove motd
nxos_banner: &rm-motd
banner: motd
state: absent
provider: "{{ cli }}"
register: result
- assert:

View File

@@ -6,7 +6,6 @@
nxos_banner: &remove
banner: exec
state: absent
provider: "{{ nxapi }}"
- name: Set exec
nxos_banner: &exec
@@ -16,7 +15,6 @@
that has a multiline
string
state: present
provider: "{{ nxapi }}"
register: result
- assert:

View File

@@ -5,7 +5,6 @@
nxos_banner: &remove
banner: motd
state: absent
provider: "{{ nxapi }}"
- name: Set motd
nxos_banner: &motd
@@ -15,7 +14,6 @@
that has a multiline
string
state: present
provider: "{{ nxapi }}"
register: result
- assert:

View File

@@ -8,13 +8,11 @@
Junk motd banner
over multiple lines
state: present
provider: "{{ nxapi }}"
- name: remove motd
nxos_banner: &rm-motd
banner: motd
state: absent
provider: "{{ nxapi }}"
register: result
- assert:

View File

@@ -1,5 +1,5 @@
---
- name: collect common nxapi test cases
- name: collect common test cases
find:
paths: "{{ role_path }}/tests/common"
patterns: "{{ testcase }}.yaml"
@@ -20,8 +20,8 @@
- name: set test_items
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
- name: run test cases (connection=local)
include: "{{ test_case_to_run }} ansible_connection=local connection={{ nxapi }}"
- name: run test cases (connection=httpapi)
include: "{{ test_case_to_run }} ansible_connection=httpapi"
with_items: "{{ test_items }}"
loop_control:
loop_var: test_case_to_run

Some files were not shown because too many files have changed in this diff Show More