a568e018be
* nxos_ospf_vrf:sanity: ignore no default-metric idempotence tests when I7 images This is a sanity test cleanup to handle a known image bug with (N9K) I7 images. The I7 image rejects 'no default-metric' configs, so we're skipping the idempotence tests that involve this bug. Tested on N9K images: 9.2(2), 7.0(3)I7, 7.0(3)I2 * simplify check for I7
139 lines
3.1 KiB
YAML
139 lines
3.1 KiB
YAML
---
|
|
- debug: msg="START connection={{ ansible_connection }} nxos_ospf_vrf sanity test"
|
|
- debug: msg="Using provider={{ connection.transport }}"
|
|
when: ansible_connection == "local"
|
|
|
|
- set_fact: def_met_default="default"
|
|
# CSCvi74876 Cannot remove default-metric
|
|
when: imagetag is not search("I7")
|
|
|
|
- name: "Setup: disable feature OSPF for initial cleanup"
|
|
nxos_feature:
|
|
feature: ospf
|
|
provider: "{{ connection }}"
|
|
state: disabled
|
|
ignore_errors: yes
|
|
|
|
- name: "Enable feature OSPF"
|
|
nxos_feature:
|
|
feature: ospf
|
|
provider: "{{ connection }}"
|
|
state: enabled
|
|
ignore_errors: yes
|
|
|
|
- block:
|
|
- name: Configure ospf vrf
|
|
nxos_ospf_vrf: &config
|
|
ospf: 1
|
|
router_id: 192.0.2.1
|
|
timer_throttle_spf_start: 50
|
|
timer_throttle_spf_hold: 1000
|
|
timer_throttle_spf_max: 2000
|
|
timer_throttle_lsa_start: 60
|
|
timer_throttle_lsa_hold: 1100
|
|
timer_throttle_lsa_max: 3000
|
|
vrf: test
|
|
passive_interface: true
|
|
provider: "{{ connection }}"
|
|
state: present
|
|
register: result
|
|
|
|
- assert: &true
|
|
that:
|
|
- "result.changed == true"
|
|
|
|
- name: "Check Idempotence"
|
|
nxos_ospf_vrf: *config
|
|
register: result
|
|
|
|
- assert: &false
|
|
that:
|
|
- "result.changed == false"
|
|
|
|
- name: Configure ospf vrf
|
|
nxos_ospf_vrf: &config1
|
|
ospf: 2
|
|
auto_cost: 5000
|
|
timer_throttle_spf_hold: 1100
|
|
timer_throttle_lsa_hold: 2220
|
|
timer_throttle_lsa_max: 2222
|
|
default_metric: 1000
|
|
log_adjacency: log
|
|
vrf: default
|
|
passive_interface: true
|
|
provider: "{{ connection }}"
|
|
state: present
|
|
register: result
|
|
|
|
- assert: *true
|
|
|
|
- name: "Check Idempotence"
|
|
nxos_ospf_vrf: *config1
|
|
register: result
|
|
|
|
- assert: *false
|
|
|
|
- name: Configure ospf vrf
|
|
nxos_ospf_vrf: &config2
|
|
ospf: 2
|
|
auto_cost: default
|
|
default_metric: "{{def_met_default|default(omit)}}"
|
|
log_adjacency: default
|
|
timer_throttle_spf_hold: default
|
|
passive_interface: false
|
|
vrf: default
|
|
provider: "{{ connection }}"
|
|
state: present
|
|
register: result
|
|
|
|
- assert: *true
|
|
|
|
- name: "Check Idempotence"
|
|
nxos_ospf_vrf: *config2
|
|
register: result
|
|
|
|
- assert: *false
|
|
|
|
- name: Unconfigure ospf vrf
|
|
nxos_ospf_vrf: &unconfig1
|
|
ospf: 2
|
|
vrf: default
|
|
provider: "{{ connection }}"
|
|
state: absent
|
|
register: result
|
|
|
|
- assert: *true
|
|
|
|
- name: "Check Idempotence"
|
|
nxos_ospf_vrf: *unconfig1
|
|
register: result
|
|
|
|
- assert: *false
|
|
when: def_met_default is defined
|
|
|
|
- name: Unconfigure ospf vrf
|
|
nxos_ospf_vrf: &unconfig
|
|
ospf: 1
|
|
vrf: test
|
|
provider: "{{ connection }}"
|
|
state: absent
|
|
register: result
|
|
|
|
- assert: *true
|
|
|
|
- name: "Check Idempotence"
|
|
nxos_ospf_vrf: *unconfig
|
|
register: result
|
|
|
|
- assert: *false
|
|
when: def_met_default is defined
|
|
|
|
always:
|
|
- name: "Disable feature OSPF"
|
|
nxos_feature:
|
|
feature: ospf
|
|
provider: "{{ connection }}"
|
|
state: disabled
|
|
ignore_errors: yes
|
|
|
|
- debug: msg="END connection={{ ansible_connection }} nxos_ospf_vrf sanity test"
|