summaryrefslogtreecommitdiff
path: root/test/integration/targets/iosxr_logging
diff options
context:
space:
mode:
authorKedar Kekan <4506537+kedarX@users.noreply.github.com>2018-01-11 10:08:11 +0530
committerGitHub <noreply@github.com>2018-01-11 10:08:11 +0530
commit08957cf46e449e953b7b84532af3dd47b3ed5f34 (patch)
treea1e914433217925401108e007a0811169ce3a91d /test/integration/targets/iosxr_logging
parentb66863abf0cb51295ba20caba9d206a4d1a82c72 (diff)
downloadansible-08957cf46e449e953b7b84532af3dd47b3ed5f34.tar.gz
cliconf and netconf refactor of iosxr_logging (#34495)
* * cliconf and netconf refactor of iosxr_logging * * documentation issue fix * * adds required_if and mutually_exclusive in arg spec
Diffstat (limited to 'test/integration/targets/iosxr_logging')
-rw-r--r--test/integration/targets/iosxr_logging/tasks/main.yaml1
-rw-r--r--test/integration/targets/iosxr_logging/tasks/netconf.yaml22
-rw-r--r--test/integration/targets/iosxr_logging/tests/cli/basic.yaml99
-rw-r--r--test/integration/targets/iosxr_logging/tests/netconf/basic.yaml174
4 files changed, 259 insertions, 37 deletions
diff --git a/test/integration/targets/iosxr_logging/tasks/main.yaml b/test/integration/targets/iosxr_logging/tasks/main.yaml
index 415c99d8b1..af08869c92 100644
--- a/test/integration/targets/iosxr_logging/tasks/main.yaml
+++ b/test/integration/targets/iosxr_logging/tasks/main.yaml
@@ -1,2 +1,3 @@
---
- { include: cli.yaml, tags: ['cli'] }
+- { include: netconf.yaml, tags: ['netconf'] }
diff --git a/test/integration/targets/iosxr_logging/tasks/netconf.yaml b/test/integration/targets/iosxr_logging/tasks/netconf.yaml
new file mode 100644
index 0000000000..a5632f8461
--- /dev/null
+++ b/test/integration/targets/iosxr_logging/tasks/netconf.yaml
@@ -0,0 +1,22 @@
+---
+- name: collect all netconf test cases
+ find:
+ paths: "{{ role_path }}/tests/netconf"
+ patterns: "{{ testcase }}.yaml"
+ register: test_cases
+ delegate_to: localhost
+
+- name: set test_items
+ set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
+
+- name: run test case (connection=netconf)
+ include: "{{ test_case_to_run }} ansible_connection=netconf"
+ with_items: "{{ test_items }}"
+ loop_control:
+ loop_var: test_case_to_run
+
+- name: run test case (connection=local)
+ include: "{{ test_case_to_run }} ansible_connection=local"
+ with_first_found: "{{ test_items }}"
+ loop_control:
+ loop_var: test_case_to_run
diff --git a/test/integration/targets/iosxr_logging/tests/cli/basic.yaml b/test/integration/targets/iosxr_logging/tests/cli/basic.yaml
index 5ef97cd9ab..477d30481d 100644
--- a/test/integration/targets/iosxr_logging/tests/cli/basic.yaml
+++ b/test/integration/targets/iosxr_logging/tests/cli/basic.yaml
@@ -1,33 +1,33 @@
---
# Remove old logging entries so that they don't conflict with tests
-- name: Remove host logging
+- name: remove host logging
iosxr_logging:
- dest: hostnameprefix
+ dest: host
name: 172.16.0.1
state: absent
provider: "{{ cli }}"
-- name: Remove console logging
+- name: remove console logging
iosxr_logging:
dest: console
- level: warning
state: absent
provider: "{{ cli }}"
register: result
-- name: Remove buffer
+- name: remove buffered logging
iosxr_logging:
dest: buffered
- size: 4800000
+ size: 2097155
state: absent
provider: "{{ cli }}"
register: result
# Start tests
-- name: Set up host logging
- iosxr_logging:
- dest: hostnameprefix
+- name: set up syslog host logging
+ iosxr_logging: &addhostlog
+ dest: host
name: 172.16.0.1
+ level: errors
state: present
provider: "{{ cli }}"
register: result
@@ -35,24 +35,19 @@
- assert:
that:
- 'result.changed == true'
- - '"logging hostnameprefix 172.16.0.1" in result.commands'
- - '"logging facility local7" in result.commands'
+ - '"logging 172.16.0.1 vrf default severity error" in result.commands'
-- name: Set up host logging again (idempotent)
- iosxr_logging:
- dest: hostnameprefix
- name: 172.16.0.1
- state: present
- provider: "{{ cli }}"
+- name: set up syslog host logging (idempotent)
+ iosxr_logging: *addhostlog
register: result
-- assert:
+- assert: &false
that:
- 'result.changed == false'
-- name: Delete/disable host logging
- iosxr_logging:
- dest: hostnameprefix
+- name: delete/disable syslog host logging
+ iosxr_logging: &delhostlog
+ dest: host
name: 172.16.0.1
state: absent
provider: "{{ cli }}"
@@ -61,22 +56,16 @@
- assert:
that:
- 'result.changed == true'
- - '"no logging hostnameprefix 172.16.0.1" in result.commands'
+ - '"no logging 172.16.0.1 vrf default" in result.commands'
-- name: Delete/disable host logging (idempotent)
- iosxr_logging:
- dest: hostnameprefix
- name: 172.16.0.1
- state: absent
- provider: "{{ cli }}"
+- name: delete/disable syslog host logging (idempotent)
+ iosxr_logging: *delhostlog
register: result
-- assert:
- that:
- - 'result.changed == false'
+- assert: *false
-- name: Console logging with level warning
- iosxr_logging:
+- name: add console logging with level warning
+ iosxr_logging: &consolelog
dest: console
level: warning
state: present
@@ -88,10 +77,29 @@
- 'result.changed == true'
- '"logging console warning" in result.commands'
-- name: Configure Buffer size
- iosxr_logging:
+- name: console logging with level warning (idempotent)
+ iosxr_logging: *consolelog
+ register: result
+
+- assert: *false
+
+- name: remove console logging with level warning
+ iosxr_logging:
+ dest: console
+ level: warning
+ state: absent
+ provider: "{{ cli }}"
+ register: result
+
+- assert: &true
+ that:
+ - 'result.changed == true'
+
+- name: configure buffered logging size
+ iosxr_logging: &bufferlog
dest: buffered
size: 4800000
+ state: present
provider: "{{ cli }}"
register: result
@@ -100,11 +108,28 @@
- 'result.changed == true'
- '"logging buffered 4800000" in result.commands'
-- name: Change logging parameters using aggregate
+- name: configure buffered logging size (idempotence)
+ iosxr_logging: *bufferlog
+ register: result
+
+- assert: *false
+
+- name: remove buffered logging size
+ iosxr_logging:
+ dest: buffered
+ size: 4800000
+ state: absent
+ provider: "{{ cli }}"
+ register: result
+
+- assert: *true
+
+- name: change logging parameters using aggregate
iosxr_logging:
aggregate:
- { dest: console, level: notifications }
- { dest: buffered, size: 4700000 }
+ state: present
provider: "{{ cli }}"
register: result
@@ -114,7 +139,7 @@
- '"logging buffered 4700000" in result.commands'
- '"logging console notifications" in result.commands'
-- name: remove logging as collection tearDown
+- name: remove logging parameters using aggregate
iosxr_logging:
aggregate:
- { dest: console, level: notifications }
diff --git a/test/integration/targets/iosxr_logging/tests/netconf/basic.yaml b/test/integration/targets/iosxr_logging/tests/netconf/basic.yaml
new file mode 100644
index 0000000000..91d4e36c09
--- /dev/null
+++ b/test/integration/targets/iosxr_logging/tests/netconf/basic.yaml
@@ -0,0 +1,174 @@
+---
+# Remove old logging entries so that they don't conflict with tests
+- name: remove host logging
+ iosxr_logging:
+ dest: host
+ name: 172.16.0.1
+ state: absent
+ provider: "{{ netconf }}"
+
+- name: remove console logging
+ iosxr_logging:
+ dest: console
+ state: absent
+ provider: "{{ netconf }}"
+ register: result
+
+- name: remove buffered logging
+ iosxr_logging:
+ dest: buffered
+ size: 2097155
+ state: absent
+ provider: "{{ netconf }}"
+ register: result
+
+# Start tests
+- name: set up syslog host logging
+ iosxr_logging: &addhostlog
+ dest: host
+ name: 172.16.0.1
+ level: errors
+ state: present
+ provider: "{{ netconf }}"
+ register: result
+
+- assert:
+ that:
+ - 'result.changed == true'
+ - '"172.16.0.1" in result.xml[0]'
+
+- name: set up syslog host logging (idempotent)
+ iosxr_logging: *addhostlog
+ register: result
+
+- assert: &false
+ that:
+ - 'result.changed == false'
+
+- name: delete/disable syslog host logging
+ iosxr_logging: &delhostlog
+ dest: host
+ name: 172.16.0.1
+ state: absent
+ provider: "{{ netconf }}"
+ register: result
+
+- assert:
+ that:
+ - 'result.changed == true'
+ - '"172.16.0.1" in result.xml[0]'
+ - '"delete" in result.xml[0]'
+
+- name: delete/disable syslog host logging (idempotent)
+ iosxr_logging: *delhostlog
+ register: result
+
+- assert: *false
+
+- name: add console logging with level warning
+ iosxr_logging: &consolelog
+ dest: console
+ level: warning
+ state: present
+ provider: "{{ netconf }}"
+ register: result
+
+- assert:
+ that:
+ - 'result.changed == true'
+ - '"console" in result.xml[0]'
+ - '"warning" in result.xml[0]'
+
+- name: console logging with level warning (idempotent)
+ iosxr_logging: *consolelog
+ register: result
+
+- assert: *false
+
+- name: remove console logging with level warning
+ iosxr_logging:
+ dest: console
+ level: warning
+ state: absent
+ provider: "{{ netconf }}"
+ register: result
+
+- assert: &true
+ that:
+ - 'result.changed == true'
+
+- name: configure buffered logging size
+ iosxr_logging: &bufferlog
+ dest: buffered
+ size: 4800000
+ state: present
+ provider: "{{ netconf }}"
+ register: result
+
+- assert:
+ that:
+ - 'result.changed == true'
+ - '"buffered" in result.xml[0]'
+ - '"4800000" in result.xml[0]'
+
+- name: configure buffered logging size (idempotence)
+ iosxr_logging: *bufferlog
+ register: result
+
+- assert: *false
+
+- name: remove buffered logging size
+ iosxr_logging:
+ dest: buffered
+ size: 4800000
+ state: absent
+ provider: "{{ netconf }}"
+ register: result
+
+- assert: *true
+
+- name: change logging parameters using aggregate
+ iosxr_logging:
+ aggregate:
+ - { dest: console, level: notifications }
+ - { dest: buffered, size: 4700000 }
+ - { dest: monitor, level: alerts }
+ - { dest: host, name: 10.10.10.1, level: errors }
+ - { dest: host, name: 10.10.10.2 }
+ - { dest: file, name: file1, size: 2048, level: critical}
+ - { dest: file, name: file2, size: 2048 }
+ - { facility: local3 }
+ - { hostnameprefix: host3 }
+ state: present
+ provider: "{{ netconf }}"
+ register: result
+
+- assert:
+ that:
+ - 'result.changed == true'
+ - '"file1" in result.xml[0]'
+ - '"file2" in result.xml[0]'
+ - '"10.10.10.1" in result.xml[1]'
+ - '"10.10.10.2" in result.xml[1]'
+ - '"notice" in result.xml[2]'
+ - '"alert" in result.xml[3]'
+ - '"4700000" in result.xml[4]'
+ - '"info" in result.xml[5]'
+ - '"local3" in result.xml[6]'
+ - '"host3" in result.xml[7]'
+
+- name: remove logging parameters using aggregate
+ iosxr_logging:
+ aggregate:
+ - { dest: console, level: notifications }
+ - { dest: buffered, size: 4700000 }
+ state: absent
+ provider: "{{ netconf }}"
+ register: result
+
+- assert:
+ that:
+ - 'result.changed == true'
+ - '"console" in result.xml[0]'
+ - '"buffered" in result.xml[1]'
+ - '"buffered" in result.xml[2]'