From 782144b7f17e8ddda2db1ce1b3362410ff1f8055 Mon Sep 17 00:00:00 2001 From: Francesco Pantano Date: Tue, 2 Mar 2021 10:58:43 +0100 Subject: [PATCH] Build osd caps section when there's at least >= 1 pool When Ceph is deployed by TripleO but no services using it are explicitly enabled in TripleO, an empty pool list if generated (for the same reason), and the osd caps results in an empty string, turning the cluster in a non healthy status. This patch introduces two new tasks to selectively create osd caps when profiles >= 0. Closes-Bug: #1917440 Change-Id: Id165c19121c9036a33b10d6b6d51f3bdc528307b (cherry picked from commit 594642ba8f4ce9315974578228417a3ca22975fb) --- .../roles/tripleo_ceph_work_dir/tasks/build_keys.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/tripleo_ansible/roles/tripleo_ceph_work_dir/tasks/build_keys.yml b/tripleo_ansible/roles/tripleo_ceph_work_dir/tasks/build_keys.yml index db18a2be6..cd3adbad9 100644 --- a/tripleo_ansible/roles/tripleo_ceph_work_dir/tasks/build_keys.yml +++ b/tripleo_ansible/roles/tripleo_ceph_work_dir/tasks/build_keys.yml @@ -29,7 +29,16 @@ - name: set openstack client caps set_fact: - osp_client_caps: {'mgr': 'allow *', 'mon': 'profile rbd', 'osd': "{{ profiles | regex_replace('\\, $', '') }}"} + osp_client_default_caps: {'mgr': 'allow *', 'mon': 'profile rbd'} + + - name: set openstack client osd(s) caps + set_fact: + osp_client_osd_caps: {'osd': "{{ profiles | regex_replace('\\, $', '') }}"} + when: profiles|length > 0 + + - name: Combine caps + set_fact: + osp_client_caps: "{{ osp_client_default_caps | combine(osp_client_osd_caps|default({})) }}" - name: set openstack client key set_fact: