aboutsummaryrefslogtreecommitdiffstats
path: root/ansible
diff options
context:
space:
mode:
Diffstat (limited to 'ansible')
-rw-r--r--ansible/inventory-localhost1
-rw-r--r--ansible/playbook-test.yml18
-rw-r--r--ansible/roles/basics/tasks/main.yml48
-rw-r--r--ansible/roles/test/tasks/main.yml32
-rw-r--r--ansible/roles/test/vars/main.yml11
5 files changed, 110 insertions, 0 deletions
diff --git a/ansible/inventory-localhost b/ansible/inventory-localhost
new file mode 100644
index 0000000..2302eda
--- /dev/null
+++ b/ansible/inventory-localhost
@@ -0,0 +1 @@
+localhost ansible_connection=local
diff --git a/ansible/playbook-test.yml b/ansible/playbook-test.yml
new file mode 100644
index 0000000..24e5d78
--- /dev/null
+++ b/ansible/playbook-test.yml
@@ -0,0 +1,18 @@
+---
+- hosts: all
+ become: false
+ roles:
+ - basics
+ - test
+ vars:
+ - images:
+ - name: "nms-db-test"
+ links: []
+ - name: "nms-front-test"
+ links: [ "nms-db-test:db" ]
+ - name: "nms-varnish-test"
+ links: [ "nms-front-test:nms-front" ]
+ - name: "nms-collector-test"
+ links: [ "nms-db-test:db" ]
+ - name: "nms-snmp-test"
+ links: [ "nms-db-test:db" ]
diff --git a/ansible/roles/basics/tasks/main.yml b/ansible/roles/basics/tasks/main.yml
new file mode 100644
index 0000000..dddc0c9
--- /dev/null
+++ b/ansible/roles/basics/tasks/main.yml
@@ -0,0 +1,48 @@
+- command: pwd
+ register: pwd
+- name: make all
+ docker_image:
+ state: build
+ name: "{{ item.name }}"
+ docker_api_version: 1.18
+ dockerfile: build/test/{{ item.name }}.Dockerfile
+ path: "{{ pwd.stdout }}"
+ with_items: "{{ images }}"
+ tags:
+ - build
+
+- name: stop all
+ docker:
+ name: "{{ item.name }}"
+ state: stopped
+ image: "{{ item.name }}"
+ docker_api_version: 1.18
+ stop_timeout: 2
+ with_items: "{{ images }}"
+ tags:
+ - stop
+
+- name: start all
+ docker:
+ name: "{{ item.name }}"
+ image: "{{ item.name }}"
+ docker_api_version: 1.18
+ state: started
+ net: bridge
+ links: "{{ item.links }}"
+ volumes: [ "{{ pwd.stdout }}/:/opt/nms" ]
+ with_items: "{{ images }}"
+ tags:
+ - start
+- name: workaround to get nms-varnish-front-ip
+ shell: "docker inspect nms-varnish-test | grep IPAddress | sed 's/[^0-9.]//g'"
+ register: ip
+ tags:
+ - start
+
+- name: Display IP
+ tags:
+ - start
+ debug:
+ msg: "Varnish test is available at http://{{ ip.stdout }}/"
+
diff --git a/ansible/roles/test/tasks/main.yml b/ansible/roles/test/tasks/main.yml
new file mode 100644
index 0000000..7bcf1c4
--- /dev/null
+++ b/ansible/roles/test/tasks/main.yml
@@ -0,0 +1,32 @@
+- name: test index
+ tags:
+ - test
+ uri: url="http://{{ ip.stdout }}/"
+
+- name: test public api without data
+ tags:
+ - test
+ uri:
+ url: "http://{{ ip.stdout }}{{ item }}"
+ with_items: "{{ simple_urls }}"
+
+- name: test read api without data
+ uri:
+ url: http://{{ ip.stdout }}{{ item }}
+ user: demo
+ password: demo
+ with_items: "{{ read_urls }}"
+ tags:
+ - test
+- name: Add some switches
+ tags:
+ - test
+ uri:
+ url: http://{{ ip.stdout }}/api/write/switch-add
+ method: "POST"
+ force_basic_auth: true
+ body_format: json
+ user: demo
+ password: demo
+ body: "{{[ { 'sysname': 'foobar1', 'mgmt_v4_addr': '127.0.0.1' }, { 'sysname': 'foobar2', 'mgmt_v4_addr': '127.0.0.1' }, { 'sysname': 'foobar3', 'mgmt_v4_addr': '127.0.0.1' }, { 'sysname': 'foobar4', 'mgmt_v4_addr': '127.0.0.1' }, { 'sysname': 'foobar5', 'mgmt_v4_addr': '127.0.0.1' }, { 'sysname': 'foobar6', 'mgmt_v4_addr': '127.0.0.1' }, { 'sysname': 'foobar7', 'mgmt_v4_addr': '127.0.0.1' }, { 'sysname': 'foobar8', 'mgmt_v4_addr': '127.0.0.1' }, { 'sysname': 'foobar9', 'mgmt_v4_addr': '127.0.0.1' }, { 'sysname': 'foobar10', 'mgmt_v4_addr': '127.0.0.1' }, { 'sysname': 'foobar11', 'mgmt_v4_addr': '127.0.0.1' }, { 'sysname': 'foobar12', 'mgmt_v4_addr': '127.0.0.1' }, { 'sysname': 'foobar13', 'mgmt_v4_addr': '127.0.0.1' }, { 'sysname': 'foobar14', 'mgmt_v4_addr': '127.0.0.1' }, { 'sysname': 'foobar15', 'mgmt_v4_addr': '127.0.0.1' }, { 'sysname': 'foobar16', 'mgmt_v4_addr': '127.0.0.1' }, { 'sysname': 'foobar17', 'mgmt_v4_addr': '127.0.0.1' }, { 'sysname': 'foobar18', 'mgmt_v4_addr': '127.0.0.1' }, { 'sysname': 'foobar19', 'mgmt_v4_addr': '127.0.0.1' }]}}"
+
diff --git a/ansible/roles/test/vars/main.yml b/ansible/roles/test/vars/main.yml
new file mode 100644
index 0000000..983619c
--- /dev/null
+++ b/ansible/roles/test/vars/main.yml
@@ -0,0 +1,11 @@
+simple_urls:
+ - "/api/public/switches"
+ - "/api/public/switch-state"
+ - "/api/public/ping"
+ - "/api/public/location"
+ - "/api/public/dhcp"
+ - "/api/public/dhcp-summary"
+read_urls:
+ - "/api/read/comments"
+ - "/api/read/snmp"
+ - "/api/read/switches-management"