Merge "Don't assume default network names in net_ip*map"
[apex-tripleo-heat-templates.git] / puppet / services / ceph-external.yaml
index b708665..134f47c 100644 (file)
@@ -1,4 +1,4 @@
-heat_template_version: 2016-10-14
+heat_template_version: ocata
 
 description: >
   Ceph External service.
@@ -61,6 +61,12 @@ parameters:
   MonitoringSubscriptionCephExternal:
     default: 'overcloud-ceph-external'
     type: string
+  RbdDefaultFeatures:
+    default: ''
+    description: The default features enabled when creating a block device
+                 image. Only applies to format 2 images. Set to '1' for Jewel
+                 clients using older Ceph servers.
+    type: string
 
 conditions:
   glance_multiple_locations:
@@ -81,24 +87,25 @@ outputs:
       config_settings:
         tripleo::profile::base::ceph::ceph_mon_host: {get_param: CephExternalMonHost}
         ceph::profile::params::fsid: {get_param: CephClusterFSID}
+        ceph::profile::params::rbd_default_features: {get_param: RbdDefaultFeatures}
         ceph::profile::params::client_keys:
-          str_replace:
-            template: "{
-              client.CLIENT_USER: {
-                secret: 'CLIENT_KEY',
-                mode: '0644',
-                cap_mon: 'allow r',
-                cap_osd: 'allow class-read object_prefix rbd_children, allow rwx pool=CINDER_POOL, allow rwx pool=CINDERBACKUP_POOL, allow rwx pool=NOVA_POOL, allow rwx pool=GLANCE_POOL, allow rwx pool=GNOCCHI_POOL'
-              }
-            }"
-            params:
-              CLIENT_USER: {get_param: CephClientUserName}
-              CLIENT_KEY: {get_param: CephClientKey}
-              NOVA_POOL: {get_param: NovaRbdPoolName}
-              CINDER_POOL: {get_param: CinderRbdPoolName}
-              CINDERBACKUP_POOL: {get_param: CinderBackupRbdPoolName}
-              GLANCE_POOL: {get_param: GlanceRbdPoolName}
-              GNOCCHI_POOL: {get_param: GnocchiRbdPoolName}
+          map_replace:
+            - CEPH_CLIENT_KEY:
+                secret: {get_param: CephClientKey}
+                mode: '0644'
+                cap_mon: 'allow r'
+                cap_osd:
+                  str_replace:
+                    template: 'allow class-read object_prefix rbd_children, allow rwx pool=CINDER_POOL, allow rwx pool=CINDERBACKUP_POOL, allow rwx pool=NOVA_POOL, allow rwx pool=GLANCE_POOL, allow rwx pool=GNOCCHI_POOL'
+                    params:
+                      NOVA_POOL: {get_param: NovaRbdPoolName}
+                      CINDER_POOL: {get_param: CinderRbdPoolName}
+                      CINDERBACKUP_POOL: {get_param: CinderBackupRbdPoolName}
+                      GLANCE_POOL: {get_param: GlanceRbdPoolName}
+                      GNOCCHI_POOL: {get_param: GnocchiRbdPoolName}
+            - keys:
+                CEPH_CLIENT_KEY:
+                  list_join: ['.', ['client', {get_param: CephClientUserName}]]
         ceph::profile::params::manage_repo: false
         # FIXME(gfidente): we should not have to list the packages explicitly in
         # the templates, but this should stay until the following is fixed: