Keep existing data for containerized MongoDB

We used named Docker volume for MongoDB storage, which meant that when
moving from bare metal to containerized, we lost data and reinitialized
the storage from scratch.

With this commit we keep the data by mounting the original data into the
container. We also need make sure that file ownership is correct
according to the uid/gid used within MongoDB container image.

Change-Id: I86ef2cb37a068b767462d6d50fe451389b7cbb58
This commit is contained in:
Jiri Stransky 2017-03-07 14:22:33 +01:00
parent cd88f4d8e9
commit 3c51cad7c9

View File

@ -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:
@ -98,6 +107,11 @@ outputs:
volumes:
- "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