Merge "Bump missing template names to ocata"
[apex-tripleo-heat-templates.git] / puppet / services / ceph-mon.yaml
index f48515e..68ad69b 100644 (file)
@@ -1,9 +1,18 @@
-heat_template_version: 2016-04-08
+heat_template_version: ocata
 
 description: >
   Ceph Monitor service.
 
 parameters:
+  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
   EndpointMap:
     default: {}
     description: Mapping of service endpoint -> protocol. Typically set
@@ -19,6 +28,12 @@ parameters:
   CinderRbdPoolName:
     default: volumes
     type: string
+  ManilaCephFSDataPoolName:
+    default: manila_data
+    type: string
+  ManilaCephFSMetadataPoolName:
+    default: manila_metadata
+    type: string
   CinderBackupRbdPoolName:
     default: backups
     type: string
@@ -31,30 +46,70 @@ parameters:
   NovaRbdPoolName:
     default: vms
     type: string
+  CephPools:
+    description: >
+      It can be used to override settings for one of the predefined pools, or to create
+      additional ones. Example:
+      {
+        "volumes": {
+          "size": 5,
+          "pg_num": 128,
+          "pgp_num": 128
+         }
+      }
+    default: {}
+    type: json
+  MonitoringSubscriptionCephMon:
+    default: 'overcloud-ceph-mon'
+    type: string
 
 resources:
   CephBase:
     type: ./ceph-base.yaml
+    properties:
+      ServiceNetMap: {get_param: ServiceNetMap}
+      DefaultPasswords: {get_param: DefaultPasswords}
+      EndpointMap: {get_param: EndpointMap}
 
 outputs:
   role_data:
     description: Role data for the Ceph Monitor service.
     value:
       service_name: ceph_mon
+      monitoring_subscription: {get_param: MonitoringSubscriptionCephMon}
       config_settings:
         map_merge:
           - get_attr: [CephBase, role_data, config_settings]
           - ceph::profile::params::ms_bind_ipv6: {get_param: CephIPv6}
             ceph::profile::params::mon_key: {get_param: CephMonKey}
+            ceph::profile::params::osd_pool_default_pg_num: 32
+            ceph::profile::params::osd_pool_default_pgp_num: 32
+            ceph::profile::params::osd_pool_default_size: 3
+            # repeat returns items in a list, so we need to map_merge twice
             tripleo::profile::base::ceph::mon::ceph_pools:
-              - {get_param: CinderRbdPoolName}
-              - {get_param: CinderBackupRbdPoolName}
-              - {get_param: NovaRbdPoolName}
-              - {get_param: GlanceRbdPoolName}
-              - {get_param: GnocchiRbdPoolName}
+              map_merge:
+                - map_merge:
+                    repeat:
+                      for_each:
+                        <%pool%>:
+                          - {get_param: CinderRbdPoolName}
+                          - {get_param: ManilaCephFSDataPoolName}
+                          - {get_param: ManilaCephFSMetadataPoolName}
+                          - {get_param: CinderBackupRbdPoolName}
+                          - {get_param: NovaRbdPoolName}
+                          - {get_param: GlanceRbdPoolName}
+                          - {get_param: GnocchiRbdPoolName}
+                      template:
+                        <%pool%>:
+                          pg_num: "%{hiera('ceph::profile::params::osd_pool_default_pg_num')}"
+                          pgp_num: "%{hiera('ceph::profile::params::osd_pool_default_pgp_num')}"
+                          size: "%{hiera('ceph::profile::params::osd_pool_default_size')}"
+                - {get_param: CephPools}
             tripleo.ceph_mon.firewall_rules:
               '110 ceph_mon':
                 dport:
                   - 6789
+      service_config_settings:
+        get_attr: [CephBase, role_data, service_config_settings]
       step_config: |
         include ::tripleo::profile::base::ceph::mon