diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 938283ddcb18b6fd814ec3d9be341359bdc0dfc1..de5934d6d270aa33f6885fee9d6851b9b3861114 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -21,7 +21,8 @@ variables: PKR_VAR_security_groups: '["allow-ssh"]' PKR_VAR_skip_create_image: "false" PKR_VAR_ssh_username: "centos" - PKR_VAR_networks: '["ec11e2be-8fac-46cf-8fa2-9dffb74ba5df"]' + PKR_VAR_networks: '["8cf2f12e-905d-46d9-bc70-b0897c65f75a"]' + PKR_VAR_image_membership: '["cf6fa1e53d4c40a49f4e0e469c440359"]' GIT_AUTHOR_NAME: "Gitlab runner" GIT_AUTHOR_EMAIL: "gitlab@runner" NUM_SERVER_TO_KEEP: 1 @@ -197,8 +198,6 @@ build_gpu_image: build_ood_image: stage: build - environment: - name: knightly tags: - build script: @@ -249,6 +248,7 @@ test_ood_image: tags: - build script: + - openstack image set --accept $BUILT_OOD_IMAGE_ID - FAILED=false - | eval $(ssh-agent -s) @@ -315,6 +315,64 @@ test_ood_image: artifacts: reports: dotenv: instance.env + rules: + - if: $CI_PIPELINE_SOURCE == "schedule" + when: always + +test_ood_image_mr: + stage: test + needs: [build_ood_image] + tags: + - build + script: + - export OOD_INSTANCE_NETWORK="cicd-net" + - FAILED=false + - | + eval $(ssh-agent -s) + chmod 400 "$SSH_PRIV_KEY" + ssh-add "$SSH_PRIV_KEY" + mkdir ~/.ssh + chmod 700 ~/.ssh + - | + cat > user_data.txt << OEOF + #!/bin/bash + cat > /etc/resolv.conf << EOF + search openstack.internal cm.cluster rc.uab.edu ib.cluster drac.cluster eth.cluster ib-hdr.cluster + nameserver 172.20.0.25 + EOF + echo "$DEV_KEY" >> /root/.ssh/authorized_keys + mkdir -p /run/shibboleth + chown shibd:shibd /run/shibboleth + OEOF + - > + export NEW_INSTANCE_ID=$(openstack server create + -c id -f value --image $BUILT_OOD_IMAGE_ID + --network $OOD_INSTANCE_NETWORK + --security-group ood-https-ports + --security-group allow-ssh + --user-data user_data.txt + --flavor $INSTANCE_FLAVOR + --wait + $OOD_INSTANCE_NAME) + - echo NEW_INSTANCE_ID=$NEW_INSTANCE_ID | tee -a instance.env + - openstack server add floating ip $NEW_INSTANCE_ID $FLOATING_IP + - > + curl --retry 10 --retry-delay 20 --retry-connrefused https://knightly.rc.uab.edu/Shibboleth.sso/Metadata --resolve knightly.rc.uab.edu:443:$FLOATING_IP -kf + || FAILED=true + - ssh -o StrictHostKeyChecking=no acctsvc@$FLOATING_IP '[ $(mount | grep "etc/auto" | wc -l) -eq 6 ]' || FAILED=true + - | + if [ "$FAILED" = true ]; then + if [ "${DELETE_WHEN_FAILED-true}" = true ]; then + openstack server delete $NEW_INSTANCE_ID + openstack image delete $BUILT_OOD_IMAGE_ID + fi + false + fi + artifacts: + reports: + dotenv: instance.env + rules: + - if: $CI_MERGE_REQUEST_ID deploy_review: stage: deploy @@ -379,8 +437,6 @@ deploy_cheaha: cleanup_knightly: stage: cleanup - environment: - name: knightly tags: - build script: