@@ -342,17 +342,37 @@ jobs:
342342 echo "validation-result=failure" >> $GITHUB_OUTPUT
343343 fi
344344
345- - name : Clean up
345+ # IAM service accounts must be deleted BEFORE the namespace is deleted,
346+ # otherwise eksctl cannot find the K8s ServiceAccount and leaves the IAM role orphaned
347+ - name : Remove aws access service account
346348 if : always()
347349 continue-on-error : true
348- timeout-minutes : 5
349- working-directory : terraform/java/eks-otlp-ocb/util
350350 run : |
351- aws eks update-kubeconfig --name ${{ env.CLUSTER_NAME }} --region ${{ env.E2E_TEST_AWS_REGION }}
352- kubectl delete ns ${{ env.SAMPLE_APP_NAMESPACE }}
353- eksctl delete iamserviceaccount --name cloudwatch-agent --namespace amazon-cloudwatch --cluster ${{ env.CLUSTER_NAME }} --region ${{ env.E2E_TEST_AWS_REGION }}
354- kubectl delete ns opentelemetry-operator-system
355- aws eks update-kubeconfig --name ${{ env.CLUSTER_NAME }} --region ${{ env.E2E_TEST_AWS_REGION }}
351+ eksctl delete iamserviceaccount \
352+ --name sa-${{ env.TESTING_ID }} \
353+ --namespace ${{ env.SAMPLE_APP_NAMESPACE }} \
354+ --cluster ${{ env.CLUSTER_NAME }} \
355+ --region ${{ env.E2E_TEST_AWS_REGION }}
356+
357+ - name : Remove Application Signals Collector IAM service account
358+ if : always()
359+ continue-on-error : true
360+ run : |
361+ eksctl delete iamserviceaccount \
362+ --name appsignals-collector \
363+ --namespace ${{ env.SAMPLE_APP_NAMESPACE }} \
364+ --cluster ${{ env.CLUSTER_NAME }} \
365+ --region ${{ env.E2E_TEST_AWS_REGION }}
366+
367+ - name : Remove cloudwatch-agent IAM service account
368+ if : always()
369+ continue-on-error : true
370+ run : |
371+ eksctl delete iamserviceaccount \
372+ --name cloudwatch-agent \
373+ --namespace amazon-cloudwatch \
374+ --cluster ${{ env.CLUSTER_NAME }} \
375+ --region ${{ env.E2E_TEST_AWS_REGION }}
356376
357377 - name : Terraform destroy
358378 if : always()
@@ -370,22 +390,11 @@ jobs:
370390 -var="sample_app_image=${{ env.MAIN_SAMPLE_APP_IMAGE_ARN }}" \
371391 -var="sample_remote_app_image=${{ env.REMOTE_SAMPLE_APP_IMAGE_ARN }}"
372392
373- - name : Remove aws access service account
374- if : always()
375- continue-on-error : true
376- run : |
377- eksctl delete iamserviceaccount \
378- --name sa-${{ env.TESTING_ID }} \
379- --namespace ${{ env.SAMPLE_APP_NAMESPACE }} \
380- --cluster ${{ env.CLUSTER_NAME }} \
381- --region ${{ env.E2E_TEST_AWS_REGION }}
382-
383- - name : Remove Application Signals Collector IAM service account
393+ - name : Clean up namespaces
384394 if : always()
385395 continue-on-error : true
396+ timeout-minutes : 5
386397 run : |
387- eksctl delete iamserviceaccount \
388- --name appsignals-collector \
389- --namespace ${{ env.SAMPLE_APP_NAMESPACE }} \
390- --cluster ${{ env.CLUSTER_NAME }} \
391- --region ${{ env.E2E_TEST_AWS_REGION }}
398+ aws eks update-kubeconfig --name ${{ env.CLUSTER_NAME }} --region ${{ env.E2E_TEST_AWS_REGION }}
399+ kubectl delete ns ${{ env.SAMPLE_APP_NAMESPACE }}
400+ kubectl delete ns opentelemetry-operator-system
0 commit comments