diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 46621c738425528c707e1661a2c0c0f4ce7f6a0e..87b3e2fe3fb9d7432fac1e27ba716f9a14f1ac8a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -178,7 +178,31 @@ deploy_compute_node: tags: - build script: - - openstack image set --accept $compute-${BUILD_DATE} || true + - openstack image set --accept $BUILT_COMPUTE_IMAGE_ID || true + - FAILED=false + - | + cat > user_data.txt <<EOF + #!/bin/bash + cat >> /etc/NetworkManager/conf.d/90-dns-none.conf<<EEOF + [main] + dns=none + EEOF + echo "$DEV_KEY" >> /root/.ssh/authorized_keys + EOF + - | + + rules: + - if: $PIPELINE_TARGET == "deploy" + when: always + +deploy_compute_node: + stage: deploy + environment: + name: $ENV + tags: + - build + script: + - openstack image set --accept $HTTP_PROXY_IMAGE_ID || true - FAILED=false - | cat > user_data.txt <<EOF @@ -201,11 +225,28 @@ deploy_compute_node: rm -rf /tmp/${CI_PROJECT_NAME} EOF - | - + export cmd="openstack server create" + cmd+=" -c id -f value --image $HTTP_PROXY_IMAGE_ID" + cmd+=" --flavor $INSTANCE_FLAVOR" + cmd+=" --network $PROXY_NETWORK" + cmd+=" --security-group webserver_sec_group" + cmd+=" --security-group allow-ssh" + cmd+=" --user-data user_data.txt" + if [ -n "$HTTP_PROXY_PORT" ];then cmd+=" --port $HTTP_PROXY_PORT"; fi + cmd+=" --wait $HTTP_PROXY_INSTANCE_NAME" + - export HTTP_PROXY_INSTANCE_ID=$(bash -c "$cmd") + - | + # Associate the floating IP(s) with the HTTP Proxy instance + for HTTP_PROXY_FLOATING_IP in ${HTTP_PROXY_FLOATING_IP_LIST[@]}; + do + echo "Associating FLOATING_IP $HTTP_PROXY_FLOATING_IP with HTTP_PROXY_INSTANCE_ID $HTTP_PROXY_INSTANCE_ID" + openstack server add floating ip $HTTP_PROXY_INSTANCE_ID $HTTP_PROXY_FLOATING_IP + done rules: - - if: $PIPELINE_TARGET == "deploy" + - if: $PIPELINE_TARGET == "deploy" && $HTTP_PROXY_IMAGE_ID when: always + deploy_http_proxy_node: stage: deploy environment: