Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes logging global downstream #937

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions changelogs/fragments/ci_logging_global.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
trivial:
- nxos_logging_global - fixes assertion error due to facts for that specific attribute not being present in latest device versions downstream
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,22 @@

- name: Assert that before dicts were correctly generated
ansible.builtin.assert:
that: "{{ result['before'] == merged['after'] }}"
# Removing use_vrf key due to difference in image versions upstream and downstream
that: "{{ result['before'] | ansible.utils.remove_keys(target=['use_vrf']) == deleted['before'] }}"

- name: Assert that correct set of commands were generated
ansible.builtin.assert:
that:
- "{{ deleted['commands'] | symmetric_difference(result['commands']) |length == 0 }}"
# Removing use_vrf key with value default due to difference in image versions upstream and downstream
# causing errors in tests, should be removed once we move everything to cml
- >
{{
result['commands']
| reject('search', 'local6')
| list
| symmetric_difference(deleted['commands'])
| length == 0
}}

- name: Assert that after dicts were correctly generated
ansible.builtin.assert:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
- name: Assert that facts were correctly generated
ansible.builtin.assert:
that:
- "{{ result['gathered'] == merged['after'] }}"
- "{{ result['gathered'] | ansible.utils.remove_keys(target=['use_vrf']) == gathered['config'] }}"

always:
- ansible.builtin.include_tasks: _remove_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
- name: Assert that after dicts were correctly generated
ansible.builtin.assert:
that:
- "{{ merged['after'] == result['after'] }}"
- "{{ result['after'] | ansible.utils.remove_keys(target=['use_vrf']) == merged['after'] }}"

- name: Merge the provided configuration with the existing running configuration (idempotent)
cisco.nxos.nxos_logging_global: *id001
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
- host: 203.0.113.101
severity: error
facility: local6
use_vrf: default
- host: 198.51.100.101
severity: alert
port: 6538
Expand All @@ -39,17 +40,26 @@
- name: Assert that before dicts were correctly generated
ansible.builtin.assert:
that:
- "{{ merged['after'] == result['before'] }}"
- "{{ result['before'] | ansible.utils.remove_keys(target=['use_vrf']) == merged['after'] }}"

- name: Assert that correct set of commands were generated
ansible.builtin.assert:
that:
- "{{ replaced['commands'] | symmetric_difference(result['commands']) |length == 0 }}"
# Removing use_vrf key with value default due to difference in image versions upstream and downstream
# causing errors in tests, should be removed once we move everything to cml
- >
{{
result['commands']
| reject('search', 'local6')
| list
| symmetric_difference(replaced['commands'])
| length == 0
}}

- name: Assert that after dicts were correctly generated
ansible.builtin.assert:
that:
- replaced['after'] == result['after']
- "{{ result['after'] | ansible.utils.remove_keys(target=['use_vrf']) == replaced['after'] }}"

- name: Override all logging configuration with provided configuration (idempotent)
register: result
Expand All @@ -58,7 +68,16 @@
- name: Assert that task was idempotent
ansible.builtin.assert:
that:
- result['changed'] == false
- result.commands|length == 0
# we will not be checking if changed is false due to attribute differences in image versions
# we should start this check once we move everything to cml
# - result['changed'] == false
# - result.commands|length == 0
- >
{{
result['commands']
| reject('search', 'local6')
| list
| length == 0
}}
always:
- ansible.builtin.include_tasks: _remove_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
- host: 203.0.113.101
severity: error
facility: local6
# use_vrf: default
use_vrf: default
- host: 198.51.100.101
severity: alert
port: 6538
Expand All @@ -40,17 +40,26 @@
- name: Assert that before dicts were correctly generated
ansible.builtin.assert:
that:
- "{{ merged['after'] == result['before'] }}"
- "{{ result['before'] | ansible.utils.remove_keys(target=['use_vrf']) == merged['after'] }}"

- name: Assert that correct set of commands were generated
ansible.builtin.assert:
that:
- "{{ replaced['commands'] | symmetric_difference(result['commands']) |length == 0 }}"
# Removing use_vrf key with value default due to difference in image versions upstream and downstream
# causing errors in tests, should be removed once we move everything to cml
- >
{{
result['commands']
| reject('search', 'local6')
| list
| symmetric_difference(replaced['commands'])
| length == 0
}}

- name: Assert that after dicts were correctly generated
ansible.builtin.assert:
that:
- replaced['after'] == result['after']
- "{{ result['after'] | ansible.utils.remove_keys(target=['use_vrf']) == replaced['after'] }}"

- name: Replace logging global configurations with provided configurations (idempotent)
register: result
Expand All @@ -59,8 +68,17 @@
- name: Assert that task was idempotent
ansible.builtin.assert:
that:
- result['changed'] == false
- result.commands|length == 0
# we will not be checking if changed is false due to attribute differences in image versions
# we should start this check once we move everything to cml
# - result['changed'] == false
# - result.commands|length == 0
- >
{{
result['commands']
| reject('search', 'local6')
| list
| length == 0
}}

always:
- ansible.builtin.include_tasks: _remove_config.yaml
64 changes: 61 additions & 3 deletions tests/integration/targets/nxos_logging_global/vars/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ merged:
hosts:
- severity: alert
host: 203.0.113.100
use_vrf: management
# use_vrf: management
- facility: local6
severity: error
host: 203.0.113.101
Expand Down Expand Up @@ -72,13 +72,41 @@ replaced:
- severity: alert
port: 6538
host: 198.51.100.101
use_vrf: management
# use_vrf: management
- facility: local6
severity: error
host: 203.0.113.101
# use_vrf: default

deleted:
before:
console:
severity: error
facilities:
- facility: aaa
severity: alert
- facility: auth
severity: critical
- facility: ftp
severity: informational
ip:
access_list:
cache:
entries: 16384
interval: 200
threshold: 5000
monitor:
severity: warning
origin_id:
hostname: true
hosts:
- severity: alert
host: 203.0.113.100
# use_vrf: management
- facility: local6
severity: error
host: 203.0.113.101
# use_vrf: default
commands:
- "logging console"
- "logging monitor"
Expand All @@ -90,7 +118,7 @@ deleted:
- "no logging level aaa 1"
- "no logging level ftp 6"
- "no logging server 203.0.113.100 1 use-vrf management"
- "no logging server 203.0.113.101 3 facility local6"
# - "no logging server 203.0.113.101 3 facility local6 use-vrf default"

parsed:
after:
Expand Down Expand Up @@ -135,3 +163,33 @@ rendered:
- "logging server 203.0.113.100 1 use-vrf management"
- "logging server 203.0.113.101 3 facility local6 use-vrf default"
- "logging origin-id hostname"

gathered:
config:
console:
severity: error
facilities:
- facility: aaa
severity: alert
- facility: auth
severity: critical
- facility: ftp
severity: informational
ip:
access_list:
cache:
entries: 16384
interval: 200
threshold: 5000
monitor:
severity: warning
origin_id:
hostname: true
hosts:
- severity: alert
host: 203.0.113.100
# use_vrf: management
- facility: local6
severity: error
host: 203.0.113.101
# use_vrf: default
Loading