Merge "docker-puppet: skip empty volume entries"
[apex-tripleo-heat-templates.git] / docker / services / database / mongodb.yaml
index e83f4f1..1579582 100644 (file)
@@ -51,15 +51,14 @@ outputs:
           - - "['Mongodb_database', 'Mongodb_user', 'Mongodb_replset'].each |String $val| { noop_resource($val) }"
             - {get_attr: [MongodbPuppetBase, role_data, step_config]}
       # BEGIN DOCKER SETTINGS #
-      docker_image: &mongodb_image
-        list_join:
-          - '/'
-          - [ {get_param: DockerNamespace}, {get_param: DockerMongodbImage} ]
       puppet_config:
         config_volume: mongodb
         puppet_tags: file # set this even though file is the default
         step_config: *step_config
-        config_image: *mongodb_image
+        config_image: &mongodb_image
+          list_join:
+            - '/'
+            - [ {get_param: DockerNamespace}, {get_param: DockerMongodbImage} ]
       kolla_config:
         /var/lib/kolla/config_files/mongodb.json:
           command: /usr/bin/mongod --unixSocketPrefix=/var/run/mongodb --config /etc/mongod.conf run
@@ -74,7 +73,16 @@ outputs:
             perm: '0600'
       docker_config:
         step_2:
+          mongodb_data_ownership:
+            start_order: 0
+            image: *mongodb_image
+            net: host
+            user: root
+            command: ['chown', '-R', 'mongodb:', '/var/lib/mongodb']
+            volumes:
+              - /var/lib/mongodb:/var/lib/mongodb
           mongodb:
+            start_order: 1
             image: *mongodb_image
             net: host
             privileged: false
@@ -83,7 +91,7 @@ outputs:
               - /var/lib/config-data/mongodb/:/var/lib/kolla/config_files/src:ro
               - /etc/localtime:/etc/localtime:ro
               - logs:/var/log/kolla
-              - mongodb:/var/lib/mongodb/
+              - /var/lib/mongodb:/var/lib/mongodb
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       docker_puppet_tasks:
@@ -92,13 +100,15 @@ outputs:
           config_volume: 'mongodb_init_tasks'
           puppet_tags: 'mongodb_database,mongodb_user,mongodb_replset'
           step_config: 'include ::tripleo::profile::base::database::mongodb'
-          config_image:
-            list_join:
-            - '/'
-            - [ {get_param: DockerNamespace}, {get_param: DockerMongodbImage} ]
+          config_image: *mongodb_image
           volumes:
-          - "mongodb:/var/lib/mongodb/"
-          - "logs:/var/log/kolla:ro"
+          - /var/lib/mongodb:/var/lib/mongodb
+          - logs:/var/log/kolla:ro
+      host_prep_tasks:
+        - name: create /var/lib/mongodb
+          file:
+            path: /var/lib/mongodb
+            state: directory
       upgrade_tasks:
         - name: Stop and disable mongodb service
           tags: step2