diff --git a/.gitlab/.gitlab-ci.yml b/.gitlab/.gitlab-ci.yml index f75bf268f..f0a523e1a 100644 --- a/.gitlab/.gitlab-ci.yml +++ b/.gitlab/.gitlab-ci.yml @@ -196,7 +196,7 @@ build container fb: - docker push $tag - echo Created docker featurebase image with tag "$tag" -# deploy EC2 instance and save instance ID to a text file +# deploy EC2 instance, configure and run featurebase deploy node for linux amd64: stage: integration image: registry.gitlab.com/gitlab-org/cloud-deploy/aws-base:latest diff --git a/qa/scripts/deployNode.sh b/qa/scripts/deployNode.sh index 2074d5400..b928a31e7 100755 --- a/qa/scripts/deployNode.sh +++ b/qa/scripts/deployNode.sh @@ -6,31 +6,31 @@ function deploy_node() { # get AMI, security group and subnet ID AMI=$(aws ssm get-parameters --names /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-ebs --query 'Parameters[0].[Value]' --output text --profile $PROFILE) if [[ $? > 0 ]]; then - echo "aws session manager find ami failed" + echo "aws session manager failed to find AMI" exit 1 fi SECURITY_GROUP=$(aws ec2 describe-security-groups --filters Name=vpc-id,Values=vpc-03a4ba3d5b7c8f978 Name=group-name,Values=default --query 'SecurityGroups[*].[GroupId]' --output text --profile $PROFILE) if [[ $? > 0 ]]; then - echo "aws session manager find security group failed" + echo "aws session manager failed to find security group" exit 1 fi SUBNET_ID=$(aws ec2 describe-subnets --filters 'Name=vpc-id,Values=vpc-03a4ba3d5b7c8f978' 'Name=availability-zone,Values=us-east-2a' --query 'Subnets[0].SubnetId' --output text --profile $PROFILE) if [[ $? > 0 ]]; then - echo "aws session manager find subnet ID failed" + echo "aws session manager failed to find subnet ID" exit 1 fi # launch EC2 instance and get instance ID aws ec2 run-instances --image-id $AMI --instance-type $INSTANCE --security-group-ids $SECURITY_GROUP --subnet-id $SUBNET_ID --key-name gitlab-featurebase-dev --tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=linux-amd64-node}]' --profile $PROFILE --user-data file://./qa/scripts/cloud-init.sh --iam-instance-profile Name=featurebase-dev-ssm > config.json if [[ $? > 0 ]]; then - echo "Launching EC2 instance failed" + echo "aws run-instances failed to launch a new EC2 instance" exit 1 fi INSTANCE_ID=$(jq '.Instances | .[0] |.InstanceId' config.json | tr -d '"') - echo "Launched EC2 instance with Instance ID: " $INSTANCE_ID + echo "aws run-instances succeeded in launching a new EC2 instance with instance ID: " $INSTANCE_ID } function initialize_featurebase() { @@ -39,12 +39,12 @@ function initialize_featurebase() { do IP=$(aws ec2 describe-instances --instance-ids $INSTANCE_ID --filters 'Name=instance-state-name, Values=running' --query 'Reservations[*].Instances[*].PublicIpAddress' --output text --profile $PROFILE) if [ -n "$IP" ]; then - echo "Public IP for EC2 instance: " $IP + echo "Public IP for EC2 instance found: " $IP break fi if [[ $? > 0 ]]; then - echo "aws cli describe-instances command failed" + echo "aws cli describe-instances command failed to find public IP" terminate_node exit 1 fi @@ -65,7 +65,7 @@ function initialize_featurebase() { # execute script to configure featurebase on the EC2 node aws ssm send-command --document-name "AWS-RunShellScript" --instance-ids $INSTANCE_ID --cli-input-json file://./qa/scripts/configureFeatureBase.json --profile $PROFILE --region $REGION if [[ $? > 0 ]]; then - echo "aws cli session manager command failed" + echo "aws cli session manager send-command failed" terminate_node exit 1 fi