From ce237012b417d5fefdb2480846aa8e6aa44ecb7b Mon Sep 17 00:00:00 2001 From: Kristian Lyngstol Date: Thu, 12 May 2016 10:39:13 +0200 Subject: Move ansible stuff away from build/test It's not just test... References #56 --- ansible/inventory-localhost | 1 + ansible/playbook-test.yml | 18 +++++++++++++ ansible/roles/basics/tasks/main.yml | 48 ++++++++++++++++++++++++++++++++++ ansible/roles/test/tasks/main.yml | 32 +++++++++++++++++++++++ ansible/roles/test/vars/main.yml | 11 ++++++++ build/test/inventory | 1 - build/test/playbook-test.yml | 18 ------------- build/test/roles/basics/tasks/main.yml | 48 ---------------------------------- build/test/roles/test/tasks/main.yml | 32 ----------------------- build/test/roles/test/vars/main.yml | 11 -------- 10 files changed, 110 insertions(+), 110 deletions(-) create mode 100644 ansible/inventory-localhost create mode 100644 ansible/playbook-test.yml create mode 100644 ansible/roles/basics/tasks/main.yml create mode 100644 ansible/roles/test/tasks/main.yml create mode 100644 ansible/roles/test/vars/main.yml delete mode 100644 build/test/inventory delete mode 100644 build/test/playbook-test.yml delete mode 100644 build/test/roles/basics/tasks/main.yml delete mode 100644 build/test/roles/test/tasks/main.yml delete mode 100644 build/test/roles/test/vars/main.yml 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" diff --git a/build/test/inventory b/build/test/inventory deleted file mode 100644 index 2302eda..0000000 --- a/build/test/inventory +++ /dev/null @@ -1 +0,0 @@ -localhost ansible_connection=local diff --git a/build/test/playbook-test.yml b/build/test/playbook-test.yml deleted file mode 100644 index 24e5d78..0000000 --- a/build/test/playbook-test.yml +++ /dev/null @@ -1,18 +0,0 @@ ---- -- 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/build/test/roles/basics/tasks/main.yml b/build/test/roles/basics/tasks/main.yml deleted file mode 100644 index dddc0c9..0000000 --- a/build/test/roles/basics/tasks/main.yml +++ /dev/null @@ -1,48 +0,0 @@ -- 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/build/test/roles/test/tasks/main.yml b/build/test/roles/test/tasks/main.yml deleted file mode 100644 index 7bcf1c4..0000000 --- a/build/test/roles/test/tasks/main.yml +++ /dev/null @@ -1,32 +0,0 @@ -- 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/build/test/roles/test/vars/main.yml b/build/test/roles/test/vars/main.yml deleted file mode 100644 index 983619c..0000000 --- a/build/test/roles/test/vars/main.yml +++ /dev/null @@ -1,11 +0,0 @@ -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" -- cgit v1.2.3