Test Role: Adds nxos_pim_rp_address integration test role (#29958)
* Adds nxos_pim_rp_address integration test role for group_list, prefix_list and route_map (cli and nxapi) * * Adds explicit removal of static RP configs to match cli behaviour * * Removes config deletion using nxos_config module (for 2.4 only) * * Attempt short and long delete config command * Add a platform check for N3K for bidir
This commit is contained in:
parent
ff84fc969c
commit
7e58661335
6 changed files with 200 additions and 0 deletions
|
@ -0,0 +1,2 @@
|
|||
---
|
||||
testcase: "*"
|
|
@ -0,0 +1,2 @@
|
|||
dependencies:
|
||||
- prepare_nxos_tests
|
25
test/integration/targets/nxos_pim_rp_address/tasks/cli.yaml
Normal file
25
test/integration/targets/nxos_pim_rp_address/tasks/cli.yaml
Normal file
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
- name: collect common cli test cases
|
||||
find:
|
||||
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 }} connection={{ cli }}"
|
||||
with_items: "{{ test_items }}"
|
||||
loop_control:
|
||||
loop_var: test_case_to_run
|
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
- { include: cli.yaml, tags: ['cli'] }
|
||||
- { include: nxapi.yaml, tags: ['nxapi'] }
|
|
@ -0,0 +1,38 @@
|
|||
---
|
||||
- name: collect common nxapi test cases
|
||||
find:
|
||||
paths: "{{ role_path }}/tests/common"
|
||||
patterns: "{{ testcase }}.yaml"
|
||||
register: test_cases
|
||||
|
||||
- name: collect nxapi test cases
|
||||
find:
|
||||
paths: "{{ role_path }}/tests/nxapi"
|
||||
patterns: "{{ testcase }}.yaml"
|
||||
register: nxapi_cases
|
||||
|
||||
- set_fact:
|
||||
test_cases:
|
||||
files: "{{ test_cases.files }} + {{ nxapi_cases.files }}"
|
||||
|
||||
- name: set test_items
|
||||
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
|
||||
|
||||
- name: enable nxapi
|
||||
nxos_config:
|
||||
lines:
|
||||
- feature nxapi
|
||||
- nxapi http port 80
|
||||
provider: "{{ cli }}"
|
||||
|
||||
- name: run test case
|
||||
include: "{{ test_case_to_run }} connection={{ nxapi }}"
|
||||
with_items: "{{ test_items }}"
|
||||
loop_control:
|
||||
loop_var: test_case_to_run
|
||||
|
||||
- name: disable nxapi
|
||||
nxos_config:
|
||||
lines:
|
||||
- no feature nxapi
|
||||
provider: "{{ cli }}"
|
|
@ -0,0 +1,130 @@
|
|||
---
|
||||
- debug: msg="START {{ connection.transport }} nxos_pim_rp_address sanity"
|
||||
|
||||
- set_fact: bidir="false"
|
||||
when: platform | search('N3K')
|
||||
|
||||
- set_fact: bidircfg='bidir'
|
||||
- set_fact: bidircfg=''
|
||||
when: platform | search('N3K')
|
||||
|
||||
- block:
|
||||
- name: "Disable feature PIM"
|
||||
nxos_feature: &disable_feature
|
||||
feature: pim
|
||||
state: disabled
|
||||
provider: "{{ connection }}"
|
||||
|
||||
- name: "Enable feature PIM"
|
||||
nxos_feature: &enable_feature
|
||||
feature: pim
|
||||
state: enabled
|
||||
provider: "{{ connection }}"
|
||||
|
||||
- name: Configure rp_address + group_list
|
||||
nxos_pim_rp_address: &configgl
|
||||
rp_address: "10.1.1.20"
|
||||
group_list: "224.0.0.0/8"
|
||||
bidir: "{{bidir|default('true')}}"
|
||||
state: present
|
||||
provider: "{{ connection }}"
|
||||
register: result
|
||||
|
||||
- assert: &true
|
||||
that:
|
||||
- "result.changed == true"
|
||||
|
||||
- name: Check idempotence rp_address + group_list
|
||||
nxos_pim_rp_address: *configgl
|
||||
register: result
|
||||
|
||||
- assert: &false
|
||||
that:
|
||||
- "result.changed == false"
|
||||
|
||||
- name: Remove rp_address + group_list using long config
|
||||
#FIXME: Config deletion shall be fixed in 2.5 for platform dependencies.
|
||||
|
||||
# Note: For 2.4 - Use platform specific config delete command as shown below.
|
||||
# Possible options: Identify and use the command that is supported
|
||||
# by your platform under test.
|
||||
|
||||
# no ip pim rp-address <ip address> <group-list|prefix-list|route-map> bidir
|
||||
# no ip pim rp-address <ip address>
|
||||
# no ip pim rp-address <ip address> <group-list|prefix-list|route-map>
|
||||
|
||||
nxos_config:
|
||||
lines: "no ip pim rp-address 10.1.1.20 group-list 224.0.0.0/8 {{ bidircfg }}"
|
||||
provider: "{{ connection }}"
|
||||
ignore_errors: yes
|
||||
|
||||
- name: Remove rp_address + group_list using short config
|
||||
nxos_config:
|
||||
lines: no ip pim rp-address 10.1.1.20
|
||||
provider: "{{ connection }}"
|
||||
ignore_errors: yes
|
||||
|
||||
- name: Configure rp_address + prefix_list
|
||||
nxos_pim_rp_address: &configpl
|
||||
rp_address: "10.1.1.20"
|
||||
prefix_list: "pim_prefix_list"
|
||||
bidir: "{{bidir|default('true')}}"
|
||||
state: present
|
||||
provider: "{{ connection }}"
|
||||
register: result
|
||||
|
||||
- assert: *true
|
||||
|
||||
- name: Check idempotence rp_address + prefix_list
|
||||
nxos_pim_rp_address: *configpl
|
||||
register: result
|
||||
|
||||
- assert: *false
|
||||
|
||||
- name: Remove rp_address + prefix_list using long config
|
||||
nxos_config:
|
||||
lines: "no ip pim rp-address 10.1.1.20 prefix-list pim_prefix_list {{ bidircfg }}"
|
||||
provider: "{{ connection }}"
|
||||
ignore_errors: yes
|
||||
|
||||
- name: Remove rp_address + prefix_list using short config
|
||||
nxos_config:
|
||||
lines: no ip pim rp-address 10.1.1.20
|
||||
provider: "{{ connection }}"
|
||||
ignore_errors: yes
|
||||
|
||||
- name: Configure rp_address + route_map
|
||||
nxos_pim_rp_address: &configrm
|
||||
rp_address: "10.1.1.20"
|
||||
route_map: "pim_routemap"
|
||||
bidir: "{{bidir|default('true')}}"
|
||||
state: present
|
||||
provider: "{{ connection }}"
|
||||
register: result
|
||||
|
||||
- assert: *true
|
||||
|
||||
- name: Check idempotence rp_address + route_map
|
||||
nxos_pim_rp_address: *configrm
|
||||
register: result
|
||||
|
||||
- assert: *false
|
||||
|
||||
- name: Remove rp_address + route_map using long config
|
||||
nxos_config:
|
||||
lines: "no ip pim rp-address 10.1.1.20 route-map pim_routemap {{ bidircfg }}"
|
||||
provider: "{{ connection }}"
|
||||
ignore_errors: yes
|
||||
|
||||
- name: Remove rp_address + route_map using short config
|
||||
nxos_config:
|
||||
lines: no ip pim rp-address 10.1.1.20
|
||||
provider: "{{ connection }}"
|
||||
ignore_errors: yes
|
||||
|
||||
|
||||
always:
|
||||
- name: "Disable feature PIM"
|
||||
nxos_feature: *disable_feature
|
||||
|
||||
- debug: msg="END {{ connection.transport }} nxos_pim_rp_address sanity"
|
Loading…
Reference in a new issue