Merge "docker-puppet: skip empty volume entries"
[apex-tripleo-heat-templates.git] / docker / services / database / mongodb.yaml
index 127f883..1579582 100644 (file)
@@ -45,20 +45,20 @@ outputs:
         map_merge:
           - get_attr: [MongodbPuppetBase, role_data, config_settings]
           - mongodb::server::fork: false
-      step_config:
+      step_config: &step_config
         list_join:
           - "\n"
           - - "['Mongodb_database', 'Mongodb_user', 'Mongodb_replset'].each |String $val| { noop_resource($val) }"
             - {get_attr: [MongodbPuppetBase, role_data, step_config]}
-      upgrade_tasks: {get_attr: [MongodbPuppetBase, role_data, upgrade_tasks]}
       # BEGIN DOCKER SETTINGS #
-      docker_image: &mongodb_image
-        list_join:
-          - '/'
-          - [ {get_param: DockerNamespace}, {get_param: DockerMongodbImage} ]
-      puppet_tags: file # set this even though file is the default
-      config_volume: mongodb
-      config_image: *mongodb_image
+      puppet_config:
+        config_volume: mongodb
+        puppet_tags: file # set this even though file is the default
+        step_config: *step_config
+        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
@@ -73,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
@@ -82,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:
@@ -91,10 +100,16 @@ 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
+          service: name=mongod state=stopped enabled=no