From eb51cc1bb12b1059425c93e079d69c393df4be5c Mon Sep 17 00:00:00 2001 From: Dimitri Savineau Date: Tue, 8 Oct 2019 09:54:06 -0400 Subject: [PATCH] dashboard: update layouts before the restart If the mgr dashboard doesn't restart fast enough then the inject dashboard task will fail with a HTTP error 400. Error EINVAL: Traceback (most recent call last): File "/usr/share/ceph/mgr/mgr_module.py", line 914, in _handle_command return self.handle_command(inbuf, cmd) File "/usr/share/ceph/mgr/dashboard/module.py", line 450, in handle_command push_local_dashboards() File "/usr/share/ceph/mgr/dashboard/grafana.py", line 132, in push_local_dashboards retry() File "/usr/share/ceph/mgr/dashboard/grafana.py", line 89, in call result = self.func(*self.args, **self.kwargs) File "/usr/share/ceph/mgr/dashboard/grafana.py", line 127, in push grafana.push_dashboard(body) File "/usr/share/ceph/mgr/dashboard/grafana.py", line 54, in push_dashboard response.raise_for_status() File "/usr/lib/python2.7/site-packages/requests/models.py", line 834, in raise_for_status raise HTTPError(http_error_msg, response=self) HTTPError: 400 Client Error: Bad Request Instead we can trigger this task before the module restart. Closes: #4565 Signed-off-by: Dimitri Savineau (cherry picked from commit 3f6ff240b7d5a6863478cafc0aa78e2177a09ac3) --- roles/ceph-dashboard/tasks/configure_dashboard.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/roles/ceph-dashboard/tasks/configure_dashboard.yml b/roles/ceph-dashboard/tasks/configure_dashboard.yml index 9fb96f017..1df7fc5b2 100644 --- a/roles/ceph-dashboard/tasks/configure_dashboard.yml +++ b/roles/ceph-dashboard/tasks/configure_dashboard.yml @@ -180,6 +180,13 @@ - dashboard_rgw_api_no_ssl_verify | bool - radosgw_frontend_ssl_certificate | length > 0 +- name: inject grafana dashboard layouts + command: "{{ container_exec_cmd }} ceph --cluster {{ cluster }} dashboard grafana dashboards update" + delegate_to: "{{ groups[mon_group_name][0] }}" + run_once: true + changed_when: false + when: containerized_deployment | bool + - name: disable mgr dashboard module (restart) command: "{{ container_exec_cmd }} ceph --cluster {{ cluster }} mgr module disable dashboard" changed_when: false @@ -191,10 +198,3 @@ changed_when: false delegate_to: "{{ groups[mon_group_name][0] }}" run_once: true - -- name: inject grafana dashboard layouts - command: "{{ container_exec_cmd }} ceph --cluster {{ cluster }} dashboard grafana dashboards update" - delegate_to: "{{ groups[mon_group_name][0] }}" - run_once: true - changed_when: false - when: containerized_deployment | bool