mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-07 22:02:50 +00:00
Add ios_logging implementation module (#26785)
* Add ios_logging implementation module Signed-off-by: Trishna Guha <trishnaguha17@gmail.com> * fix doc Signed-off-by: Trishna Guha <trishnaguha17@gmail.com> * integration test net_logging and ios_logging Signed-off-by: Trishna Guha <trishnaguha17@gmail.com> * modify the module code Signed-off-by: Trishna Guha <trishnaguha17@gmail.com> * modify the module code Signed-off-by: Trishna Guha <trishnaguha17@gmail.com> * change collection to aggregate * fix buffer size logic * fix pep8 issues
This commit is contained in:
@@ -69,9 +69,16 @@
|
||||
rescue:
|
||||
- set_fact: test_failed=true
|
||||
|
||||
- block:
|
||||
- include_role:
|
||||
name: ios_logging
|
||||
when: "limit_to in ['*', 'ios_logging']"
|
||||
rescue:
|
||||
- set_fact: test_failed=true
|
||||
|
||||
|
||||
###########
|
||||
- name: Has any previous test failed?
|
||||
fail:
|
||||
msg: "One or more tests failed, check log for details"
|
||||
when: test_failed
|
||||
when: test_failed
|
||||
|
||||
2
test/integration/targets/ios_logging/defaults/main.yaml
Normal file
2
test/integration/targets/ios_logging/defaults/main.yaml
Normal file
@@ -0,0 +1,2 @@
|
||||
---
|
||||
testcase: "*"
|
||||
2
test/integration/targets/ios_logging/meta/main.yaml
Normal file
2
test/integration/targets/ios_logging/meta/main.yaml
Normal file
@@ -0,0 +1,2 @@
|
||||
dependencies:
|
||||
- prepare_ios_tests
|
||||
15
test/integration/targets/ios_logging/tasks/cli.yaml
Normal file
15
test/integration/targets/ios_logging/tasks/cli.yaml
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
- name: collect all cli test cases
|
||||
find:
|
||||
paths: "{{ role_path }}/tests/cli"
|
||||
patterns: "{{ testcase }}.yaml"
|
||||
register: test_cases
|
||||
|
||||
- name: set test_items
|
||||
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
|
||||
|
||||
- name: run test case
|
||||
include: "{{ test_case_to_run }}"
|
||||
with_items: "{{ test_items }}"
|
||||
loop_control:
|
||||
loop_var: test_case_to_run
|
||||
2
test/integration/targets/ios_logging/tasks/main.yaml
Normal file
2
test/integration/targets/ios_logging/tasks/main.yaml
Normal file
@@ -0,0 +1,2 @@
|
||||
---
|
||||
- { include: cli.yaml, tags: ['cli'] }
|
||||
97
test/integration/targets/ios_logging/tests/cli/basic.yaml
Normal file
97
test/integration/targets/ios_logging/tests/cli/basic.yaml
Normal file
@@ -0,0 +1,97 @@
|
||||
---
|
||||
- name: Set up host logging
|
||||
ios_logging:
|
||||
dest: host
|
||||
name: 172.16.0.1
|
||||
state: present
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.chaned == true'
|
||||
- '"logging host 172.16.0.1" in result.commands'
|
||||
- '"logging facility local7" in result.commands'
|
||||
|
||||
- name: Set up host logging again (idempotent)
|
||||
ios_logging:
|
||||
dest: host
|
||||
name: 172.16.0.1
|
||||
state: present
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == false'
|
||||
|
||||
- name: Delete/disable host logging
|
||||
ios_logging:
|
||||
dest: host
|
||||
name: 172.16.0.1
|
||||
state: absent
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"no logging host 172.16.0.1" in result.commands'
|
||||
|
||||
- name: Delete/disable host logging (idempotent)
|
||||
ios_logging:
|
||||
dest: host
|
||||
name: 172.16.0.1
|
||||
state: absent
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == false'
|
||||
|
||||
- name: Console logging with level warnings
|
||||
ios_logging:
|
||||
dest: console
|
||||
level: warnings
|
||||
state: present
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"logging console warnings" in result.commands'
|
||||
|
||||
- name: Configure Buffer size
|
||||
ios_logging:
|
||||
dest: buffered
|
||||
size: 8000
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"logging buffered 8000" in result.commands'
|
||||
|
||||
- name: remove logging as collection tearDown
|
||||
ios_logging:
|
||||
aggregate:
|
||||
- { dest: console, level: warnings, state: absent }
|
||||
- { dest: buffered, size: 8000, state: absent }
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"no logging console" in result.commands'
|
||||
- '"no logging buffered" in result.commands'
|
||||
@@ -5,3 +5,6 @@
|
||||
|
||||
- include: "{{ role_path }}/tests/vyos/basic.yaml"
|
||||
when: hostvars[inventory_hostname]['ansible_network_os'] == 'vyos'
|
||||
|
||||
- include: "{{ role_path }}/tests/ios/basic.yaml"
|
||||
when: hostvars[inventory_hostname]['ansible_network_os'] == 'ios'
|
||||
|
||||
97
test/integration/targets/net_logging/tests/ios/basic.yaml
Normal file
97
test/integration/targets/net_logging/tests/ios/basic.yaml
Normal file
@@ -0,0 +1,97 @@
|
||||
---
|
||||
- name: Set up host logging
|
||||
net_logging:
|
||||
dest: host
|
||||
name: 172.16.0.1
|
||||
state: present
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.chaned == true'
|
||||
- '"logging host 172.16.0.1" in result.commands'
|
||||
- '"logging facility local7" in result.commands'
|
||||
|
||||
- name: Set up host logging again (idempotent)
|
||||
net_logging:
|
||||
dest: host
|
||||
name: 172.16.0.1
|
||||
state: present
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == false'
|
||||
|
||||
- name: Delete/disable host logging
|
||||
net_logging:
|
||||
dest: host
|
||||
name: 172.16.0.1
|
||||
state: absent
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"no logging host 172.16.0.1" in result.commands'
|
||||
|
||||
- name: Delete/disable host logging (idempotent)
|
||||
net_logging:
|
||||
dest: host
|
||||
name: 172.16.0.1
|
||||
state: absent
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == false'
|
||||
|
||||
- name: Console logging with level warnings
|
||||
net_logging:
|
||||
dest: console
|
||||
level: warnings
|
||||
state: present
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"logging console warnings" in result.commands'
|
||||
|
||||
- name: Configure monitor logging
|
||||
net_logging:
|
||||
dest: monitor
|
||||
level: debugging
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"logging monitor debugging" in result.commands'
|
||||
|
||||
- name: remove logging as collection tearDown
|
||||
net_logging:
|
||||
aggregate:
|
||||
- { dest: console, level: warnings, state: absent }
|
||||
- { dest: monitor, level: debuggning, state: absent }
|
||||
authorize: yes
|
||||
provider: "{{ cli }}"
|
||||
register: result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- 'result.changed == true'
|
||||
- '"no logging console" in result.commands'
|
||||
- '"no logging monitor" in result.commands'
|
||||
Reference in New Issue
Block a user