]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
dashboard: move code into a dedicated playbook
authorDimitri Savineau <dsavinea@redhat.com>
Fri, 28 Jun 2019 14:39:38 +0000 (10:39 -0400)
committerGuillaume Abrioux <gabrioux@redhat.com>
Mon, 29 Jul 2019 13:46:58 +0000 (15:46 +0200)
Move dashboard, grafana/prometheus and node-exporter plays into a
dedicated playbook in infrastructure-playbook directory.
To avoid using 'dashboard_enabled | bool' condition multiple time
in the main playbook we can just import the dashboard playbook or
not.
This patch also allows to use an unique dashboard playbook for
both baremetal and container playbooks.

Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
(cherry picked from commit 43135840b1570d35314eee3115c2ec826cff4d8d)

infrastructure-playbooks/dashboard.yml [new file with mode: 0644]
site-container.yml.sample
site.yml.sample

diff --git a/infrastructure-playbooks/dashboard.yml b/infrastructure-playbooks/dashboard.yml
new file mode 100644 (file)
index 0000000..4963119
--- /dev/null
@@ -0,0 +1,99 @@
+---
+- hosts: all
+  become: true
+  pre_tasks:
+    - name: set ceph node exporter install 'In Progress'
+      run_once: true
+      set_stats:
+        data:
+          installer_phase_ceph_node_exporter:
+            status: "In Progress"
+            start: "{{ lookup('pipe', 'date +%Y%m%d%H%M%SZ') }}"
+
+  tasks:
+    - block:
+        - import_role:
+            name: ceph-defaults
+          tags: ['ceph_update_config']
+        - import_role:
+            name: ceph-facts
+          tags: ['ceph_update_config']
+        - import_role:
+            name: ceph-container-engine
+        - import_role:
+            name: ceph-node-exporter
+
+  post_tasks:
+    - name: set ceph node exporter install 'Complete'
+      run_once: true
+      set_stats:
+        data:
+          installer_phase_ceph_node_exporter:
+            status: "Complete"
+            end: "{{ lookup('pipe', 'date +%Y%m%d%H%M%SZ') }}"
+
+- hosts: '{{ groups["grafana-server"][0] | default(groups["mgrs"][0]) | default(groups["mons"][0]) | default(omit) }}'
+  become: true
+  pre_tasks:
+    - name: set ceph grafana install 'In Progress'
+      run_once: true
+      set_stats:
+        data:
+          installer_phase_ceph_grafana:
+            status: "In Progress"
+            start: "{{ lookup('pipe', 'date +%Y%m%d%H%M%SZ') }}"
+
+  tasks:
+    - block:
+        - import_role:
+            name: ceph-defaults
+          tags: ['ceph_update_config']
+        - import_role:
+            name: ceph-facts
+          tags: ['ceph_update_config']
+        - import_role:
+            name: ceph-container-engine
+        - import_role:
+            name: ceph-prometheus
+        - import_role:
+            name: ceph-grafana
+
+  post_tasks:
+    - name: set ceph grafana install 'Complete'
+      run_once: true
+      set_stats:
+        data:
+          installer_phase_ceph_grafana:
+            status: "Complete"
+            end: "{{ lookup('pipe', 'date +%Y%m%d%H%M%SZ') }}"
+
+- hosts: '{{ groups["mgrs"][0] | default(groups["mons"][0]) | default(omit) }}'
+  become: true
+  pre_tasks:
+    - name: set ceph dashboard install 'In Progress'
+      run_once: true
+      set_stats:
+        data:
+          installer_phase_ceph_dashboard:
+            status: "In Progress"
+            start: "{{ lookup('pipe', 'date +%Y%m%d%H%M%SZ') }}"
+
+  tasks:
+    - block:
+        - import_role:
+            name: ceph-defaults
+          tags: ['ceph_update_config']
+        - import_role:
+            name: ceph-facts
+          tags: ['ceph_update_config']
+        - import_role:
+            name: ceph-dashboard
+
+  post_tasks:
+    - name: set ceph dashboard install 'Complete'
+      run_once: true
+      set_stats:
+        data:
+          installer_phase_ceph_dashboard:
+            status: "Complete"
+            end: "{{ lookup('pipe', 'date +%Y%m%d%H%M%SZ') }}"
index d38c5c9707e07e55889f4f414daff5d46212daf0..d88a8dc56fa91edc5bfc242c8d7bde4fd9f2daa1 100644 (file)
         name: ceph-container-engine
     - import_role:
         name: ceph-container-common
