@@ -42,19 +42,65 @@ 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+ # Create vault configuration for barbican
86+ cat << EOF >> $KAYOBE_CONFIG_PATH /environments/$KAYOBE_ENVIRONMENT /secrets.yml
87+ ---
88+ secrets_barbican_approle_secret_id: $( uuidgen)
89+ EOF
90+ ansible-vault encrypt --vault-password-file ~ /vault.password $KAYOBE_CONFIG_PATH /environments/$KAYOBE_ENVIRONMENT /secrets.yml
91+ kayobe playbook run $KAYOBE_CONFIG_PATH /ansible/vault-deploy-barbican.yml
92+ ansible-vault decrypt --vault-password-file ~ /vault.password $KAYOBE_CONFIG_PATH /environments/$KAYOBE_ENVIRONMENT /secrets.yml
93+ cat << EOF >> $KAYOBE_CONFIG_PATH /environments/$KAYOBE_ENVIRONMENT /secrets.yml
94+ secrets_barbican_approle_role_id: $( cat /tmp/barbican-role-id)
95+ EOF
96+ ansible-vault encrypt --vault-password-file ~ /vault.password $KAYOBE_CONFIG_PATH /environments/$KAYOBE_ENVIRONMENT /secrets.yml
97+ rm /tmp/barbican-role-id
98+
99+ # Deploy all services
55100kayobe overcloud service deploy
56101
57102%{ if deploy_wazuh }
103+ # Deploy Wazuh
58104kayobe playbook run $KAYOBE_CONFIG_PATH /ansible/wazuh-secrets.yml
59105ansible-vault encrypt --vault-password-file ~ /vault.password $KAYOBE_CONFIG_PATH /environments/ci-multinode/wazuh-secrets.yml
60106kayobe playbook run $KAYOBE_CONFIG_PATH /ansible/wazuh-manager.yml
@@ -83,10 +129,11 @@ set +x
83129export KAYOBE_AUTOMATION_SSH_PRIVATE_KEY=$( cat ~ /.ssh/id_rsa)
84130set -x
85131
132+ # Run tempest
86133sudo -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
87134
88135# During the initial deployment the seed node must receive the `gwee/rally` image before we can follow the logs.
89136# Therefore, we must wait a reasonable amount time before attempting to do so.
90137sleep 360
91138
92- ssh -oStrictHostKeyChecking=no ${ ssh_user } @${ seed_addr } ' sudo docker logs --follow $(sudo docker ps -q)'
139+ ssh -oStrictHostKeyChecking=no ${ ssh_user } @${ seed_addr } ' sudo docker logs --follow $(sudo docker ps -q | head -n 1 )'
0 commit comments