1 heat_template_version: pike
9 description: Dictionary packing service data
13 description: Mapping of service_name -> network name. Typically set
14 via parameter_defaults in the resource registry. This
15 mapping overrides those in ServiceNetMapDefaults.
22 description: Role name on which the service is applied
26 description: Parameters specific to the role
30 description: Mapping of service endpoint -> protocol. Typically set
31 via parameter_defaults in the resource registry.
37 description: The Ceph monitors key. Can be created with ceph-authtool --gen-print-key.
43 ManilaCephFSDataPoolName:
46 ManilaCephFSMetadataPoolName:
47 default: manila_metadata
49 CinderBackupRbdPoolName:
63 It can be used to override settings for one of the predefined pools, or to create
64 additional ones. Example:
74 CephValidationRetries:
77 description: Number of retry attempts for Ceph validation
81 description: Interval (in seconds) in between validation checks
82 MonitoringSubscriptionCephMon:
83 default: 'overcloud-ceph-mon'
86 description: default minimum replication for RBD copies
92 type: ./ceph-base.yaml
94 ServiceData: {get_param: ServiceData}
95 ServiceNetMap: {get_param: ServiceNetMap}
96 DefaultPasswords: {get_param: DefaultPasswords}
97 EndpointMap: {get_param: EndpointMap}
98 RoleName: {get_param: RoleName}
99 RoleParameters: {get_param: RoleParameters}
103 description: Role data for the Ceph Monitor service.
105 service_name: ceph_mon
106 monitoring_subscription: {get_param: MonitoringSubscriptionCephMon}
109 - get_attr: [CephBase, role_data, config_settings]
110 - ceph::profile::params::ms_bind_ipv6: {get_param: CephIPv6}
111 ceph::profile::params::mon_key: {get_param: CephMonKey}
112 ceph::profile::params::osd_pool_default_pg_num: 32
113 ceph::profile::params::osd_pool_default_pgp_num: 32
114 ceph::profile::params::osd_pool_default_size: {get_param: CephPoolDefaultSize}
115 # repeat returns items in a list, so we need to map_merge twice
116 tripleo::profile::base::ceph::mon::ceph_pools:
122 - {get_param: CinderRbdPoolName}
123 - {get_param: ManilaCephFSDataPoolName}
124 - {get_param: ManilaCephFSMetadataPoolName}
125 - {get_param: CinderBackupRbdPoolName}
126 - {get_param: NovaRbdPoolName}
127 - {get_param: GlanceRbdPoolName}
128 - {get_param: GnocchiRbdPoolName}
131 pg_num: "%{hiera('ceph::profile::params::osd_pool_default_pg_num')}"
132 pgp_num: "%{hiera('ceph::profile::params::osd_pool_default_pgp_num')}"
133 size: "%{hiera('ceph::profile::params::osd_pool_default_size')}"
134 - {get_param: CephPools}
135 tripleo.ceph_mon.firewall_rules:
139 service_config_settings:
140 get_attr: [CephBase, role_data, service_config_settings]
142 include ::tripleo::profile::base::ceph::mon
144 # Note we perform these tasks in list order, but they are all step0 so
145 # we can perform a rolling upgrade of all mon nodes in step0, then a
146 # rolling upgrade of all osd nodes in step1
148 tags: step0,validation
149 shell: ceph health | egrep -sq "HEALTH_OK|HEALTH_WARN"
153 name: ceph-mon@{{ ansible_hostname }}
155 - name: Update Ceph packages
160 - name: Start CephMon
163 name: ceph-mon@{{ ansible_hostname }}
166 # https://github.com/ceph/ceph-ansible/blob/master/infrastructure-playbooks/rolling_update.yml#L149-L157
167 - name: Wait for the monitor to join the quorum...
168 tags: step0,ceph_quorum_validation
170 ceph -s | grep monmap | sed 's/.*quorum//' | egrep -sq {{ ansible_hostname }}
171 register: ceph_quorum_nodecheck
172 until: ceph_quorum_nodecheck.rc == 0
173 retries: {get_param: CephValidationRetries}
174 delay: {get_param: CephValidationDelay}
175 - name: ceph osd crush tunables default
177 shell: ceph osd crush tunables default