-    - import_role:
-        name: ceph-node-exporter
-      when: dashboard_enabled | bool
     - import_role:
         name: ceph-config
       tags: ['ceph_update_config']
         name: ceph-container-engine
     - import_role:
         name: ceph-container-common
-    - import_role:
-        name: ceph-node-exporter
-      when: dashboard_enabled | bool
     - import_role:
         name: ceph-config
       tags: ['ceph_update_config']
         name: ceph-container-engine
     - import_role:
         name: ceph-container-common
-    - import_role:
-        name: ceph-node-exporter
-      when: dashboard_enabled | bool
     - import_role:
         name: ceph-config
       tags: ['ceph_update_config']
         name: ceph-container-engine
     - import_role:
         name: ceph-container-common
-    - import_role:
-        name: ceph-node-exporter
-      when: dashboard_enabled | bool
     - import_role:
         name: ceph-config
       tags: ['ceph_update_config']
         name: ceph-container-engine
     - import_role:
         name: ceph-container-common
-    - import_role:
-        name: ceph-node-exporter
-      when: dashboard_enabled | bool
     - import_role:
         name: ceph-config
       tags: ['ceph_update_config']
         name: ceph-container-engine
     - import_role:
         name: ceph-container-common
-    - import_role:
-        name: ceph-node-exporter
-      when: dashboard_enabled | bool
     - import_role:
         name: ceph-config
       tags: ['ceph_update_config']
         name: ceph-container-engine
     - import_role:
         name: ceph-container-common
-    - import_role:
-        name: ceph-node-exporter
-      when: dashboard_enabled | bool
     - import_role:
         name: ceph-config
       tags: ['ceph_update_config']
         name: ceph-handler
     - import_role:
         name: ceph-container-engine
-      when: inventory_hostname == groups.get('clients', ['']) | first or dashboard_enabled
+      when: inventory_hostname == groups.get('clients', ['']) | first
     - import_role:
         name: ceph-container-common
       when: inventory_hostname == groups.get('clients', ['']) | first
-    - import_role:
-        name: ceph-node-exporter
-      when: dashboard_enabled | bool
     - import_role:
         name: ceph-config
       tags: ['ceph_update_config']
         name: ceph-container-engine
     - import_role:
         name: ceph-container-common
-    - import_role:
-        name: ceph-node-exporter
-      when: dashboard_enabled | bool
     - import_role:
         name: ceph-config
       tags: ['ceph_update_config']
       run_once: true
       when: not ceph_status.failed
 
-- hosts: '{{ groups["grafana-server"][0] | default(groups["mgrs"][0]) | default(groups["mons"][0]) | default(omit) }}'
-  become: true
-  pre_tasks:
-    - name: set ceph grafana install 'In Progress'
-      run_once: true
-      set_stats:
-        data:
-          installer_phase_ceph_grafana:
-            status: "In Progress"
-            start: "{{ lookup('pipe', 'date +%Y%m%d%H%M%SZ') }}"
-      when: dashboard_enabled | bool
-
-  tasks:
-    - block:
-        - import_role:
-            name: ceph-defaults
-          tags: ['ceph_update_config']
-        - import_role:
-            name: ceph-facts
-          tags: ['ceph_update_config']
-        - import_role:
-            name: ceph-handler
-        - import_role:
-            name: ceph-container-engine
-        - import_role:
-            name: ceph-container-common
-        - import_role:
-            name: ceph-node-exporter
-        - import_role:
-            name: ceph-config
-          tags: ['ceph_update_config']
-        - import_role:
-            name: ceph-prometheus
-        - import_role:
-            name: ceph-grafana
-      when: dashboard_enabled | bool
-
-  post_tasks:
-    - name: set ceph grafana install 'Complete'
-      run_once: true
-      set_stats:
-        data:
-          installer_phase_ceph_grafana:
-            status: "Complete"
-            end: "{{ lookup('pipe', 'date +%Y%m%d%H%M%SZ') }}"
-      when: dashboard_enabled | bool
-
-- hosts: '{{ groups["mgrs"][0] | default(groups["mons"][0]) | default(omit) }}'
-  become: true
-  pre_tasks:
-    - name: set ceph dashboard install 'In Progress'
-      run_once: true
-      set_stats:
-        data:
-          installer_phase_ceph_dashboard:
-            status: "In Progress"
-            start: "{{ lookup('pipe', 'date +%Y%m%d%H%M%SZ') }}"
-      when: dashboard_enabled | bool
-
-  tasks:
-    - block:
-        - import_role:
-            name: ceph-defaults
-          tags: ['ceph_update_config']
-        - import_role:
-            name: ceph-dashboard
-      when: dashboard_enabled | bool
-
-  post_tasks:
-    - name: set ceph dashboard install 'Complete'
-      run_once: true
-      set_stats:
-        data:
-          installer_phase_ceph_dashboard:
-            status: "Complete"
-            end: "{{ lookup('pipe', 'date +%Y%m%d%H%M%SZ') }}"
-      when: dashboard_enabled | bool
+- import_playbook: infrastructure-playbooks/dashboard.yml
+  when:
+    - dashboard_enabled | bool
+    - groups.get(grafana_server_group_name, []) | length > 0
index 3ca4f1f60540295802a7446c5ae6813fff192c2a..fbf534b5d69340bee839431fb597f157bcc0596c 100644 (file)
       run_once: true
       when: not ceph_status.failed
 
