diff --git a/.github/workflows/java-eks-otlp-ocb-canary.yml b/.github/workflows/java-eks-otlp-ocb-canary.yml index 17aa5f54..70c3a9c0 100644 --- a/.github/workflows/java-eks-otlp-ocb-canary.yml +++ b/.github/workflows/java-eks-otlp-ocb-canary.yml @@ -1,7 +1,11 @@ ## Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. ## SPDX-License-Identifier: Apache-2.0 -# TODO: Add comment +## This workflow aims to run the Application Signals end-to-end tests as a canary to +## test the artifacts for App Signals enablement. It will deploy a sample app and remote +## service onto an EKS cluster, instrumented using an OTel Collector built through +## OTel Collector Builder (OCB) and interacting with the OTLP endpoint for this use case. +## Logs, metrics, and traces are all validated. name: Java EKS OTLP/OCB Enablement Canary Test on: # schedule: @@ -20,7 +24,8 @@ jobs: strategy: fail-fast: false matrix: - aws-region: ['us-west-1'] + aws-region: ['af-south-1', 'us-west-1', 'us-east-2'] + # TODO: Add the others back in. Note that the first run on a fresh cluster may fail, root cause TBD # aws-region: ['af-south-1','ap-east-1','ap-northeast-1','ap-northeast-2','ap-northeast-3','ap-south-1','ap-south-2','ap-southeast-1', # 'ap-southeast-2','ap-southeast-3','ap-southeast-4','ca-central-1','eu-central-1','eu-central-2','eu-north-1', # 'eu-south-1','eu-south-2','eu-west-1','eu-west-2','eu-west-3','il-central-1','me-central-1','me-south-1', 'sa-east-1', diff --git a/.github/workflows/java-eks-otlp-ocb-test.yml b/.github/workflows/java-eks-otlp-ocb-test.yml index e8c0ea00..d35c4ce3 100644 --- a/.github/workflows/java-eks-otlp-ocb-test.yml +++ b/.github/workflows/java-eks-otlp-ocb-test.yml @@ -189,7 +189,6 @@ jobs: echo MAIN_SAMPLE_APP_IMAGE_ARN="${{ env.ACCOUNT_ID }}.dkr.ecr.${{ env.E2E_TEST_AWS_REGION }}.amazonaws.com/${{ env.JAVA_MAIN_SAMPLE_APP_IMAGE }}:v${{ env.JAVA_VERSION }}" >> $GITHUB_ENV echo REMOTE_SAMPLE_APP_IMAGE_ARN="${{ env.ACCOUNT_ID }}.dkr.ecr.${{ env.E2E_TEST_AWS_REGION }}.amazonaws.com/${{ env.JAVA_REMOTE_SAMPLE_APP_IMAGE }}:v${{ env.JAVA_VERSION }}" >> $GITHUB_ENV - # TODO: Fix retry, clean-app-signals doesn't work for enable-app-signals-ocb.sh - name: Install OTel Operator using enablement script uses: ./.github/workflows/actions/execute_and_retry with: @@ -197,10 +196,8 @@ jobs: ${{ env.CLUSTER_NAME }} \ ${{ env.E2E_TEST_AWS_REGION }} \ ${{ env.SAMPLE_APP_NAMESPACE }}" - max_retry: 1 + max_retry: 3 sleep_time: 60 - # TODO: cleanup and increase retries - # cleanup: "TODO" - name: Install OTel Collector uses: ./.github/workflows/actions/execute_and_retry @@ -208,6 +205,8 @@ jobs: command: "cd ${{ env.TEST_RESOURCES_FOLDER }}/terraform/java/eks-otlp-ocb/util && kubectl apply -f ./appsignals-collector.yaml -n ${{ env.SAMPLE_APP_NAMESPACE }}" cleanup: "kubectl delete -f ./appsignals-collector.yaml -n ${{ env.SAMPLE_APP_NAMESPACE }} && \ aws eks update-kubeconfig --name ${{ env.CLUSTER_NAME }} --region ${{ env.E2E_TEST_AWS_REGION }}" + max_retry: 3 + sleep_time: 60 - name: Deploy sample app via terraform and wait for the endpoint to come online id: deploy-sample-app @@ -398,7 +397,7 @@ jobs: continue-on-error: true run: | eksctl delete iamserviceaccount \ - --name appsignals-collector \ + --name appsignals-collector \ --namespace ${{ env.SAMPLE_APP_NAMESPACE }} \ --cluster ${{ env.CLUSTER_NAME }} \ --region ${{ env.E2E_TEST_AWS_REGION }} \ No newline at end of file diff --git a/validator/src/main/resources/expected-data-template/java/eks-otlp-ocb/aws-sdk-call-trace.mustache b/validator/src/main/resources/expected-data-template/java/eks-otlp-ocb/aws-sdk-call-trace.mustache index 257a458d..33ad22d3 100644 --- a/validator/src/main/resources/expected-data-template/java/eks-otlp-ocb/aws-sdk-call-trace.mustache +++ b/validator/src/main/resources/expected-data-template/java/eks-otlp-ocb/aws-sdk-call-trace.mustache @@ -36,7 +36,7 @@ "name": "^S3$", "http": { "request": { - "url": "^https://e2e-test-bucket-name-{{testingId}}.s3.us-west-1.amazonaws.com\\?location$", + "url": "^https://e2e-test-bucket-name-{{testingId}}.s3.[a-z]+-[a-z]+-\\d.amazonaws.com\\?location$", "method": "^GET$" } },