Fix keystone, cinder, heat-api cron containers

The cron containers need to run as root in order to create PID files
correctly.

Additionally, the keystone_cron container was misconfigured to
use /usr/bin/cron instead of the correct /usr/bin/crond.

Additionally we have an issue where the Kolla keystone container has
hard coded ARGS for the docker container which causes -DFOREGROUND
(an Apache specific argument) to get appended onto the kolla_start
command thus causing crond to fail to startup correctly. This
works around the issue by overriding the command and calling
kolla_set_configs manually. Once we fix this in Kolla we can
revisit this.

Change-Id: Ib8fb2bef9a3bb89131265051e9ea304525b58374
Related-bug: 1707785
This commit is contained in:
Dan Prince 2017-07-31 17:49:24 -04:00
parent 865c65b8f4
commit 975d862bc3
3 changed files with 7 additions and 1 deletions

View File

@ -154,6 +154,7 @@ outputs:
cinder_api_cron:
image: *cinder_api_image
net: host
user: root
privileged: false
restart: always
volumes:

View File

@ -133,6 +133,7 @@ outputs:
heat_api_cron:
image: {get_param: DockerHeatApiImage}
net: host
user: root
privileged: false
restart: always
volumes:

View File

@ -99,7 +99,9 @@ outputs:
merge: true
preserve_properties: true
/var/lib/kolla/config_files/keystone_cron.json:
command: /usr/sbin/cron -n
# FIXME(dprince): this is unused ATM because Kolla hardcodes the
# args for the keystone container to -DFOREGROUND
command: /usr/sbin/crond -n
config_files:
- source: "/var/lib/kolla/config_files/src/*"
dest: "/"
@ -164,9 +166,11 @@ outputs:
keystone_cron:
start_order: 4
image: *keystone_image
user: root
net: host
privileged: false
restart: always
command: ['/bin/bash', '-c', '/usr/local/bin/kolla_set_configs && /usr/sbin/crond -n']
volumes:
list_concat:
- {get_attr: [ContainersCommon, volumes]}