]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
purge: fix purge cluster failed
authorwujie1993 <qq594jj@gmail.com>
Sun, 5 Jan 2020 07:31:46 +0000 (15:31 +0800)
committerDimitri Savineau <savineau.dimitri@gmail.com>
Fri, 31 Jan 2020 17:09:46 +0000 (12:09 -0500)
Fix purge cluster failed when local container images does not exist.

Purge node-exporter and grafana-server only when dashboard_enabled is set to True.

Signed-off-by: wujie1993 qq594jj@gmail.com
infrastructure-playbooks/purge-cluster.yml
infrastructure-playbooks/purge-container-cluster.yml

index cd0434e44c4fa298eef98358fe277224034875db..e4e926778b4711a6d7bb5bdbef4c2c3a15930672 100644 (file)
   tasks:
     - import_role:
         name: ceph-defaults
-    - import_role:
-        name: ceph-facts
-        tasks_from: container_binary
-
-    - name: disable node_exporter service
-      service:
-        name: node_exporter
-        state: stopped
-        enabled: no
-      failed_when: false
-
-    - name: remove node_exporter service file
-      file:
-        name: /etc/systemd/system/node_exporter.service
-        state: absent
 
-    - name: remove node-exporter image
-      command: "{{ container_binary }} rmi {{ node_exporter_container_image }}"
-      tags:
-        - remove_img
+    - block:
+        - import_role:
+            name: ceph-facts
+            tasks_from: container_binary
+
+        - name: disable node_exporter service
+          service:
+            name: node_exporter
+            state: stopped
+            enabled: no
+          failed_when: false
+
+        - name: remove node_exporter service file
+          file:
+            name: /etc/systemd/system/node_exporter.service
+            state: absent
+
+        - name: remove node-exporter image
+          command: "{{ container_binary }} rmi {{ node_exporter_container_image }}"
+          failed_when: false
+          tags:
+            - remove_img
+      when: dashboard_enabled | bool
 
 
 - name: purge ceph grafana-server
   tasks:
     - import_role:
         name: ceph-defaults
-    - import_role:
-        name: ceph-facts
-        tasks_from: container_binary
 
-    - name: stop services
-      service:
-        name: "{{ item }}"
-        state: stopped
-        enabled: no
-      with_items: "{{ grafana_services }}"
-      failed_when: false
-
-    - name: remove service files
-      file:
-        name: "/etc/systemd/system/{{ item }}.service"
-        state: absent
-      with_items: "{{ grafana_services }}"
-      failed_when: false
+    - block:
+        - import_role:
+            name: ceph-facts
+            tasks_from: container_binary
+
+        - name: stop services
+          service:
+            name: "{{ item }}"
+            state: stopped
+            enabled: no
+          with_items: "{{ grafana_services }}"
+          failed_when: false
 
-    - name: remove ceph dashboard container images
-      command: "{{ container_binary }} rmi {{ item }}"
-      with_items:
-        - "{{ prometheus_container_image }}"
-        - "{{ grafana_container_image }}"
-        - "{{ alertmanager_container_image }}"
-      failed_when: false
-      tags:
-        - remove_img
-
-    - name: remove data
-      file:
-        name: "{{ item }}"
-        state: absent
-      with_items:
-        - /etc/grafana/dashboards
-        - /etc/grafana/grafana.ini
-        - /etc/grafana/provisioning
-        - /var/lib/grafana
-        - /etc/alertmanager
-        - /var/lib/alertmanager
-        - /var/lib/prometheus
-        - /etc/prometheus
-      failed_when: false
+        - name: remove service files
+          file:
+            name: "/etc/systemd/system/{{ item }}.service"
+            state: absent
+          with_items: "{{ grafana_services }}"
+          failed_when: false
+
+        - name: remove ceph dashboard container images
+          command: "{{ container_binary }} rmi {{ item }}"
+          with_items:
+            - "{{ prometheus_container_image }}"
+            - "{{ grafana_container_image }}"
+            - "{{ alertmanager_container_image }}"
+          failed_when: false
+          tags:
+            - remove_img
+
+        - name: remove data
+          file:
+            name: "{{ item }}"
+            state: absent
+          with_items:
+            - /etc/grafana/dashboards
+            - /etc/grafana/grafana.ini
+            - /etc/grafana/provisioning
+            - /var/lib/grafana
+            - /etc/alertmanager
+            - /var/lib/alertmanager
+            - /var/lib/prometheus
+            - /etc/prometheus
+          failed_when: false
+      when: dashboard_enabled | bool
 
 
 - name: purge ceph mds cluster
