Skip to content
Snippets Groups Projects

Integration Testing: Sequential Merge and Validation of Four Feature Branches (PR #43,#44, #45,#46)

Compare and Show latest version
2 files
+ 11
35
Compare changes
  • Side-by-side
  • Inline
Files
2
+ 10
34
@@ -36,6 +36,8 @@ prep-deploy:
if [ "$TARGET_ENV" = "dev" ]; then
TF_VAR_data_volume="xdmod-dev-volume-$BUILD_DATE"
openstack volume create --snapshot xdmod-dev-volume-snap --size 20 $TF_VAR_data_volume
TF_VAR_xdmod_queue_data_volume="xdmod-dev-queue-volume-$BUILD_DATE"
openstack volume create --snapshot xdmod-queue-volume-snap --size 1 $TF_VAR_xdmod_queue_data_volume
elif [ "$TARGET_ENV" = "staging" ]; then
TF_VAR_data_volume="xdmod-staging-volume-$BUILD_DATE"
openstack volume create --snapshot xdmod-staging-vol-snapshot --size 150 $TF_VAR_data_volume
@@ -45,13 +47,15 @@ prep-deploy:
export prod_volume=$(echo "$volume_ids" | awk 'NR==1')
export prod_queue_volume=$(echo "$volume_ids" | awk 'NR==2')
echo "Detaching prod_volume=${prod_volume} from prod_instance_id=${prod_instance_id} and creating a snapshot"
echo "Detaching prod_queue_volume=${prod_queue_volume} from prod_instance_id=${prod_instance_id} and creating a snapshot"
openstack server stop $prod_instance_id && openstack server show $prod_instance_id
openstack server remove volume $prod_instance_id $prod_volume
openstack server remove volume $prod_instance_id $prod_queue_volume
openstack volume snapshot create --volume $prod_volume xdmod-prod-vol-snapshot-$BUILD_DATE
openstack volume snapshot create --volume $prod_queue_volume xdmod-prod_queue_volume-snapshot-$BUILD_DATE
openstack volume snapshot create --volume $prod_queue_volume xdmod-prod-queue-vol-snapshot-$BUILD_DATE
echo "Reattach the prod_volume=${prod_volume} to prod_instance_id=${prod_instance_id} after snapshot is created"
openstack server add volume $prod_instance_id $prod_volume --device /dev/vdb
@@ -61,11 +65,16 @@ prep-deploy:
echo "Make a copy of prod volume $prod_volume to be used in tf-apply"
TF_VAR_data_volume="xdmod-prod-vol-$BUILD_DATE"
openstack volume create --snapshot xdmod-prod-vol-snapshot-$BUILD_DATE --size 150 $TF_VAR_data_volume
echo "Make a copy of prod queue volume $prod_volume to be used in tf-apply"
TF_VAR_xdmod_queue_data_volume="xdmod-prod-queue-vol-$BUILD_DATE"
openstack volume create --snapshot xdmod-prod-queue-vol-snapshot-$BUILD_DATE --size 1 $TF_VAR_xdmod_queue_data_volume
else
echo "Unknown TARGET_ENV: $TARGET_ENV"
exit 1
fi
echo "TF_VAR_data_volume=${TF_VAR_data_volume}" | tee -a $CI_PROJECT_DIR/vars.env
echo "TF_VAR_xdmod_queue_data_volume=${TF_VAR_xdmod_queue_data_volume}" | tee -a $CI_PROJECT_DIR/vars.env
echo "TF_VAR_flavor=${TF_VAR_flavor}" | tee -a $CI_PROJECT_DIR/vars.env
echo "BUILD_DATE=${BUILD_DATE}" | tee -a $CI_PROJECT_DIR/vars.env
echo "prod_instance_id=${prod_instance_id}" | tee -a $CI_PROJECT_DIR/vars.env
@@ -162,39 +171,6 @@ production-deploy:
ssh-add "${SSH_PRIV_KEY}"
mkdir ~/.ssh
chmod 700 ~/.ssh
- ssh -o StrictHostKeyChecking=no $SSH_USERNAME@$prod_floating_ip sudo systemctl stop mariadb
- ssh -o StrictHostKeyChecking=no $SSH_USERNAME@$prod_floating_ip sudo umount /var/lib/mysql && df -h
- ssh -o StrictHostKeyChecking=no $SSH_USERNAME@$prod_floating_ip sudo umount /data/xdmod/queues && df -h
- openstack server remove volume $prod_instance_id $prod_volume
- openstack server remove volume $prod_instance_id $prod_queue_volume
- openstack server stop $prod_instance_id
# Exporting Staging Volume IDs
- export staging_volume=$(openstack server show $instance_id -c volumes_attached -f value | awk -F"'" '{print $4}' | awk 'NR==1')
- export staging_queue_volume=$(openstack server show $instance_id -c volumes_attached -f value | awk -F"'" '{print $4}' | awk 'NR==2')
# Logging Information
- echo "Detaching staging_volume_id=${staging_volume} and staging_queue_volume_id=${staging_queue_volume} from staging_instance_id=${instance_id}"
# Stopping MariaDB Service on Staging Instance
- ssh -o StrictHostKeyChecking=no $SSH_USERNAME@$staging_floating_ip sudo systemctl stop mariadb
# Unmounting MySQL Data Directories
- ssh -o StrictHostKeyChecking=no $SSH_USERNAME@$staging_floating_ip sudo umount /var/lib/mysql && df -h
- ssh -o StrictHostKeyChecking=no $SSH_USERNAME@$staging_floating_ip sudo umount /data/xdmod/queues && df -h
# Removing Volumes from Server
- openstack server remove volume $instance_id $staging_volume
- openstack server remove volume $instance_id $staging_queue_volume
- echo "Attach prod volume $xdmod-prod-vol-$BUILD_DATE to staging instance $instance_id"
- echo "Attach prod queue volume xdmod-prod-queue-vol-$BUILD_DATE to staging instance $instance_id"
- openstack volume snapshot create --volume $prod_volume xdmod-prod-data-vol-snapshot-$BUILD_DATE
- openstack volume snapshot create --volume $prod_queue_volume xdmod-prod-queue-vol-snapshot-$BUILD_DATE
- openstack volume create --snapshot xdmod-prod-data-vol-snapshot-$BUILD_DATE --size 150 xdmod-prod-vol-$BUILD_DATE
- openstack volume create --snapshot xdmod-prod-queue-vol-snapshot-$BUILD_DATE --size 1 xdmod-prod-queue-vol-$BUILD_DATE
- openstack server add volume $instance_id xdmod-prod-vol-$BUILD_DATE --device /dev/vdb
- openstack server add volume $instance_id xdmod-prod-queue-vol-$BUILD_DATE --device /dev/vdc
- echo "swap the floating IP between prod and staging instances"
- openstack server remove floating ip $prod_instance_id $prod_floating_ip
Loading