From a2674a176d7d6573c1f84e4f242ad37dab73aa7c Mon Sep 17 00:00:00 2001 From: John Fulton Date: Wed, 16 Feb 2022 21:34:35 +0000 Subject: [PATCH] Update Ceph client service to handle external Ceph Update the Ceph client service to handle the external Ceph usecase by ensuring that CephClientConfigVars has the CephExternalMonHost and CephClusterFSID which were missing and caused bug 1961096. Closes-Bug: 1961096 Change-Id: I20335bc2850951926c1a9e9ea0ab761c2c18bb3f --- deployment/cephadm/ceph-client.yaml | 26 ++++++++++++++++++++++++++ environments/external-ceph.yaml | 2 +- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/deployment/cephadm/ceph-client.yaml b/deployment/cephadm/ceph-client.yaml index cf0276c72f..53f08c5be1 100644 --- a/deployment/cephadm/ceph-client.yaml +++ b/deployment/cephadm/ceph-client.yaml @@ -64,6 +64,13 @@ parameters: default: "{{ playbook_dir }}/cephadm/ceph_client.yml" type: string description: The undercloud path where cephadm exports the Ceph Client configuration. + CephClusterFSID: + type: string + description: The Ceph cluster FSID. Must be a UUID. + CephExternalMonHost: + default: '' + type: string + description: List of externally managed Ceph Mon Host IPs. Only used for external Ceph deployments. resources: CephBase: @@ -99,6 +106,25 @@ outputs: tags: - ceph block: + - name: Check if the input variable file exists + stat: + path: "{{ tripleo_ceph_client_vars }}" + register: ceph_input_vars + vars: + tripleo_ceph_client_vars: {get_param: CephClientConfigVars} + - name: Populate CephClientConfigVars from THT + copy: + dest: "{{ tripleo_ceph_client_vars }}" + content: | + tripleo_ceph_client_fsid: "{{ tripleo_ceph_client_fsid }}" + external_cluster_mon_ips: "{{ external_cluster_mon_ips }}" + when: + - ceph_input_vars.stat.exists == False + - external_cluster_mon_ips | length > 0 + vars: + tripleo_ceph_client_vars: {get_param: CephClientConfigVars} + tripleo_ceph_client_fsid: {get_param: CephClusterFSID} + external_cluster_mon_ips: {get_param: CephExternalMonHost} - name: configure ceph clients include_role: name: tripleo_ceph_client diff --git a/environments/external-ceph.yaml b/environments/external-ceph.yaml index 929cc90ce9..cab9cea34a 100644 --- a/environments/external-ceph.yaml +++ b/environments/external-ceph.yaml @@ -1,5 +1,5 @@ resource_registry: - OS::TripleO::Services::CephExternal: ../deployment/cephadm/ceph-external.yaml + OS::TripleO::Services::CephExternal: ../deployment/cephadm/ceph-client.yaml parameter_defaults: # NOTE: These example parameters are required when using CephExternal