Skip to content

Commit 49d52d7

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 49d52d7

File tree

1 file changed

+26
-16
lines changed

1 file changed

+26
-16
lines changed

ansible/files/multinode.sh

Lines changed: 26 additions & 16 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,7 +193,7 @@ 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
@@ -194,9 +205,8 @@ function generate_overcloud_certs() {
194205
run_kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/secret-store/secret-store-generate-test-external-tls.yml
195206
encrypt_file $KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/kolla/certificates/haproxy.pem
196207
fi
197-
198208
# Generate internal tls certificates
199-
run_kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/secret-store/secret-store-generate-internal-tls.yml
209+
run_kayobe_playbook secret-store secret-store-generate-internal-tls.yml
200210
encrypt_file $KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/kolla/certificates/haproxy-internal.pem
201211

202212
# If ProxySQL certificate and key are generated, encrypt them
@@ -205,7 +215,7 @@ function generate_overcloud_certs() {
205215
done
206216

207217
# Generate backend tls certificates
208-
run_kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/secret-store/secret-store-generate-backend-tls.yml
218+
run_kayobe_playbook secret-store secret-store-generate-backend-tls.yml
209219
for cert in $(ls -1 $KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/kolla/certificates/*-key.pem); do
210220
encrypt_file $cert
211221
done
@@ -227,7 +237,7 @@ function generate_barbican_secrets() {
227237
decrypt_file $KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/secrets.yml
228238
sed -i "s/secret_id:.*/secret_id: $(uuidgen)/g" $KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/secrets.yml
229239
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
240+
run_kayobe_playbook secret-store secret-store-deploy-barbican.yml
231241
decrypt_file $KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/secrets.yml
232242
sed -i "s/role_id:.*/role_id: $(cat /tmp/barbican-role-id)/g" $KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/secrets.yml
233243
encrypt_file $KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/secrets.yml
@@ -257,10 +267,10 @@ function deploy_wazuh() {
257267
run_kayobe infra vm host configure
258268

259269
# Deploy Wazuh
260-
run_kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/deployment/wazuh-secrets.yml
270+
run_kayobe_playbook deployment wazuh-secrets.yml
261271
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
272+
run_kayobe_playbook deployment wazuh-manager.yml
273+
run_kayobe_playbook deployment wazuh-agent.yml
264274
}
265275

266276
function create_resources() {
@@ -387,8 +397,8 @@ function deploy_full() {
387397

388398
function upgrade_overcloud() {
389399
# 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
400+
if [[ ! -f $KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/kolla/certificates/haproxy.pem ]]; then
401+
run_kayobe_playbook secret-store secret-store-generate-test-external-tls.yml
392402
encrypt_file $KAYOBE_CONFIG_PATH/environments/$KAYOBE_ENVIRONMENT/kolla/certificates/haproxy.pem
393403
fi
394404

@@ -416,14 +426,14 @@ function minor_upgrade() {
416426
set -f
417427
run_kayobe seed host package update --packages '*'
418428
set +f
419-
run_kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/maintenance/reboot.yml --limit seed
429+
run_kayobe_playbook maintenance reboot.yml --limit seed
420430

421431
# Upgrade overcloud host packages
422432
run_kayobe overcloud host configure
423433
set -f
424434
run_kayobe overcloud host package update --packages '*'
425435
set +f
426-
run_kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/maintenance/reboot.yml --limit overcloud
436+
run_kayobe_playbook maintenance reboot.yml --limit overcloud
427437

428438
# Upgrade overcloud containers
429439
run_kayobe overcloud service deploy

0 commit comments

Comments
 (0)