Skip to content

Commit e4176ab

Browse files
committed
Add run_kayobe_playbook() to support 2025.1 and pre-2025.1
To match the playbook path with SKC 2025.1, PR#98 [1] updated paths of playbooks used by multinode.sh but this broke deployments using SKC 2024.1. Added function run_kayobe_playbook() which conditionally uses new paths if they're detected. [1] #98
1 parent a4b1828 commit e4176ab

File tree

1 file changed

+28
-19
lines changed

1 file changed

+28
-19
lines changed

ansible/files/multinode.sh

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -119,13 +119,24 @@ function run_kayobe() {
119119
kayobe $*
120120
}
121121

122+
function run_kayobe_playbook() {
123+
# Usage: run_kayobe_playbook <category of playbook> <name of playbook>
124+
local category=$1
125+
local playbook=$2
126+
if [[ -d $KAYOBE_CONFIG_PATH/ansible/$category ]]; then
127+
run_kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/$category/$playbook "${@:3}"
128+
else
129+
run_kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/$playbook "${@:3}"
130+
fi
131+
}
132+
122133
function deploy_seed() {
123134
run_kayobe seed host configure
124135
}
125136

126137
function deploy_seed_vault() {
127138
# Deploy hashicorp vault to the seed
128-
run_kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/secret-store/secret-store-deploy-seed.yml
139+
run_kayobe_playbook secret-store secret-store-deploy-seed.yml
129140
# Encrypt either vault or openbao certificate keys
130141
encrypt_file $KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/vault/OS-TLS-INT.pem
131142
encrypt_file $KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/vault/seed-vault-keys.json
@@ -168,10 +179,10 @@ function copy_ca_to_seed() {
168179
}
169180

170181
function deploy_ceph() {
171-
run_kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/ceph/cephadm-deploy.yml
182+
run_kayobe_playbook ceph cephadm-deploy.yml
172183
sleep 30
173-
run_kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/ceph/cephadm.yml
174-
run_kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/ceph/cephadm-gather-keys.yml
184+
run_kayobe_playbook ceph cephadm.yml
185+
run_kayobe_playbook ceph cephadm-gather-keys.yml
175186
}
176187

177188
function deploy_overcloud_vault() {
@@ -182,21 +193,19 @@ function deploy_overcloud_vault() {
182193
fi
183194

184195
# Deploy hashicorp vault to the controllers
185-
run_kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/secret-store/secret-store-deploy-overcloud.yml
196+
run_kayobe_playbook secret-store secret-store-deploy-overcloud.yml
186197
# Encrypt either vault or openbao certificate keys
187198
encrypt_file $KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/vault/overcloud-vault-keys.json
188199
encrypt_file $KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/openbao/overcloud-openbao-keys.json
189200
}
190201

191202
function generate_overcloud_certs() {
192203
# Generate external tls certificates
193-
if [[ -f $KAYOBE_CONFIG_PATH/ansible/secret-store/secret-store-generate-test-external-tls.yml ]]; then
194-
run_kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/secret-store/secret-store-generate-test-external-tls.yml
195-
encrypt_file $KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/kolla/certificates/haproxy.pem
196-
fi
204+
run_kayobe_playbook secret-store secret-store-generate-test-external-tls.yml
205+
encrypt_file $KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/kolla/certificates/haproxy.pem
197206

198207
# Generate internal tls certificates
199-
run_kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/secret-store/secret-store-generate-internal-tls.yml
208+
run_kayobe_playbook secret-store secret-store-generate-internal-tls.yml
200209
encrypt_file $KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/kolla/certificates/haproxy-internal.pem
201210

202211
# If ProxySQL certificate and key are generated, encrypt them
@@ -205,7 +214,7 @@ function generate_overcloud_certs() {
205214
done
206215

207216
# Generate backend tls certificates
208-
run_kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/secret-store/secret-store-generate-backend-tls.yml
217+
run_kayobe_playbook secret-store secret-store-generate-backend-tls.yml
209218
for cert in $(ls -1 $KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/kolla/certificates/*-key.pem); do
210219
encrypt_file $cert
211220
done
@@ -227,7 +236,7 @@ function generate_barbican_secrets() {
227236
decrypt_file $KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/secrets.yml
228237
sed -i "s/secret_id:.*/secret_id: $(uuidgen)/g" $KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/secrets.yml
229238
encrypt_file $KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/secrets.yml
230-
run_kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/secret-store/secret-store-deploy-barbican.yml
239+
run_kayobe_playbook secret-store secret-store-deploy-barbican.yml
231240
decrypt_file $KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/secrets.yml
232241
sed -i "s/role_id:.*/role_id: $(cat /tmp/barbican-role-id)/g" $KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/secrets.yml
233242
encrypt_file $KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/secrets.yml
@@ -257,10 +266,10 @@ function deploy_wazuh() {
257266
run_kayobe infra vm host configure
258267

259268
# Deploy Wazuh
260-
run_kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/deployment/wazuh-secrets.yml
269+
run_kayobe_playbook deployment wazuh-secrets.yml
261270
encrypt_file $KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/wazuh-secrets.yml
262-
run_kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/deployment/wazuh-manager.yml
263-
run_kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/deployment/wazuh-agent.yml
271+
run_kayobe_playbook deployment wazuh-manager.yml
272+
run_kayobe_playbook deployment wazuh-agent.yml
264273
}
265274

266275
function create_resources() {
@@ -387,8 +396,8 @@ function deploy_full() {
387396

388397
function upgrade_overcloud() {
389398
# Generate external tls certificates if it was previously disabled.
390-
if [[ -f $KAYOBE_CONFIG_PATH/ansible/secret-store/secret-store-generate-test-external-tls.yml ]] && [[ ! -f $KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/kolla/certificates/haproxy.pem ]]; then
391-
run_kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/secret-store/secret-store-generate-test-external-tls.yml
399+
if [[ ! -f $KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/kolla/certificates/haproxy.pem ]]; then
400+
run_kayobe_playbook secret-store secret-store-generate-test-external-tls.yml
392401
encrypt_file $KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/kolla/certificates/haproxy.pem
393402
fi
394403

@@ -416,14 +425,14 @@ function minor_upgrade() {
416425
set -f
417426
run_kayobe seed host package update --packages '*'
418427
set +f
419-
run_kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/maintenance/reboot.yml --limit seed
428+
run_kayobe_playbook maintenance reboot.yml --limit seed
420429

421430
# Upgrade overcloud host packages
422431
run_kayobe overcloud host configure
423432
set -f
424433
run_kayobe overcloud host package update --packages '*'
425434
set +f
426-
run_kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/maintenance/reboot.yml --limit overcloud
435+
run_kayobe_playbook maintenance reboot.yml --limit overcloud
427436

428437
# Upgrade overcloud containers
429438
run_kayobe overcloud service deploy

0 commit comments

Comments
 (0)