CORD-445 - abstract out restart and check with versions
Change-Id: I69d27e8013bfa7577b9fa5ffca478b8a2b47339c
diff --git a/roles/maas/files/restart-maas.yml b/roles/maas/files/restart-maas.yml
new file mode 100644
index 0000000..72ff5a0
--- /dev/null
+++ b/roles/maas/files/restart-maas.yml
@@ -0,0 +1,30 @@
+---
+- name: Restart MAAS Services
+ become: yes
+ service:
+ name={{ item }}
+ state=restarted
+ with_items:
+ - maas-proxy
+ - maas-regiond
+ - maas-clusterd
+ - maas-dhcpd
+ - bind9
+ tags:
+ - maas_restart
+
+- name: Wait for MAAS to Intialize (start)
+ pause:
+ seconds=60
+ changed_when: false
+ tags:
+ - maas_restart
+
+- name: Verify MAAS Accepting API Requests
+ action: uri url='http://{{ mgmt_ip_address.stdout }}/MAAS/api/1.0/version/' method=GET validate_certs=no return_content=no status_code=200
+ retries: 50
+ delay: 30
+ register: api_test
+ until: api_test.status is defined and api_test.status == 200
+ tags:
+ - maas_restart
diff --git a/roles/maas/tasks/main.yml b/roles/maas/tasks/main.yml
index f001e1b..024ef0d 100644
--- a/roles/maas/tasks/main.yml
+++ b/roles/maas/tasks/main.yml
@@ -170,34 +170,10 @@
state: present
- name: Restart MAAS Services
- become: yes
- service:
- name={{ item }}
- state=restarted
- with_items:
- - maas-proxy
- - maas-regiond
- - maas-clusterd
- - maas-dhcpd
- - bind9
+ include: restart-maas.yml
tags:
- maas_restart
-- name: Wait for MAAS to Intialize (start)
- pause:
- seconds=30
- changed_when: false
- tags:
- - maas_restart
-
-- name: MAAS Accepting API Requests
- action: get_url url=http://{{ mgmt_ip_address.stdout }}/MAAS/api/1.0/maas/ dest=/tmp
- register: api_test
- until: api_test.status_code is defined and api_test.status_code == 403
- retries: 5
- delay: 60
- failed_when: api_test.status_code is not defined or api_test.status_code != 403
-
- name: Configure MAAS
become: yes
command: docker run docker-registry:5000/cord-maas-bootstrap:{{ docker.image_version }} --apikey='{{apikey.stdout}}' --sshkey='{{maas.user_sshkey}}' --url='http://{{mgmt_ip_address.stdout}}/MAAS/api/1.0' --network='{{networks.management}}' --interface='{{interfaces.management}}' --zone='administrative' --cluster='Cluster master' --domain='{{maas.domain}}'
@@ -269,33 +245,10 @@
when: ns_nameserver.changed or ns_search.changed
- name: Restart MAAS Services
- become: yes
- service:
- name={{ item }}
- state=restarted
- with_items:
- - maas-proxy
- - maas-regiond
- - maas-clusterd
- - maas-dhcpd
+ include: restart-maas.yml
tags:
- maas_restart
-- name: Wait for MAAS to Intialize (start)
- pause:
- seconds=30
- changed_when: false
- tags:
- - maas_restart
-
-- name: MAAS Accepting API Requests
- action: get_url url=http://{{ mgmt_ip_address.stdout }}/MAAS/api/1.0/maas/ dest=/tmp
- register: api_test2
- until: api_test2.status_code is defined and api_test2.status_code == 403
- retries: 5
- delay: 60
- failed_when: api_test2.status_code is not defined or api_test2.status_code != 403
-
- name: Ensure Boot Resource Import Started
become: yes
shell: maas login cord http://localhost/MAAS/api/1.0/ "{{apikey.stdout}}" && maas cord boot-resources import && maas logout cord