nxos_lacp: updated tests to handle platforms not supporting lacp system mac command (#64074)
* Updated nxos_lacp tests to handle platforms not supporting lacp system mac command * nxos_lacp: addressing comments * nxos_lacp: Updating image tag search to include more tags
This commit is contained in:
parent
964da2f442
commit
00193f27eb
5 changed files with 93 additions and 8 deletions
|
@ -260,6 +260,9 @@ def dict_diff(base, comparable):
|
||||||
if not isinstance(base, dict):
|
if not isinstance(base, dict):
|
||||||
raise AssertionError("`base` must be of type <dict>")
|
raise AssertionError("`base` must be of type <dict>")
|
||||||
if not isinstance(comparable, dict):
|
if not isinstance(comparable, dict):
|
||||||
|
if comparable is None:
|
||||||
|
comparable = dict()
|
||||||
|
else:
|
||||||
raise AssertionError("`comparable` must be of type <dict>")
|
raise AssertionError("`comparable` must be of type <dict>")
|
||||||
|
|
||||||
updates = dict()
|
updates = dict()
|
||||||
|
|
|
@ -130,9 +130,11 @@ class Lacp(ConfigBase):
|
||||||
del diff[k]
|
del diff[k]
|
||||||
deleted_commands = self.del_all(diff)
|
deleted_commands = self.del_all(diff)
|
||||||
merged_commands = self._state_merged(want, have)
|
merged_commands = self._state_merged(want, have)
|
||||||
if merged_commands:
|
|
||||||
commands.extend(deleted_commands)
|
commands.extend(deleted_commands)
|
||||||
|
if merged_commands:
|
||||||
commands.extend(merged_commands)
|
commands.extend(merged_commands)
|
||||||
|
|
||||||
return commands
|
return commands
|
||||||
|
|
||||||
def _state_merged(self, want, have):
|
def _state_merged(self, want, have):
|
||||||
|
|
|
@ -6,11 +6,19 @@
|
||||||
nxos_feature:
|
nxos_feature:
|
||||||
feature: lacp
|
feature: lacp
|
||||||
|
|
||||||
|
- set_fact:
|
||||||
|
mac: "lacp system-mac 00c1.4c00.bd15 role primary"
|
||||||
|
when: platform is search('N9K') and imagetag is not search('I[2-6]')
|
||||||
|
|
||||||
- block:
|
- block:
|
||||||
- name: Setup
|
- name: Setup
|
||||||
cli_config:
|
cli_config:
|
||||||
config: lacp system-priority 11
|
config: lacp system-priority 11
|
||||||
|
|
||||||
|
- name: Setup
|
||||||
|
cli_config:
|
||||||
|
config: "{{ mac|default(omit) }}"
|
||||||
|
|
||||||
- name: Gather lacp facts
|
- name: Gather lacp facts
|
||||||
nxos_facts: &facts
|
nxos_facts: &facts
|
||||||
gather_subset:
|
gather_subset:
|
||||||
|
@ -29,6 +37,16 @@
|
||||||
- "'no lacp system-priority' in result.commands"
|
- "'no lacp system-priority' in result.commands"
|
||||||
- "result.changed == true"
|
- "result.changed == true"
|
||||||
- "result.commands|length == 1"
|
- "result.commands|length == 1"
|
||||||
|
when: platform is not search('N9K')
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- "ansible_facts.network_resources.lacp == result.before"
|
||||||
|
- "'no lacp system-priority' in result.commands"
|
||||||
|
- "'no lacp system-mac' in result.commands"
|
||||||
|
- "result.changed == true"
|
||||||
|
- "result.commands|length == 2"
|
||||||
|
when: platform is search('N9K') and imagetag is not search('I[2-6]')
|
||||||
|
|
||||||
- name: Gather lacp post facts
|
- name: Gather lacp post facts
|
||||||
nxos_facts: *facts
|
nxos_facts: *facts
|
||||||
|
|
|
@ -6,21 +6,38 @@
|
||||||
nxos_feature:
|
nxos_feature:
|
||||||
feature: lacp
|
feature: lacp
|
||||||
|
|
||||||
|
- set_fact:
|
||||||
|
mac:
|
||||||
|
address: 00c1.4c00.bd15
|
||||||
|
role: primary
|
||||||
|
when: platform is search('N9K') and imagetag is not search('I[2-6]')
|
||||||
|
|
||||||
- block:
|
- block:
|
||||||
- name: Merged
|
- name: Merged
|
||||||
nxos_lacp: &merged
|
nxos_lacp: &merged
|
||||||
config:
|
config:
|
||||||
system:
|
system:
|
||||||
priority: 11
|
priority: 11
|
||||||
|
mac: "{{ mac|default(omit) }}"
|
||||||
state: merged
|
state: merged
|
||||||
register: result
|
register: result
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- "result.before|length == 0"
|
||||||
|
- "result.changed == true"
|
||||||
|
- "'lacp system-priority 11' in result.commands"
|
||||||
|
- "'lacp system-mac 00c1.4c00.bd15 role primary' in result.commands"
|
||||||
|
- "result.commands|length == 2"
|
||||||
|
when: platform is search('N9K') and imagetag is not search('I[2-6]')
|
||||||
|
|
||||||
- assert:
|
- assert:
|
||||||
that:
|
that:
|
||||||
- "result.before|length == 0"
|
- "result.before|length == 0"
|
||||||
- "result.changed == true"
|
- "result.changed == true"
|
||||||
- "'lacp system-priority 11' in result.commands"
|
- "'lacp system-priority 11' in result.commands"
|
||||||
- "result.commands|length == 1"
|
- "result.commands|length == 1"
|
||||||
|
when: platform is not search('N9K')
|
||||||
|
|
||||||
- name: Gather lacp facts
|
- name: Gather lacp facts
|
||||||
nxos_facts:
|
nxos_facts:
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
---
|
---
|
||||||
|
|
||||||
- debug:
|
- debug:
|
||||||
msg: "Start nxos_lacp replaced integration tests connection={{ ansible_connection }}"
|
msg: "Start nxos_lacp replaced integration tests connection={{ ansible_connection }}"
|
||||||
|
|
||||||
|
@ -6,11 +7,25 @@
|
||||||
nxos_feature:
|
nxos_feature:
|
||||||
feature: lacp
|
feature: lacp
|
||||||
|
|
||||||
|
- set_fact:
|
||||||
|
mac1: "lacp system-mac 00c1.4c00.bd20 role primary"
|
||||||
|
when: platform is search('N9K') and imagetag is not search('I[2-6]')
|
||||||
|
|
||||||
|
- set_fact:
|
||||||
|
mac2:
|
||||||
|
address: 00c1.4c00.bd15
|
||||||
|
role: secondary
|
||||||
|
when: platform is search('N9K') and imagetag is not search('I[2-6]')
|
||||||
|
|
||||||
- block:
|
- block:
|
||||||
- name: Setup
|
- name: Setup1
|
||||||
cli_config:
|
cli_config:
|
||||||
config: lacp system-priority 11
|
config: lacp system-priority 11
|
||||||
|
|
||||||
|
- name: Setup2
|
||||||
|
cli_config:
|
||||||
|
config: "{{ mac1|default(omit) }}"
|
||||||
|
|
||||||
- name: Gather lacp facts
|
- name: Gather lacp facts
|
||||||
nxos_facts: &facts
|
nxos_facts: &facts
|
||||||
gather_subset:
|
gather_subset:
|
||||||
|
@ -22,9 +37,8 @@
|
||||||
nxos_lacp: &replaced
|
nxos_lacp: &replaced
|
||||||
config:
|
config:
|
||||||
system:
|
system:
|
||||||
mac:
|
priority: 12
|
||||||
address: 00c1.4c00.bd15
|
mac: "{{ mac2|default(omit) }}"
|
||||||
role: primary
|
|
||||||
state: replaced
|
state: replaced
|
||||||
register: result
|
register: result
|
||||||
|
|
||||||
|
@ -32,9 +46,21 @@
|
||||||
that:
|
that:
|
||||||
- "ansible_facts.network_resources.lacp == result.before"
|
- "ansible_facts.network_resources.lacp == result.before"
|
||||||
- "result.changed == true"
|
- "result.changed == true"
|
||||||
- "'no lacp system-priority' in result.commands"
|
|
||||||
- "'lacp system-mac 00c1.4c00.bd15 role primary' in result.commands"
|
|
||||||
- "result.commands|length == 2"
|
- "result.commands|length == 2"
|
||||||
|
- "'no lacp system-priority' in result.commands"
|
||||||
|
- "'lacp system-priority 12' in result.commands"
|
||||||
|
when: platform is not search('N9K')
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- "ansible_facts.network_resources.lacp == result.before"
|
||||||
|
- "result.changed == true"
|
||||||
|
- "'no lacp system-priority' in result.commands"
|
||||||
|
- "'no lacp system-mac' in result.commands"
|
||||||
|
- "'lacp system-priority 12' in result.commands"
|
||||||
|
- "'lacp system-mac 00c1.4c00.bd15 role secondary' in result.commands"
|
||||||
|
- "result.commands|length == 4"
|
||||||
|
when: platform is search('N9K') and imagetag is not search('I[2-6]')
|
||||||
|
|
||||||
- name: Gather lacp interfaces post facts
|
- name: Gather lacp interfaces post facts
|
||||||
nxos_facts: *facts
|
nxos_facts: *facts
|
||||||
|
@ -42,6 +68,7 @@
|
||||||
- assert:
|
- assert:
|
||||||
that:
|
that:
|
||||||
- "ansible_facts.network_resources.lacp == result.after"
|
- "ansible_facts.network_resources.lacp == result.after"
|
||||||
|
when: platform is search('N9K') and imagetag is not search('I[2-6]')
|
||||||
|
|
||||||
- name: Idempotence - Replaced
|
- name: Idempotence - Replaced
|
||||||
nxos_lacp: *replaced
|
nxos_lacp: *replaced
|
||||||
|
@ -52,6 +79,24 @@
|
||||||
- "result.changed == false"
|
- "result.changed == false"
|
||||||
- "result.commands|length == 0"
|
- "result.commands|length == 0"
|
||||||
|
|
||||||
|
- name: Setup3
|
||||||
|
cli_config:
|
||||||
|
config: "{{ mac1|default(omit) }}"
|
||||||
|
|
||||||
|
- name: Replaced
|
||||||
|
nxos_lacp:
|
||||||
|
state: replaced
|
||||||
|
register: result
|
||||||
|
when: platform is search('N9K') and imagetag is not search('I[2-6]')
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- "result.changed == true"
|
||||||
|
- "result.commands|length == 2"
|
||||||
|
- "'no lacp system-mac' in result.commands"
|
||||||
|
- "'no lacp system-priority' in result.commands"
|
||||||
|
when: platform is search('N9K') and imagetag is not search('I[2-6]')
|
||||||
|
|
||||||
always:
|
always:
|
||||||
- name: teardown
|
- name: teardown
|
||||||
nxos_feature:
|
nxos_feature:
|
||||||
|
|
Loading…
Reference in a new issue