Separate config_volume for ringbuilder
authorJames Slagle <jslagle@redhat.com>
Tue, 15 Aug 2017 19:59:08 +0000 (15:59 -0400)
committerEmilien Macchi <emilien@redhat.com>
Sat, 2 Sep 2017 15:55:27 +0000 (15:55 +0000)
commite371ec664638fc104990c5e4cdfacac932468090
treea7a056153b3a9361959d5dd0fb142fa0e447575e
parent79bd4a5c576829470ee0605551cee89233732021
Separate config_volume for ringbuilder

Use a separate config_volume for swift_ringbuilder puppet_config tasks.
This is necessary so that the swift_ringbuilder and swift-storage
services don't both rsync files to the same bind mounted directory.

The rsync command from docker-puppet.py uses --delete-after, so when
they both use the same config_volume, they can end up deleting the files
generated by the other (depending on the order of execution).

Even though a separate config_volume is used, the rings must still end up
in /etc/swift for the swift services containers.  An additional
container init task is used to copy the ring files into
/var/lib/config-data/puppet-generated/swift/etc/swift so that they will
be present when the actual swift services containers are started.

Change-Id: I05821e76191f64212704ca8e3b7428cda6b3a4b7
Closes-Bug: #1710952
(cherry picked from commit cba00abb7517efa6a8d9b8fb954563204323ffed)
docker/services/swift-ringbuilder.yaml
tools/yaml-validate.py