143 lines
4.9 KiB
YAML
143 lines
4.9 KiB
YAML
heat_template_version: wallaby
|
|
|
|
description: >
|
|
Ceph Client service.
|
|
|
|
parameters:
|
|
ServiceData:
|
|
default: {}
|
|
description: Dictionary packing service data
|
|
type: json
|
|
ServiceNetMap:
|
|
default: {}
|
|
description: Mapping of service_name -> network name. Typically set
|
|
via parameter_defaults in the resource registry. This
|
|
mapping overrides those in ServiceNetMapDefaults.
|
|
type: json
|
|
DefaultPasswords:
|
|
default: {}
|
|
type: json
|
|
RoleName:
|
|
default: ''
|
|
description: Role name on which the service is applied
|
|
type: string
|
|
RoleParameters:
|
|
default: {}
|
|
description: Parameters specific to the role
|
|
type: json
|
|
EndpointMap:
|
|
default: {}
|
|
description: Mapping of service endpoint -> protocol. Typically set
|
|
via parameter_defaults in the resource registry.
|
|
type: json
|
|
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: []
|
|
CephConfigPath:
|
|
type: string
|
|
default: "/var/lib/tripleo-config/ceph"
|
|
description: |
|
|
The path where the Ceph Cluster config files are stored on the host.
|
|
CephClientConfigVars:
|
|
default: "/home/stack/ceph_client.yml"
|
|
type: string
|
|
description: The undercloud path where cephadm exports the Ceph Client configuration.
|
|
|
|
resources:
|
|
CephBase:
|
|
type: ./ceph-base.yaml
|
|
properties:
|
|
ServiceData: {get_param: ServiceData}
|
|
ServiceNetMap: {get_param: ServiceNetMap}
|
|
DefaultPasswords: {get_param: DefaultPasswords}
|
|
EndpointMap: {get_param: EndpointMap}
|
|
RoleName: {get_param: RoleName}
|
|
RoleParameters: {get_param: RoleParameters}
|
|
|
|
CephClientAnsibleVars:
|
|
type: OS::Heat::Value
|
|
properties:
|
|
type: json
|
|
value:
|
|
vars: {}
|
|
|
|
CephClientConfigOverrides:
|
|
type: OS::Heat::Value
|
|
properties:
|
|
type: json
|
|
value:
|
|
vars:
|
|
client:
|
|
rbd_concurrent_management_ops: 20
|
|
|
|
outputs:
|
|
role_data:
|
|
description: Role data for the Ceph Client service.
|
|
value:
|
|
service_name: ceph_client
|
|
upgrade_tasks: []
|
|
puppet_config:
|
|
config_image: ''
|
|
config_volume: ''
|
|
step_config: ''
|
|
docker_config: {}
|
|
external_deploy_tasks:
|
|
list_concat:
|
|
- {get_attr: [CephBase, role_data, external_deploy_tasks]}
|
|
- - name: ceph_base_external_deploy_init
|
|
when: step|int == 1
|
|
tags:
|
|
- ceph
|
|
block:
|
|
- name: Set some tripleo-ansible facts
|
|
set_fact:
|
|
ceph_external_multi_config: {get_param: CephExternalMultiConfig}
|
|
- name: Configure Ceph Clients
|
|
when: step|int == 2
|
|
tags:
|
|
- ceph
|
|
block:
|
|
- name: configure ceph clients
|
|
include_role:
|
|
name: tripleo_ceph_client
|
|
vars:
|
|
tripleo_ceph_client_config_home: {get_param: CephConfigPath}
|
|
tripleo_ceph_client_vars: {get_param: CephClientConfigVars}
|
|
- include_role:
|
|
name: tripleo_ceph_client
|
|
name: tripleo client role
|
|
vars:
|
|
tripleo_ceph_client_config_home: {get_param: CephConfigPath}
|
|
multiple: "{{ item }}"
|
|
loop: "{{ ceph_external_multi_config }}"
|
|
when:
|
|
- ceph_external_multi_config is defined
|
|
external_update_tasks: []
|
|
external_upgrade_tasks: []
|
|
config_settings: {}
|