Explorar o código

wait for app after deploy

Grega Bremec %!s(int64=3) %!d(string=hai) anos
pai
achega
2acd3b9a14
Modificáronse 1 ficheiros con 26 adicións e 7 borrados
  1. 26 7
      roles/deploy-apps/tasks/main.yml

+ 26 - 7
roles/deploy-apps/tasks/main.yml

@@ -1,14 +1,33 @@
 ---
 # assuming pre-flight had been executed so not doing any tests.
-- name: deploy the manifest on sno1
+- name: deploy the manifests
   kubernetes.core.k8s:
-    kubeconfig: "{{ ansible_facts['user_dir'] }}/kubeconfig-sno1"
+    kubeconfig: "{{ ansible_facts['user_dir'] }}/kubeconfig-{{ item }}"
     validate_certs: no
-    src: files/sno1.yml
+    src: files/{{ item }}.yml
+  loop:
+    - sno1
+    - k3s
 
-- name: deploy the manifest on k3s
-  kubernetes.core.k8s:
-    kubeconfig: "{{ ansible_facts['user_dir'] }}/kubeconfig-k3s"
+- name: wait for pods to show up
+  k8s_info:
+    kubeconfig: "{{ ansible_facts['user_dir'] }}/kubeconfig-{{ item.cluster }}"
     validate_certs: no
-    src: files/k3s.yml
+    api_version: v1
+    kind: pod
+    namespace: test
+    label_selectors:
+      - "{{ item.label }}"
+  register: app_pod
+  until:
+    - app_pod.resources is defined
+    - (app_pod.resources | length) > 0
+    - app_pod.resources[0].status.phase == 'Running'
+  retries: 30
+  delay: 5
+  loop:
+    - cluster: sno1
+      label: deployment=nginx-hello
+    - cluster: k3s
+      label: app=php-hello
 ...