-- hosts: all
-  become: true
-  pre_tasks:
-    - name: set ceph node exporter install 'In Progress'
-      run_once: true
-      set_stats:
-        data:
-          installer_phase_ceph_node_exporter:
-            status: "In Progress"
-            start: "{{ lookup('pipe', 'date +%Y%m%d%H%M%SZ') }}"
-      when: dashboard_enabled | bool
-
-  tasks:
-    - block:
-        - import_role:
-            name: ceph-defaults
-        - import_role:
-            name: ceph-facts
-        - import_role:
-            name: ceph-handler
-        - import_role:
-            name: ceph-container-engine
-        - import_role:
-            name: ceph-node-exporter
-      when: dashboard_enabled | bool
-
-  post_tasks:
-    - name: set ceph node exporter install 'Complete'
-      run_once: true
-      set_stats:
-        data:
-          installer_phase_ceph_node_exporter:
-            status: "Complete"
-            end: "{{ lookup('pipe', 'date +%Y%m%d%H%M%SZ') }}"
-      when: dashboard_enabled | bool
-
-- hosts: '{{ groups["grafana-server"][0] | default(groups["mgrs"][0]) | default(groups["mons"][0]) | default(omit) }}'
-  become: true
-  pre_tasks:
-    - name: set ceph grafana install 'In Progress'
-      run_once: true
-      set_stats:
-        data:
-          installer_phase_ceph_grafana:
-            status: "In Progress"
-            start: "{{ lookup('pipe', 'date +%Y%m%d%H%M%SZ') }}"
-      when: dashboard_enabled | bool
-
-  tasks:
-    - block:
-        - import_role:
-            name: ceph-defaults
-          tags: ['ceph_update_config']
-        - import_role:
-            name: ceph-facts
-          tags: ['ceph_update_config']
-        - import_role:
-            name: ceph-handler
-        - import_role:
-            name: ceph-common
-        - import_role:
-            name: ceph-config
-          tags: ['ceph_update_config']
-        - import_role:
-            name: ceph-prometheus
-        - import_role:
-            name: ceph-grafana
-      when: dashboard_enabled | bool
-
-  post_tasks:
-    - name: set ceph grafana install 'Complete'
-      run_once: true
-      set_stats:
-        data:
-          installer_phase_ceph_grafana:
-            status: "Complete"
-            end: "{{ lookup('pipe', 'date +%Y%m%d%H%M%SZ') }}"
-      when: dashboard_enabled | bool
-
-- hosts: '{{ groups["mgrs"][0] | default(groups["mons"][0]) | default(omit) }}'
-  become: true
-  pre_tasks:
-    - name: set ceph dashboard install 'In Progress'
-      run_once: true
-      set_stats:
-        data:
-          installer_phase_ceph_dashboard:
-            status: "In Progress"
-            start: "{{ lookup('pipe', 'date +%Y%m%d%H%M%SZ') }}"
-      when: dashboard_enabled | bool
-
-  tasks:
-    - block:
-        - import_role:
-            name: ceph-defaults
-          tags: ['ceph_update_config']
-        - import_role:
-            name: ceph-dashboard
-      when: dashboard_enabled | bool
-
-  post_tasks:
-    - name: set ceph dashboard install 'Complete'
-      run_once: true
-      set_stats:
-        data:
-          installer_phase_ceph_dashboard:
-            status: "Complete"
-            end: "{{ lookup('pipe', 'date +%Y%m%d%H%M%SZ') }}"
-      when: dashboard_enabled | bool
+- import_playbook: infrastructure-playbooks/dashboard.yml
+  when:
+    - dashboard_enabled | bool
+    - groups.get(grafana_server_group_name, []) | length > 0