From d4f1f12bd0cd67dc0dd8786b2c861c4acb614d17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Han?= Date: Wed, 21 Nov 2018 16:18:58 +0100 Subject: [PATCH] rolling_update: create rbd and rbd-mirror keyrings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit During an upgrade ceph won't create keys that were not existing on the previous version. So after the upgrade of let's Jewel to Luminous, once all the monitors have the new version they should get or create the keys. It's ok to have the task fails, especially for the rbd-mirror key, which only appears in Nautilus. Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1650572 Signed-off-by: Sébastien Han (cherry picked from commit 4e267bee4f9263b9ac3b5649f1e3cf3cbaf12d10) --- infrastructure-playbooks/rolling_update.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/infrastructure-playbooks/rolling_update.yml b/infrastructure-playbooks/rolling_update.yml index eb42fa603..c75ab471d 100644 --- a/infrastructure-playbooks/rolling_update.yml +++ b/infrastructure-playbooks/rolling_update.yml @@ -189,6 +189,23 @@ when: - containerized_deployment + - name: create potentially missing keys (rbd and rbd-mirror) + ceph_key: + name: "client.{{ item.0 }}" + state: present + dest: "/var/lib/ceph/{{ item.0 }}/" + caps: + mon: "allow profile {{ item.0 }}" + cluster: "{{ cluster }}" + containerized: "{{ 'docker exec ceph-mon-' + hostvars[groups[mon_host]]['ansible_hostname'] if containerized_deployment else None }}" + when: + - cephx + delegate_to: "{{ mon_host }}" + ignore_errors: True # this might fail for upgrade from J to L on rbd-mirror and also on partially updated clusters + with_nested: + - ['bootstrap-rbd', 'bootstrap-rbd-mirror'] + - "{{ groups[mon_group_name] }}" # so the key goes on all the nodes + - name: set osd flags command: ceph --cluster {{ cluster }} osd set {{ item }} with_items: