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
This commit is contained in:
John Fulton 2022-02-16 21:34:35 +00:00
parent a445fbd02b
commit a2674a176d
2 changed files with 27 additions and 1 deletions

View File

@ -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

View File

@ -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