Merge "Introduce CephExternalMultiConfig"

This commit is contained in:
Zuul 2020-02-07 03:30:53 +00:00 committed by Gerrit Code Review
commit b3d29ccedc
3 changed files with 63 additions and 3 deletions

View File

@ -93,6 +93,32 @@ parameter_defaults:
osd: "profile rbd pool=images" osd: "profile rbd pool=images"
key: "AQBRgQ9eAAAAABAAv84zEilJYZPNuJ0Iwn9Ndg==" key: "AQBRgQ9eAAAAABAAv84zEilJYZPNuJ0Iwn9Ndg=="
mode: "0600" mode: "0600"
CephExternalMultiConfig:
# create client conf and key file for two non-existent external ceph clusters
- cluster: 'ceph2'
fsid: 'af25554b-42f6-4d2b-9b9b-d08a1132d3e8'
external_cluster_mon_ips: '172.18.0.5,172.18.0.6,172.18.0.7'
keys:
- name: "client.openstack"
caps:
mgr: "allow *"
mon: "profile rbd"
osd: "osd: profile rbd pool=volumes, profile rbd pool=backups, profile rbd pool=vms, profile rbd pool=images"
key: "AQCwmeRcAAAAABAA6SQU/bGqFjlfLro5KxrB1Q=="
mode: "0600"
dashboard_enabled: false
- cluster: 'ceph3'
fsid: 'e2cba068-5f14-4b0f-b047-acf375c0004a'
external_cluster_mon_ips: '172.18.0.8,172.18.0.9,172.18.0.10'
keys:
- name: "client.openstack"
caps:
mgr: "allow *"
mon: "profile rbd"
osd: "osd: profile rbd pool=volumes, profile rbd pool=backups, profile rbd pool=vms, profile rbd pool=images"
key: "AQCwmeRcAAAAABAA6SQU/bGqFjlfLro5KxrB2Q=="
mode: "0600"
dashboard_enabled: false
CephAnsiblePlaybookVerbosity: 1 CephAnsiblePlaybookVerbosity: 1
CephAnsibleEnvironmentVariables: CephAnsibleEnvironmentVariables:
ANSIBLE_SSH_RETRIES: '4' ANSIBLE_SSH_RETRIES: '4'

View File

@ -246,6 +246,34 @@ parameters:
package. This value can be used by tripleo-validations to double check package. This value can be used by tripleo-validations to double check
the right ceph-ansible version is installed. the right ceph-ansible version is installed.
default: 'centos-ceph-nautilus' default: 'centos-ceph-nautilus'
CephExternalMultiConfig:
type: json
hidden: true
description: |
List of maps describing extra overrides which will be applied when configuring
extra external Ceph clusters. If this list is non-empty, ceph-ansible will run
an extra count(list) times using the same parameters as the first run except
each parameter within each map will override the defaults. If the following
were used, the second run would configure the overcloud to also use the ceph2
cluster with all the previous parameters except /etc/ceph/ceph2.conf would have
a mon_host entry containing the value of external_cluster_mon_ips below, and
not the default CephExternalMonHost. Subsequent ceph-ansible runs are restricted
to just ceph clients. CephExternalMultiConfig may not be used to deploy additional
internal Ceph clusters within one Heat stack. The map for each list should contain
not tripleo-heat-template parameters but ceph-ansible parameters.
- cluster: 'ceph2'
fsid: 'e2cba068-5f14-4b0f-b047-acf375c0004a'
external_cluster_mon_ips: '172.18.0.5,172.18.0.6,172.18.0.7'
keys:
- name: "client.openstack"
caps:
mgr: "allow *"
mon: "profile rbd"
osd: "osd: profile rbd pool=volumes, profile rbd pool=backups, profile rbd pool=vms, profile rbd pool=images"
key: "AQCwmeRcAAAAABAA6SQU/bGqFjlfLro5KxrB1Q=="
mode: "0600"
dashboard_enabled: false
default: []
parameter_groups: parameter_groups:
- label: deprecated - label: deprecated
@ -578,6 +606,7 @@ outputs:
yaql: yaql:
expression: dict($.data.keys().select($.toLower()).zip($.data.values())) expression: dict($.data.keys().select($.toLower()).zip($.data.values()))
data: {get_param: NodeDataLookup} data: {get_param: NodeDataLookup}
ceph_external_multi_config: {get_param: CephExternalMultiConfig}
- name: create ceph-ansible working direcotry - name: create ceph-ansible working direcotry
include_role: include_role:
name: tripleo_ceph_work_dir name: tripleo_ceph_work_dir
@ -598,9 +627,9 @@ outputs:
swift_get_url: {get_param: SwiftFetchDirGetTempurl} swift_get_url: {get_param: SwiftFetchDirGetTempurl}
swift_put_url: {get_param: SwiftFetchDirPutTempurl} swift_put_url: {get_param: SwiftFetchDirPutTempurl}
ceph_ansible_environment_variables: ceph_ansible_environment_variables:
- yaql: yaql:
data: {get_param: CephAnsibleEnvironmentVariables} data: {get_param: CephAnsibleEnvironmentVariables}
expression: $.data.items().select($[0] + '=' + $[1]).join(' ') expression: $.data.items().select($[0] + '=' + $[1])
ceph_ansible_skip_tags: {get_param: CephAnsibleSkipTags} ceph_ansible_skip_tags: {get_param: CephAnsibleSkipTags}
- name: get ssh private key - name: get ssh private key
include_role: include_role:

View File

@ -0,0 +1,5 @@
---
features:
- |
The new parameter CephExternalMultiConfig may be used to configure OpenStack
to use multiple external Ceph clusters.