Merge "Docker service for Cinder Volume"
[apex-tripleo-heat-templates.git] / docker / services / database / redis.yaml
index ca7b86a..9e84dd5 100644 (file)
@@ -1,4 +1,4 @@
-heat_template_version: ocata
+heat_template_version: pike
 
 description: >
   OpenStack containerized Redis services
@@ -26,6 +26,14 @@ parameters:
   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
 
 resources:
 
@@ -41,14 +49,20 @@ outputs:
     description: Role data for the Redis API role.
     value:
       service_name: {get_attr: [RedisBase, role_data, service_name]}
-      config_settings: {get_attr: [RedisBase, role_data, config_settings]}
+      config_settings:
+        map_merge:
+          - {get_attr: [RedisBase, role_data, config_settings]}
+          - redis::daemonize: false
       step_config: &step_config
         get_attr: [RedisBase, role_data, step_config]
       service_config_settings: {get_attr: [RedisBase, role_data, service_config_settings]}
       # BEGIN DOCKER SETTINGS
       puppet_config:
         config_volume: 'redis'
-        puppet_tags: 'file'
+        # NOTE: we need the exec tag to copy /etc/redis.conf.puppet to
+        # /etc/redis.conf
+        # https://github.com/arioch/puppet-redis/commit/1c004143223e660cbd433422ff8194508aab9763
+        puppet_tags: 'exec'
         step_config: *step_config
         config_image: &redis_image
           list_join:
@@ -57,8 +71,20 @@ outputs:
       kolla_config:
         /var/lib/kolla/config_files/redis.json:
           command: /usr/bin/redis-server /etc/redis.conf
+          permissions:
+            - path: /var/run/redis
+              owner: redis:redis
+              recurse: true
       docker_config:
         step_1:
+          redis_init_logs:
+            start_order: 0
+            image: *redis_image
+            privileged: false
+            user: root
+            volumes:
+              - /var/log/containers/redis:/var/log/redis
+            command: ['/bin/bash', '-c', 'chown -R redis:redis /var/log/redis']
           redis:
             image: *redis_image
             net: host
@@ -67,11 +93,19 @@ outputs:
             volumes:
               - /run:/run
               - /var/lib/kolla/config_files/redis.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/redis/etc/:/etc/:ro
+              - /var/lib/config-data/redis/etc/redis.conf:/etc/redis.conf:ro
               - /etc/localtime:/etc/localtime:ro
-              - logs:/var/log/kolla
+              - /var/log/containers/redis:/var/log/redis
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
+      host_prep_tasks:
+        - name: create persistent directories
+          file:
+            path: "{{ item }}"
+            state: directory
+          with_items:
+            - /var/log/containers/redis
+            - /var/run/redis
       upgrade_tasks:
         - name: Stop and disable redis service
           tags: step2