mirror of https://github.com/ansible/ansible.git
nxos: merge nxapi/cli tests - acl, acl_interface, banner, bgp (#28234)
* refactored nxos_acl * refactor nxos_acl_interface * refactor nxos_banner * refactor nxos_bgp * fix typopull/26558/merge
parent
2f7f23c9ab
commit
9556e945eb
@ -1,15 +1,25 @@
|
||||
---
|
||||
- name: collect all cli test cases
|
||||
- name: collect common cli test cases
|
||||
find:
|
||||
paths: "{{ role_path }}/tests/cli"
|
||||
paths: "{{ role_path }}/tests/common"
|
||||
patterns: "{{ testcase }}.yaml"
|
||||
register: test_cases
|
||||
|
||||
- name: collect cli test cases
|
||||
find:
|
||||
paths: "{{ role_path }}/tests/cli"
|
||||
patterns: "{{ testcase }}.yaml"
|
||||
register: cli_cases
|
||||
|
||||
- set_fact:
|
||||
test_cases:
|
||||
files: "{{ test_cases.files }} + {{ cli_cases.files }}"
|
||||
|
||||
- name: set test_items
|
||||
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
|
||||
|
||||
- name: run test case
|
||||
include: "{{ test_case_to_run }}"
|
||||
include: "{{ test_case_to_run }} connection={{ cli }}"
|
||||
with_items: "{{ test_items }}"
|
||||
loop_control:
|
||||
loop_var: test_case_to_run
|
||||
|
@ -1,48 +0,0 @@
|
||||
---
|
||||
- debug: msg="START TRANSPORT:CLI nxos_acl sanity test"
|
||||
|
||||
- name: "Setup: Cleanup possibly existing acl."
|
||||
nxos_acl: &remove
|
||||
name: TEST_ACL
|
||||
seq: 10
|
||||
state: absent
|
||||
provider: "{{ cli }}"
|
||||
ignore_errors: yes
|
||||
|
||||
- name: "Configure ACL"
|
||||
nxos_acl: &configure
|
||||
name: TEST_ACL
|
||||
seq: 10
|
||||
action: permit
|
||||
proto: tcp
|
||||
src: 1.1.1.1/24
|
||||
dest: any
|
||||
state: present
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert: &true
|
||||
that:
|
||||
- "result.changed == true"
|
||||
|
||||
- name: "Check Idempotence"
|
||||
nxos_acl: *configure
|
||||
register: result
|
||||
|
||||
- assert: &false
|
||||
that:
|
||||
- "result.changed == false"
|
||||
|
||||
- name: "Remove ACL"
|
||||
nxos_acl: *remove
|
||||
register: result
|
||||
|
||||
- assert: *true
|
||||
|
||||
- name: "Check Idempotence"
|
||||
nxos_acl: *remove
|
||||
register: result
|
||||
|
||||
- assert: *false
|
||||
|
||||
- debug: msg="END TRANSPORT:CLI nxos_acl sanity test"
|
@ -1,15 +1,25 @@
|
||||
---
|
||||
- name: collect all cli test cases
|
||||
- name: collect common cli test cases
|
||||
find:
|
||||
paths: "{{ role_path }}/tests/cli"
|
||||
paths: "{{ role_path }}/tests/common"
|
||||
patterns: "{{ testcase }}.yaml"
|
||||
register: test_cases
|
||||
|
||||
- name: collect cli test cases
|
||||
find:
|
||||
paths: "{{ role_path }}/tests/cli"
|
||||
patterns: "{{ testcase }}.yaml"
|
||||
register: cli_cases
|
||||
|
||||
- set_fact:
|
||||
test_cases:
|
||||
files: "{{ test_cases.files }} + {{ cli_cases.files }}"
|
||||
|
||||
- name: set test_items
|
||||
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
|
||||
|
||||
- name: run test case
|
||||
include: "{{ test_case_to_run }}"
|
||||
include: "{{ test_case_to_run }} connection={{ cli }}"
|
||||
with_items: "{{ test_items }}"
|
||||
loop_control:
|
||||
loop_var: test_case_to_run
|
||||
|
@ -1,118 +0,0 @@
|
||||
---
|
||||
- debug: msg="START TRANSPORT:NXAPI nxos_acl_interface sanity test"
|
||||
|
||||
# Select interface for test
|
||||
- set_fact: intname="{{ nxos_int1 }}"
|
||||
|
||||
- name: "Interface selected for this test"
|
||||
debug: msg="{{ intname }}"
|
||||
|
||||
- name: "Setup: Put interface into a default state"
|
||||
nxos_config: &default
|
||||
lines:
|
||||
- "default interface {{ intname }}"
|
||||
provider: "{{ nxapi }}"
|
||||
ignore_errors: yes
|
||||
|
||||
- name: "Setup: Cleanup possibly existing acl"
|
||||
nxos_acl: &remove
|
||||
name: ANSIBLE_ACL
|
||||
seq: 10
|
||||
state: absent
|
||||
provider: "{{ nxapi }}"
|
||||
ignore_errors: yes
|
||||
|
||||
- name: Configure Supporting ACL
|
||||
nxos_acl:
|
||||
name: ANSIBLE_ACL
|
||||
seq: 10
|
||||
action: permit
|
||||
proto: tcp
|
||||
src: 1.1.1.1/24
|
||||
dest: any
|
||||
provider: "{{ nxapi }}"
|
||||
|
||||
- block:
|
||||
- name: Configure acl interface egress
|
||||
nxos_acl_interface: &configure_egr
|
||||
name: ANSIBLE_ACL
|
||||
interface: "{{ intname }}"
|
||||
direction: egress
|
||||
state: present
|
||||
provider: "{{ nxapi }}"
|
||||
register: result
|
||||
|
||||
- assert: &true
|
||||
that:
|
||||
- "result.changed == true"
|
||||
|
||||
- name: "Check Idempotence egress"
|
||||
nxos_acl_interface: *configure_egr
|
||||
register: result
|
||||
|
||||
- assert: &false
|
||||
that:
|
||||
- "result.changed == false"
|
||||
|
||||
- name: Configure acl interface ingress
|
||||
nxos_acl_interface: &configure_ingr
|
||||
name: ANSIBLE_ACL
|
||||
interface: "{{ intname }}"
|
||||
direction: ingress
|
||||
state: present
|
||||
provider: "{{ nxapi }}"
|
||||
register: result
|
||||
|
||||
- assert: *true
|
||||
|
||||
- name: "Check Idempotence ingress"
|
||||
nxos_acl_interface: *configure_ingr
|
||||
register: result
|
||||
|
||||
- assert: *false
|
||||
|
||||
- name: Cleanup acl interface egress
|
||||
nxos_acl_interface: &cleanup_egr
|
||||
name: ANSIBLE_ACL
|
||||
interface: "{{ intname }}"
|
||||
direction: egress
|
||||
state: absent
|
||||
provider: "{{ nxapi }}"
|
||||
register: result
|
||||
|
||||
- assert: *true
|
||||
|
||||
- name: "Check Idempotence egress cleanup"
|
||||
nxos_acl_interface: *cleanup_egr
|
||||
register: result
|
||||
|
||||
- assert: *false
|
||||
|
||||
- name: Cleanup acl interface ingress
|
||||
nxos_acl_interface: &cleanup_ingr
|
||||
name: ANSIBLE_ACL
|
||||
interface: "{{ intname }}"
|
||||
direction: ingress
|
||||
state: absent
|
||||
provider: "{{ nxapi }}"
|
||||
register: result
|
||||
|
||||
- assert: *true
|
||||
|
||||
- name: "Check Idempotence ingress cleanup"
|
||||
nxos_acl_interface: *cleanup_ingr
|
||||
register: result
|
||||
|
||||
- assert: *false
|
||||
|
||||
rescue:
|
||||
- name: Put test interface into default state.
|
||||
nxos_config: *default
|
||||
ignore_errors: yes
|
||||
|
||||
- name: Remove possible configured ACL
|
||||
nxos_acl: *remove
|
||||
ignore_errors: yes
|
||||
|
||||
always:
|
||||
- debug: msg="END TRANSPORT:NXAPI nxos_acl_interface sanity test"
|
@ -1,15 +1,25 @@
|
||||
---
|
||||
- name: collect all cli test cases
|
||||
- name: collect common cli test cases
|
||||
find:
|
||||
paths: "{{ role_path }}/tests/cli"
|
||||
paths: "{{ role_path }}/tests/common"
|
||||
patterns: "{{ testcase }}.yaml"
|
||||
register: test_cases
|
||||
|
||||
- name: collect cli test cases
|
||||
find:
|
||||
paths: "{{ role_path }}/tests/cli"
|
||||
patterns: "{{ testcase }}.yaml"
|
||||
register: cli_cases
|
||||
|
||||
- set_fact:
|
||||
test_cases:
|
||||
files: "{{ test_cases.files }} + {{ cli_cases.files }}"
|
||||
|
||||
- name: set test_items
|
||||
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
|
||||
|
||||
- name: run test case
|
||||
include: "{{ test_case_to_run }}"
|
||||
include: "{{ test_case_to_run }} connection={{ cli }}"
|
||||
with_items: "{{ test_items }}"
|
||||
loop_control:
|
||||
loop_var: test_case_to_run
|
||||
|
@ -1,45 +0,0 @@
|
||||
---
|
||||
- name: setup - remove exec
|
||||
nxos_banner:
|
||||
banner: exec
|
||||
state: absent
|
||||
provider: "{{ cli }}"
|
||||
|
||||
- name: Set exec
|
||||
nxos_banner:
|
||||
banner: exec
|
||||
text: |
|
||||
this is my exec banner
|
||||
that has a multiline
|
||||
string
|
||||
state: present
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- debug:
|
||||
msg: "{{ result }}"
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'banner exec @\nthis is my exec banner\nthat has a multiline\nstring\n@' in result.commands"
|
||||
|
||||
- name: Set exec again (idempotent)
|
||||
nxos_banner:
|
||||
banner: exec
|
||||
text: |
|
||||
this is my exec banner
|
||||
that has a multiline
|
||||
string
|
||||
state: present
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == false"
|
||||
- "result.commands | length == 0"
|
||||
|
||||
# FIXME add in tests for everything defined in docs
|
||||
# FIXME Test state:absent + test:
|
||||
# FIXME Without powers ensure "privileged mode required"
|
@ -1,46 +0,0 @@
|
||||
---
|
||||
- name: setup - remove motd
|
||||
nxos_banner:
|
||||
banner: motd
|
||||
state: absent
|
||||
provider: "{{ cli }}"
|
||||
|
||||
- name: Set motd
|
||||
nxos_banner:
|
||||
banner: motd
|
||||
text: |
|
||||
this is my motd banner
|
||||
that has a multiline
|
||||
string
|
||||
state: present
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- debug:
|
||||
msg: "{{ result }}"
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'banner motd @\nthis is my motd banner\nthat has a multiline\nstring\n@' in result.commands"
|
||||
|
||||
- name: Set motd again (idempotent)
|
||||
nxos_banner:
|
||||
banner: motd
|
||||
text: |
|
||||
this is my motd banner
|
||||
that has a multiline
|
||||
string
|
||||
state: present
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == false"
|
||||
- "result.commands | length == 0"
|
||||
|
||||
|
||||
# FIXME add in tests for everything defined in docs
|
||||
# FIXME Test state:absent + test:
|
||||
# FIXME Without powers ensure "privileged mode required"
|
@ -1,41 +0,0 @@
|
||||
---
|
||||
- name: Setup
|
||||
nxos_banner:
|
||||
banner: exec
|
||||
text: |
|
||||
Junk exec banner
|
||||
over multiple lines
|
||||
state: present
|
||||
provider: "{{ nxapi }}"
|
||||
|
||||
- name: remove exec
|
||||
nxos_banner:
|
||||
banner: exec
|
||||
state: absent
|
||||
provider: "{{ nxapi }}"
|
||||
register: result
|
||||
|
||||
- debug:
|
||||
msg: "{{ result }}"
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == true"
|
||||
- "'no banner exec' in result.commands"
|
||||
|
||||
- name: remove exec (idempotent)
|
||||
nxos_banner:
|
||||
banner: exec
|
||||
state: absent
|
||||
provider: "{{ nxapi }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- "result.changed == false"
|
||||
- "result.commands | length == 0"
|
||||
|
||||
|
||||
# FIXME add in tests for everything defined in docs
|
||||
# FIXME Test state:absent + test:
|
||||
# FIXME Without powers ensure "privileged mode required"
|
@ -1,15 +1,25 @@
|
||||
---
|
||||
- name: collect all cli test cases
|
||||
- name: collect common cli test cases
|
||||
find:
|
||||
paths: "{{ role_path }}/tests/cli"
|
||||
paths: "{{ role_path }}/tests/common"
|
||||
patterns: "{{ testcase }}.yaml"
|
||||
register: test_cases
|
||||
|
||||
- name: collect cli test cases
|
||||
find:
|
||||
paths: "{{ role_path }}/tests/cli"
|
||||
patterns: "{{ testcase }}.yaml"
|
||||
register: cli_cases
|
||||
|
||||
- set_fact:
|
||||
test_cases:
|
||||
files: "{{ test_cases.files }} + {{ cli_cases.files }}"
|
||||
|
||||
- name: set test_items
|
||||
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
|
||||
|
||||
- name: run test case
|
||||
include: "{{ test_case_to_run }}"
|
||||
include: "{{ test_case_to_run }} connection={{ cli }}"
|
||||
with_items: "{{ test_items }}"
|
||||
loop_control:
|
||||
loop_var: test_case_to_run
|
||||
|
@ -1,135 +0,0 @@
|
||||
---
|
||||
- debug: msg="START TRANSPORT:NXAPI nxos_bgp sanity test"
|
||||
|
||||
- set_fact: neighbor_down_fib_accelerate="true"
|
||||
when: (titanium is defined) and not ((titanium | search('true')))
|
||||
|
||||
- set_fact: reconnect_interval="55"
|
||||
when: (titanium is defined) and not ((titanium | search('true')))
|
||||
|
||||
- name: "Enable feature BGP"
|
||||
nxos_feature:
|
||||
feature: bgp
|
||||
state: enabled
|
||||
provider: "{{ nxapi }}"
|
||||
ignore_errors: yes
|
||||
|
||||
- name: "Setup"
|
||||
nxos_bgp: &remove
|
||||
asn: 65535
|
||||
state: absent
|
||||
provider: "{{ nxapi }}"
|
||||
ignore_errors: yes
|
||||
register: result
|
||||
|
||||
- block:
|
||||
- name: "Configure BGP defaults"
|
||||
nxos_bgp: &configure_default
|
||||
asn: 65535
|
||||
router_id: 1.1.1.1
|
||||
state: present
|
||||
provider: "{{ nxapi }}"
|
||||
register: result
|
||||
|
||||
- assert: &true
|
||||
that:
|
||||
- "result.changed == true"
|
||||
|
||||
- name: "Check Idempotence"
|
||||
nxos_bgp: *configure_default
|
||||
register: result
|
||||
|
||||
- assert: &false
|
||||
that:
|
||||
- "result.changed == false"
|
||||
|
||||
- name: "Remove BGP"
|
||||
nxos_bgp: *remove
|
||||
register: result
|
||||
|
||||
- assert: *true
|
||||
|
||||
- name: "Check Idempotence"
|
||||
nxos_bgp: *remove
|
||||
register: result
|
||||
|
||||
- assert: *false
|
||||
|
||||
- name: "Configure BGP non defaults"
|
||||
nxos_bgp: &configure_non_default
|
||||
asn: 65535
|
||||
router_id: 1.1.1.1
|
||||
bestpath_always_compare_med: true
|
||||
bestpath_aspath_multipath_relax: true
|
||||
bestpath_compare_routerid: true
|
||||
bestpath_cost_community_ignore: true
|
||||
bestpath_med_confed: true
|
||||
bestpath_med_missing_as_worst: true
|
||||
bestpath_med_non_deterministic: true
|
||||
cluster_id: 10.0.0.1
|
||||
confederation_id: 99
|
||||
disable_policy_batching: true
|
||||
enforce_first_as: false
|
||||
fast_external_fallover: false
|
||||
flush_routes: true
|
||||
graceful_restart_helper: true
|
||||
graceful_restart_timers_restart: 130
|
||||
graceful_restart_timers_stalepath_time: 310
|
||||
isolate: false
|
||||
log_neighbor_changes: true
|
||||
maxas_limit: 50
|
||||
neighbor_down_fib_accelerate: "{{neighbor_down_fib_accelerate|default(omit)}}"
|
||||
reconnect_interval: "{{reconnect_interval|default(omit)}}"
|
||||
shutdown: true
|
||||
timer_bestpath_limit: 255
|
||||
timer_bgp_hold: 110
|
||||
timer_bgp_keepalive: 45
|
||||
event_history_cli: size_medium
|
||||
event_history_detail: size_large
|
||||
event_history_events: size_medium
|
||||
event_history_periodic: size_small
|
||||
suppress_fib_pending: true
|
||||
state: present
|
||||
provider: "{{ nxapi }}"
|
||||
register: result
|
||||
|
||||
- assert: *true
|
||||
|
||||
- name: "Check Idempotence"
|
||||
nxos_bgp: *configure_non_default
|
||||
register: result
|
||||
|
||||
- assert: *false
|
||||
|
||||
- name: "Remove BGP"
|
||||
nxos_bgp: *remove
|
||||
register: result
|
||||
|
||||
- assert: *true
|
||||
|
||||
- name: "Check Idempotence"
|
||||
nxos_bgp: *remove
|
||||
register: result
|
||||
|
||||
- assert: *false
|
||||
|
||||
- name: "Disable feature bgp"
|
||||
nxos_feature:
|
||||
feature: bgp
|
||||
state: disabled
|
||||
provider: "{{ nxapi }}"
|
||||
|
||||
rescue:
|
||||
- name: "Cleanup BGP"
|
||||
nxos_bgp: *remove
|
||||
ignore_errors: yes
|
||||
|
||||
- name: "Disable feature bgp"
|
||||
nxos_feature:
|
||||
feature: bgp
|
||||
state: disabled
|
||||
provider: "{{ nxapi }}"
|
||||
ignore_errors: yes
|
||||
|
||||
always:
|
||||
- debug: msg="END TRANSPORT:NXAPI nxos_bgp sanity test"
|
Loading…
Reference in New Issue