@@ -42,19 +42,72 @@ set +x
4242export KAYOBE_VAULT_PASSWORD=$( cat ~ /vault.password)
4343set -x
4444
45+ # Configure hosts
4546kayobe control host bootstrap
4647kayobe seed host configure
4748kayobe overcloud host configure
4849%{ if deploy_wazuh }kayobe infra vm host configure%{ endif }
4950
51+ # Deploy Ceph
5052kayobe playbook run $KAYOBE_CONFIG_PATH /ansible/cephadm-deploy.yml
5153sleep 30
5254kayobe playbook run $KAYOBE_CONFIG_PATH /ansible/cephadm.yml
5355kayobe playbook run $KAYOBE_CONFIG_PATH /ansible/cephadm-gather-keys.yml
5456
57+ pip install -r $$ {config_directories[kayobe]}/requirements.txt
58+
59+ # Deploy hashicorp vault to the seed
60+ kayobe playbook run $KAYOBE_CONFIG_PATH /ansible/vault-deploy-seed.yml
61+ ansible-vault encrypt --vault-password-file ~ /vault.password $KAYOBE_CONFIG_PATH /environments/$KAYOBE_ENVIRONMENT /vault/OS-TLS-INT.pem
62+ ansible-vault encrypt --vault-password-file ~ /vault.password $KAYOBE_CONFIG_PATH /environments/$KAYOBE_ENVIRONMENT /vault/seed-vault-keys.json
63+ ansible-vault encrypt --vault-password-file ~ /vault.password $KAYOBE_CONFIG_PATH /environments/$KAYOBE_ENVIRONMENT /vault/overcloud.key
64+
65+ kayobe overcloud service deploy -kt haproxy
66+
67+ # Deploy hashicorp vault to the controllers
68+ kayobe playbook run $KAYOBE_CONFIG_PATH /ansible/vault-deploy-overcloud.yml
69+ ansible-vault encrypt --vault-password-file ~ /vault.password $KAYOBE_CONFIG_PATH /environments/$KAYOBE_ENVIRONMENT /vault/overcloud-vault-keys.json
70+
71+ # Generate internal tls certificates
72+ kayobe playbook run $KAYOBE_CONFIG_PATH /ansible/vault-generate-internal-tls.yml
73+ ansible-vault encrypt --vault-password-file ~ /vault.password $KAYOBE_CONFIG_PATH /environments/$KAYOBE_ENVIRONMENT /kolla/certificates/haproxy-internal.pem
74+
75+ # Generate backend tls certificates
76+ kayobe playbook run $KAYOBE_CONFIG_PATH /ansible/vault-generate-backend-tls.yml
77+ %{ for hostname in controller_hostname ~ }
78+ ansible-vault encrypt --vault-password-file ~ /vault.password $KAYOBE_CONFIG_PATH /environments/$KAYOBE_ENVIRONMENT /kolla/certificates/${ hostname } -key.pem
79+ %{ endfor ~ }
80+
81+ # Set config to use tls
82+ sed -i ' s/# kolla_enable_tls_internal: true/kolla_enable_tls_internal: true/g' $KAYOBE_CONFIG_PATH /environments/$KAYOBE_ENVIRONMENT /kolla.yml
83+ cat $KAYOBE_CONFIG_PATH /environments/$KAYOBE_ENVIRONMENT /kolla/globals-tls-config.yml >> $KAYOBE_CONFIG_PATH /environments/$KAYOBE_ENVIRONMENT /kolla/globals.yml
84+
85+ # Deploy all services
5586kayobe overcloud service deploy
5687
88+ # Enable barbican
89+ sed -i ' s/# kolla_enable_barbican: true/kolla_enable_barbican: true/g' $KAYOBE_CONFIG_PATH /environments/$KAYOBE_ENVIRONMENT /kolla.yml
90+ cat << EOF >> $KAYOBE_CONFIG_PATH /environments/$KAYOBE_ENVIRONMENT /secrets.yml
91+ ---
92+ secrets_barbican_approle_secret_id: $( uuidgen)
93+ EOF
94+ ansible-vault encrypt --vault-password-file ~ /vault.password $KAYOBE_CONFIG_PATH /environments/$KAYOBE_ENVIRONMENT /secrets.yml
95+
96+ # Create vault configuration for barbican
97+ kayobe playbook run $KAYOBE_CONFIG_PATH /ansible/vault-deploy-barbican.yml
98+ ansible-vault decrypt --vault-password-file ~ /vault.password $KAYOBE_CONFIG_PATH /environments/$KAYOBE_ENVIRONMENT /secrets.yml
99+
100+ # Deploy barbican
101+ cat << EOF >> $KAYOBE_CONFIG_PATH /environments/$KAYOBE_ENVIRONMENT /secrets.yml
102+ secrets_barbican_approle_role_id: $( cat /tmp/barbican-role-id)
103+ EOF
104+ ansible-vault encrypt --vault-password-file ~ /vault.password $KAYOBE_CONFIG_PATH /environments/$KAYOBE_ENVIRONMENT /secrets.yml
105+ rm /tmp/barbican-role-id
106+ mv $KAYOBE_CONFIG_PATH /environments/$KAYOBE_ENVIRONMENT /kolla/config/barbican.conf.example $KAYOBE_CONFIG_PATH /environments/$KAYOBE_ENVIRONMENT /kolla/config/barbican.conf
107+ kayobe overcloud service deploy -kt barbican
108+
57109%{ if deploy_wazuh }
110+ # Deploy Wazuh
58111kayobe playbook run $KAYOBE_CONFIG_PATH /ansible/wazuh-secrets.yml
59112ansible-vault encrypt --vault-password-file ~ /vault.password $KAYOBE_CONFIG_PATH /environments/ci-multinode/wazuh-secrets.yml
60113kayobe playbook run $KAYOBE_CONFIG_PATH /ansible/wazuh-manager.yml
@@ -83,10 +136,11 @@ set +x
83136export KAYOBE_AUTOMATION_SSH_PRIVATE_KEY=$( cat ~ /.ssh/id_rsa)
84137set -x
85138
139+ # Run tempest
86140sudo -E docker run --detach --rm --network host -v $$ {config_directories[kayobe]}:/stack/kayobe-automation-env/src/kayobe-config -v $$ {config_directories[kayobe]}/tempest-artifacts:/stack/tempest-artifacts -e KAYOBE_ENVIRONMENT -e KAYOBE_VAULT_PASSWORD -e KAYOBE_AUTOMATION_SSH_PRIVATE_KEY kayobe:latest /stack/kayobe-automation-env/src/kayobe-config/.automation/pipeline/tempest.sh -e ansible_user=stack
87141
88142# During the initial deployment the seed node must receive the `gwee/rally` image before we can follow the logs.
89143# Therefore, we must wait a reasonable amount time before attempting to do so.
90144sleep 360
91145
92- ssh -oStrictHostKeyChecking=no ${ ssh_user } @${ seed_addr } ' sudo docker logs --follow $(sudo docker ps -q)'
146+ ssh -oStrictHostKeyChecking=no ${ ssh_user } @${ seed_addr } ' sudo docker logs --follow $(sudo docker ps -q | head -n 1 )'
0 commit comments