Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fetch latest E2E test AMI ID dynamically #8238

Merged
merged 1 commit into from
Jun 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 17 additions & 1 deletion cmd/integration_test/build/script/create_infra_config.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,27 @@ set -e
set -x
set -o pipefail

REPO_ROOT=$(git rev-parse --show-toplevel)
source $REPO_ROOT/test/e2e/E2E_AMI_FILTER_VARS

INTEGRATION_TEST_AMI_ID=$(aws ec2 describe-images \
abhay-krishna marked this conversation as resolved.
Show resolved Hide resolved
--profile ${AWS_PROFILE} \
--owners ${AMI_OWNER_ID_FILTER} \
--filters "Name=name,Values=${AMI_NAME_FILTER}" "Name=description,Values=${AMI_DESCRIPTION_FILTER}" \
--query 'sort_by(Images, &CreationDate)[-1].[ImageId]' \
--output text
)

if [ -z "$INTEGRATION_TEST_AMI_ID" ]; then
echo "INTEGRATION_TEST_AMI_ID cannot be empty. Exiting"
exit 1
fi

cat << EOF > ${INTEGRATION_TEST_INFRA_CONFIG}
---

ec2:
amiId: ${INTEGRATION_TEST_AL2_AMI_ID}
amiId: ${INTEGRATION_TEST_AMI_ID}
subnetId: ${INTEGRATION_TEST_SUBNET_ID}

vSphere:
Expand Down
30 changes: 22 additions & 8 deletions scripts/e2e_test_docker.sh
Original file line number Diff line number Diff line change
Expand Up @@ -38,37 +38,51 @@ REPO_ROOT=$(git rev-parse --show-toplevel)
BIN_FOLDER=$REPO_ROOT/bin
TEST_REGEX="${1:-TestDockerKubernetes130SimpleFlow}"
BRANCH_NAME="${2:-main}"
source $REPO_ROOT/test/e2e/E2E_AMI_FILTER_VARS

export AWS_SDK_LOAD_CONFIG=true
export AWS_CONFIG_FILE=$(pwd)/config_file
export AWS_PROFILE=e2e-docker-test

cat << EOF > config_file
cat << EOF > ${AWS_CONFIG_FILE}
[default]
output=json
region=${AWS_REGION:-${AWS_DEFAULT_REGION:-us-west-2}}
role_arn=$AWS_ROLE_ARN
web_identity_token_file=/var/run/secrets/eks.amazonaws.com/serviceaccount/token
[profile e2e-docker-test]
[profile ${AWS_PROFILE}]
role_arn=$TEST_ROLE_ARN
region=${AWS_REGION:-${AWS_DEFAULT_REGION:-us-west-2}}
source_profile=default
EOF

unset AWS_ROLE_ARN AWS_WEB_IDENTITY_TOKEN_FILE

INTEGRATION_TEST_INFRA_CONFIG="/tmp/test-infra.yml"
export T_TINKERBELL_S3_INVENTORY_CSV_KEY="inventory/den80/den80-hardware.csv"

INTEGRATION_TEST_AMI_ID=$(aws ec2 describe-images \
--profile ${AWS_PROFILE} \
--owners ${AMI_OWNER_ID_FILTER} \
--filters "Name=name,Values=${AMI_NAME_FILTER}" "Name=description,Values=${AMI_DESCRIPTION_FILTER}" \
--query 'sort_by(Images, &CreationDate)[-1].[ImageId]' \
--output text
)

if [ -z $INTEGRATION_TEST_AMI_ID ]; then
echo "INTEGRATION_TEST_AMI_ID cannot be empty. Exiting"
exit 1
fi

cat << EOF > ${INTEGRATION_TEST_INFRA_CONFIG}
---

ec2:
amiId: ${INTEGRATION_TEST_AL2_AMI_ID}
amiId: ${INTEGRATION_TEST_AMI_ID}
subnetId:

EOF

export AWS_SDK_LOAD_CONFIG=true
export AWS_CONFIG_FILE=$(pwd)/config_file
export AWS_PROFILE=e2e-docker-test
unset AWS_ROLE_ARN AWS_WEB_IDENTITY_TOKEN_FILE

BUNDLES_OVERRIDE=false
if [ -f "$BIN_FOLDER/local-bundle-release.yaml" ]; then
BUNDLES_OVERRIDE=true
Expand Down
3 changes: 3 additions & 0 deletions test/e2e/E2E_AMI_FILTER_VARS
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
AMI_OWNER_ID_FILTER=857151390494
AMI_NAME_FILTER=eksa-integration-test-AL2-*
AMI_DESCRIPTION_FILTER="*Kernel version 5.X*"