index e76eb43cf6deabcb0603989ce6c2ed83072058a9..0e5ab6ab4f026af09f8eb53c4c1965b3bbbfe148 100644 (file)
   tasks:
     - import_role:
         name: ceph-defaults
-    - import_role:
-        name: ceph-facts
-        tasks_from: container_binary
 
-    - name: disable node_exporter service
-      service:
-        name: node_exporter
-        state: stopped
-        enabled: no
-      failed_when: false
+    - block:
+        - import_role:
+            name: ceph-facts
+            tasks_from: container_binary
+
+        - name: disable node_exporter service
+          service:
+            name: node_exporter
+            state: stopped
+            enabled: no
+          failed_when: false
 
-    - name: remove node_exporter service file
-      file:
-        name: /etc/systemd/system/node_exporter.service
-        state: absent
+        - name: remove node_exporter service file
+          file:
+            name: /etc/systemd/system/node_exporter.service
+            state: absent
 
-    - name: remove node-exporter image
-      command: "{{ container_binary }} rmi {{ node_exporter_container_image }}"
-      tags:
-        - remove_img
+        - name: remove node-exporter image
+          command: "{{ container_binary }} rmi {{ node_exporter_container_image }}"
+          failed_when: false
+          tags:
+            - remove_img
+      when: dashboard_enabled | bool
 
 - name: purge ceph-grafana
 
   tasks:
     - import_role:
         name: ceph-defaults
-    - import_role:
-        name: ceph-facts
-        tasks_from: container_binary
 
-    - name: stop services
-      service:
-        name: "{{ item }}"
-        state: stopped
-        enabled: no
-      with_items: "{{ grafana_services }}"
-      failed_when: false
+    - block:
+        - import_role:
+            name: ceph-facts
+            tasks_from: container_binary
+
+        - name: stop services
+          service:
+            name: "{{ item }}"
+            state: stopped
+            enabled: no
+          with_items: "{{ grafana_services }}"
+          failed_when: false
 
-    - name: remove service files
-      file:
-        name: "/etc/systemd/system/{{ item }}.service"
-        state: absent
-      with_items: "{{ grafana_services }}"
-      failed_when: false
+        - name: remove service files
+          file:
+            name: "/etc/systemd/system/{{ item }}.service"
+            state: absent
+          with_items: "{{ grafana_services }}"
+          failed_when: false
 
-    - name: remove ceph dashboard container images
-      command: "{{ container_binary }} rmi {{ item }}"
-      with_items:
-        - "{{ prometheus_container_image }}"
-        - "{{ grafana_container_image }}"
-        - "{{ alertmanager_container_image }}"
-      failed_when: false
-      tags:
-        - remove_img
+        - name: remove ceph dashboard container images
+          command: "{{ container_binary }} rmi {{ item }}"
+          with_items:
+            - "{{ prometheus_container_image }}"
+            - "{{ grafana_container_image }}"
+            - "{{ alertmanager_container_image }}"
+          failed_when: false
+          tags:
+            - remove_img
 
-    - name: remove data
-      file:
-        name: "{{ item }}"
-        state: absent
-      with_items:
-        - /etc/grafana/grafana.ini
-        - /etc/grafana/provisioning
-        - /var/lib/grafana
-        - /etc/alertmanager
-        - /var/lib/alertmanager
-        - /var/lib/prometheus
-        - /etc/prometheus
-      failed_when: false
+        - name: remove data
+          file:
+            name: "{{ item }}"
+            state: absent
+          with_items:
+            - /etc/grafana/grafana.ini
+            - /etc/grafana/provisioning
+            - /var/lib/grafana
+            - /etc/alertmanager
+            - /var/lib/alertmanager
+            - /var/lib/prometheus
+            - /etc/prometheus
+          failed_when: false
+      when: dashboard_enabled | bool
 
 - name: check container hosts