Fix race conditions between containers
authorJiri Stransky <jistr@redhat.com>
Wed, 14 Jun 2017 13:24:46 +0000 (15:24 +0200)
committerJiri Stransky <jistr@redhat.com>
Wed, 14 Jun 2017 13:58:55 +0000 (15:58 +0200)
commit248099db8c583f6e80fda24f45db74361b757128
tree21adb8f419ebf25fd391b460e2b0c426f3d47d46
parent0d87942dd78be0456842136479aa7da8de3f0151
Fix race conditions between containers

In many occasions we had log directory initialization containers
without `detach: false`, which didn't guarantee that they'll finish
before the container depending on them will start using the log
directory.

This is now fixed by moving the initialization container one global
step earlier, so that we can keep the concurrency when creating the
log dirs. (Using `detach: false` makes paunch handle just one
container at a time, and as such it can have negative performance
impact.)

For services which have their container(s) starting in step_1,
initialization cannot be moved to an earlier step, so the solution
here was to just add `detach: false`.

As a minor related change, cinder DB sync container now mounts the log
directory from host to put cinder-manage.log into the expected
location.

Change-Id: I1340de4f68dd32c2412d9385cf3a8ca202b48556
19 files changed:
docker/services/aodh-api.yaml
docker/services/cinder-api.yaml
docker/services/cinder-scheduler.yaml
docker/services/congress-api.yaml
docker/services/database/mysql.yaml
docker/services/database/redis.yaml
docker/services/glance-api.yaml
docker/services/gnocchi-api.yaml
docker/services/heat-engine.yaml
docker/services/horizon.yaml
docker/services/ironic-api.yaml
docker/services/keystone.yaml
docker/services/memcached.yaml
docker/services/mistral-api.yaml
docker/services/neutron-api.yaml
docker/services/nova-api.yaml
docker/services/panko-api.yaml
docker/services/rabbitmq.yaml
docker/services/tacker.yaml