1 heat_template_version: pike
9 description: Mapping of service_name -> network name. Typically set
10 via parameter_defaults in the resource registry. This
11 mapping overrides those in ServiceNetMapDefaults.
18 description: Role name on which the service is applied
22 description: Parameters specific to the role
26 description: Mapping of service endpoint -> protocol. Typically set
27 via parameter_defaults in the resource registry.
33 description: The Ceph monitors key. Can be created with ceph-authtool --gen-print-key.
39 ManilaCephFSDataPoolName:
42 ManilaCephFSMetadataPoolName:
43 default: manila_metadata
45 CinderBackupRbdPoolName:
59 It can be used to override settings for one of the predefined pools, or to create
60 additional ones. Example:
70 CephValidationRetries:
73 description: Number of retry attempts for Ceph validation
77 description: Interval (in seconds) in between validation checks
78 MonitoringSubscriptionCephMon:
79 default: 'overcloud-ceph-mon'
82 description: default minimum replication for RBD copies
88 type: ./ceph-base.yaml
90 ServiceNetMap: {get_param: ServiceNetMap}
91 DefaultPasswords: {get_param: DefaultPasswords}
92 EndpointMap: {get_param: EndpointMap}
93 RoleName: {get_param: RoleName}
94 RoleParameters: {get_param: RoleParameters}
98 description: Role data for the Ceph Monitor service.
100 service_name: ceph_mon
101 monitoring_subscription: {get_param: MonitoringSubscriptionCephMon}
104 - get_attr: [CephBase, role_data, config_settings]
105 - ceph::profile::params::ms_bind_ipv6: {get_param: CephIPv6}
106 ceph::profile::params::mon_key: {get_param: CephMonKey}
107 ceph::profile::params::osd_pool_default_pg_num: 32
108 ceph::profile::params::osd_pool_default_pgp_num: 32
109 ceph::profile::params::osd_pool_default_size: {get_param: CephPoolDefaultSize}
110 # repeat returns items in a list, so we need to map_merge twice
111 tripleo::profile::base::ceph::mon::ceph_pools:
117 - {get_param: CinderRbdPoolName}
118 - {get_param: ManilaCephFSDataPoolName}
119 - {get_param: ManilaCephFSMetadataPoolName}
120 - {get_param: CinderBackupRbdPoolName}
121 - {get_param: NovaRbdPoolName}
122 - {get_param: GlanceRbdPoolName}
123 - {get_param: GnocchiRbdPoolName}
126 pg_num: "%{hiera('ceph::profile::params::osd_pool_default_pg_num')}"
127 pgp_num: "%{hiera('ceph::profile::params::osd_pool_default_pgp_num')}"
128 size: "%{hiera('ceph::profile::params::osd_pool_default_size')}"
129 - {get_param: CephPools}
130 tripleo.ceph_mon.firewall_rules:
134 service_config_settings:
135 get_attr: [CephBase, role_data, service_config_settings]
137 include ::tripleo::profile::base::ceph::mon
139 # Note we perform these tasks in list order, but they are all step0 so
140 # we can perform a rolling upgrade of all mon nodes in step0, then a
141 # rolling upgrade of all osd nodes in step1
143 tags: step0,validation
144 shell: ceph health | egrep -sq "HEALTH_OK|HEALTH_WARN"
148 name: ceph-mon@{{ ansible_hostname }}
150 - name: Update Ceph packages
155 - name: Start CephMon
158 name: ceph-mon@{{ ansible_hostname }}
161 # https://github.com/ceph/ceph-ansible/blob/master/infrastructure-playbooks/rolling_update.yml#L149-L157
162 - name: Wait for the monitor to join the quorum...
163 tags: step0,ceph_quorum_validation
165 ceph -s | grep monmap | sed 's/.*quorum//' | egrep -sq {{ ansible_hostname }}
166 register: ceph_quorum_nodecheck
167 until: ceph_quorum_nodecheck.rc == 0
168 retries: {get_param: CephValidationRetries}
169 delay: {get_param: CephValidationDelay}
170 - name: ceph osd crush tunables default
172 shell: ceph osd crush tunables default