Move bootstrap password to an environment var

Currently if you try to use a space in the keystone password, the
bootstrap process fails due to the password being evaulated as command
line arguments. We can work around this by using an environment var to
pass the password to the script that needs to be run.

Change-Id: I03754206781bc8f62d143b2c541f594ca3207a0f
Closes-Bug: #1811005
(cherry picked from commit 068527d139)
This commit is contained in:
Alex Schultz 2019-11-04 17:01:04 -07:00 committed by Bogdan Dobrelya (bogdando)
parent 9b2608080f
commit fdc08ebba1
1 changed files with 6 additions and 1 deletions

View File

@ -657,10 +657,15 @@ outputs:
start_order: 3
action: exec
user: root
# NOTE(mwhahaha): We use $$ because we're executing in python to
# call as shell script and passing the command to run as arguments
# to that shell script. So when it is called via eval, the escaped
# $ properly evaulates
command:
[ 'keystone', '/usr/bin/bootstrap_host_exec', 'keystone' ,'keystone-manage', 'bootstrap', '--bootstrap-password', {get_param: AdminPassword} ]
[ 'keystone', '/usr/bin/bootstrap_host_exec', 'keystone' ,'keystone-manage', 'bootstrap', '--bootstrap-password', '$$KEYSTONE_BOOTSTRAP_PASSWORD' ]
environment:
KOLLA_BOOTSTRAP: true
KEYSTONE_BOOTSTRAP_PASSWORD: {get_param: AdminPassword}
step_4:
# There are cases where we need to refresh keystone after the resource provisioning,
# such as the case of using LDAP backends for domains. So we trigger a graceful