diff options
Diffstat (limited to 'ansible')
-rw-r--r-- | ansible/inventory-localhost | 1 | ||||
-rw-r--r-- | ansible/playbook-test.yml | 18 | ||||
-rw-r--r-- | ansible/roles/basics/tasks/main.yml | 48 | ||||
-rw-r--r-- | ansible/roles/test/tasks/main.yml | 32 | ||||
-rw-r--r-- | ansible/roles/test/vars/main.yml | 11 |
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" |