summaryrefslogtreecommitdiff
path: root/test/integration/targets/cnos_logging
diff options
context:
space:
mode:
authorAnil Kumar Muraleedharan <amuraleedhar@lenovo.com>2019-02-28 00:45:56 +0530
committerNathaniel Case <this.is@nathanielca.se>2019-02-27 14:15:56 -0500
commita78c40322c63fd10c70bd4192645bf763d9eb799 (patch)
treeb37cbd5c69c3e70bba7caf0963fb2f615c06bbad /test/integration/targets/cnos_logging
parent9936e8154163e43e3eb70c32d88f0ace53bb7d56 (diff)
downloadansible-a78c40322c63fd10c70bd4192645bf763d9eb799.tar.gz
Lenovo cnos logging (#52978)
* Adding the module cnos_logging.py to the module suite from Lenovo
Diffstat (limited to 'test/integration/targets/cnos_logging')
-rw-r--r--test/integration/targets/cnos_logging/aliases2
-rw-r--r--test/integration/targets/cnos_logging/cnos_logging_sample_hosts14
-rw-r--r--test/integration/targets/cnos_logging/defaults/main.yaml2
-rw-r--r--test/integration/targets/cnos_logging/tasks/cli.yaml22
-rw-r--r--test/integration/targets/cnos_logging/tasks/main.yaml2
-rw-r--r--test/integration/targets/cnos_logging/tests/cli/basic.yaml136
6 files changed, 178 insertions, 0 deletions
diff --git a/test/integration/targets/cnos_logging/aliases b/test/integration/targets/cnos_logging/aliases
new file mode 100644
index 0000000000..be010d923f
--- /dev/null
+++ b/test/integration/targets/cnos_logging/aliases
@@ -0,0 +1,2 @@
+# No Lenovo Switch simulator yet, so not enabled
+unsupported
diff --git a/test/integration/targets/cnos_logging/cnos_logging_sample_hosts b/test/integration/targets/cnos_logging/cnos_logging_sample_hosts
new file mode 100644
index 0000000000..6cf095132a
--- /dev/null
+++ b/test/integration/targets/cnos_logging/cnos_logging_sample_hosts
@@ -0,0 +1,14 @@
+# You have to paste this dummy information in /etc/ansible/hosts
+# Notes:
+# - Comments begin with the '#' character
+# - Blank lines are ignored
+# - Groups of hosts are delimited by [header] elements
+# - You can enter hostnames or ip Addresses
+# - A hostname/ip can be a member of multiple groups
+#
+# In the /etc/ansible/hosts file u have to enter [cnos_portchannel_sample] tag
+# Following you should specify IP Addresses details
+# Please change <username> and <password> with appropriate value for your switch.
+
+[cnos_logging_sample]
+10.241.107.39 ansible_network_os=cnos ansible_ssh_user=<username> ansible_ssh_pass=<password>
diff --git a/test/integration/targets/cnos_logging/defaults/main.yaml b/test/integration/targets/cnos_logging/defaults/main.yaml
new file mode 100644
index 0000000000..5f709c5aac
--- /dev/null
+++ b/test/integration/targets/cnos_logging/defaults/main.yaml
@@ -0,0 +1,2 @@
+---
+testcase: "*"
diff --git a/test/integration/targets/cnos_logging/tasks/cli.yaml b/test/integration/targets/cnos_logging/tasks/cli.yaml
new file mode 100644
index 0000000000..1216a3d0be
--- /dev/null
+++ b/test/integration/targets/cnos_logging/tasks/cli.yaml
@@ -0,0 +1,22 @@
+---
+- name: collect all cli test cases
+ find:
+ paths: "{{ role_path }}/tests/cli"
+ 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 cases (connection=network_cli)
+ include: "{{ test_case_to_run }}"
+ 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/cnos_logging/tasks/main.yaml b/test/integration/targets/cnos_logging/tasks/main.yaml
new file mode 100644
index 0000000000..415c99d8b1
--- /dev/null
+++ b/test/integration/targets/cnos_logging/tasks/main.yaml
@@ -0,0 +1,2 @@
+---
+- { include: cli.yaml, tags: ['cli'] }
diff --git a/test/integration/targets/cnos_logging/tests/cli/basic.yaml b/test/integration/targets/cnos_logging/tests/cli/basic.yaml
new file mode 100644
index 0000000000..b82b2ac368
--- /dev/null
+++ b/test/integration/targets/cnos_logging/tests/cli/basic.yaml
@@ -0,0 +1,136 @@
+---
+# ensure logging configs are empty
+- name: Remove server logging
+ cnos_logging: &remove_server
+ dest: server
+ name: 10.241.107.224
+ state: absent
+
+- name: Remove console
+ cnos_logging:
+ dest: console
+ level: 4
+ state: absent
+
+- name: Remove buffer
+ cnos_logging:
+ dest: logfile
+ size: 8000
+ state: absent
+
+# start tests
+- name: Set up server logging
+ cnos_logging:
+ dest: server
+ name: 10.241.107.224
+ facility: local7
+ state: present
+ register: result
+
+- assert:
+ that:
+ - 'result.changed == true'
+ - '"logging server 10.241.107.224" in result.commands'
+
+- name: Set up server logging again (idempotent)
+ cnos_logging:
+ dest: server
+ name: 10.241.107.224
+ state: present
+ register: result
+
+- assert: &unchanged
+ that:
+ - 'result.changed == true'
+
+- name: Delete/disable server logging
+ cnos_logging: *remove_server
+ register: result
+
+- assert:
+ that:
+ - 'result.changed == true'
+ - '"no logging server 10.241.107.224" in result.commands'
+
+- name: Delete/disable server logging (idempotent)
+ cnos_logging: *remove_server
+ register: result
+
+- assert:
+ that:
+ - 'result.changed == true'
+
+- name: Console logging with level errors
+ cnos_logging:
+ dest: console
+ level: 3
+ state: present
+ register: result
+
+- assert:
+ that:
+ - 'result.changed == true'
+ - '"logging console 3" in result.commands'
+
+- name: Configure Buffer size
+ cnos_logging:
+ dest: logfile
+ name: testfile
+ level: 6
+ size: 8000
+ register: result
+
+- assert:
+ that:
+ - 'result.changed == true'
+ - '"logging logfile testfile 6 size 8000" in result.commands'
+
+
+- name: Change logging parameters using aggregate
+ cnos_logging:
+ aggregate:
+ - { dest: console, level: 5 }
+ - { dest: logfile, name: anil, level: 3, size: 9000 }
+ register: result
+
+- assert:
+ that:
+ - 'result.changed == true'
+ - '"logging logfile anil 3 size 9000" in result.commands'
+ - '"logging console 5" in result.commands'
+
+- name: Set both logging destination and facility
+ cnos_logging: &set_both
+ dest: logfile
+ name: mylog
+ level: 1
+ size: 4096
+ state: present
+ register: result
+
+- assert:
+ that:
+ - 'result.changed == true'
+ - '"logging logfile mylog 1 size 4096" in result.commands'
+
+- name: Set both logging destination and facility (idempotent)
+ cnos_logging: *set_both
+ register: result
+
+- assert:
+ that:
+ - 'result.changed == false'
+
+- name: remove logging as collection tearDown
+ cnos_logging:
+ aggregate:
+ - { dest: console, level: 6 }
+ - { dest: logfile, name: mylog, size: 4096, level: 1 }
+ state: absent
+ register: result
+
+- assert:
+ that:
+ - 'result.changed == true'
+ - '"no logging console" in result.commands'
+ - '"no logging logfile" in result.commands'