From e0ce11963cd12dd25286b2250b365df69020dde4 Mon Sep 17 00:00:00 2001 From: Jeffrey Chien Date: Mon, 17 Jun 2024 11:54:54 -0400 Subject: [PATCH 1/3] Update macos version in GitHub actions (#1216) --- .github/workflows/PR-build.yml | 4 ++-- .github/workflows/test-build-packages.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/PR-build.yml b/.github/workflows/PR-build.yml index 969a495f89..74029306ef 100644 --- a/.github/workflows/PR-build.yml +++ b/.github/workflows/PR-build.yml @@ -76,14 +76,14 @@ jobs: strategy: fail-fast: false matrix: - os: [ ubuntu-latest, windows-2019, windows-latest, macos-11] + os: [ ubuntu-latest, windows-2019, windows-latest, macos-12] include: - os: ubuntu-latest family: linux cache-path: | ~/.cache/go-build ~/go/pkg/mod - - os: macos-11 + - os: macos-12 family: darwin cache-path: | ~/Library/Caches/go-build diff --git a/.github/workflows/test-build-packages.yml b/.github/workflows/test-build-packages.yml index 12673c19d3..c2e4e3c1b9 100644 --- a/.github/workflows/test-build-packages.yml +++ b/.github/workflows/test-build-packages.yml @@ -62,7 +62,7 @@ on: jobs: MakeMacPkg: name: 'MakeMacPkg' - runs-on: macos-11 + runs-on: macos-12 permissions: id-token: write contents: read From f0956439237eb61707badd35537ca4f7f3658ec3 Mon Sep 17 00:00:00 2001 From: Parampreet Singh <50599809+Paramadon@users.noreply.github.com> Date: Wed, 19 Jun 2024 12:00:14 -0400 Subject: [PATCH 2/3] Workflow to add eks-addon gpu test (#1214) --- .github/workflows/integration-test.yml | 101 ++++++++++++++++++++++++- 1 file changed, 100 insertions(+), 1 deletion(-) diff --git a/.github/workflows/integration-test.yml b/.github/workflows/integration-test.yml index 4c806cba83..62e03ebf78 100644 --- a/.github/workflows/integration-test.yml +++ b/.github/workflows/integration-test.yml @@ -125,6 +125,8 @@ jobs: eks_deployment_matrix: ${{ steps.set-matrix.outputs.eks_deployment_matrix }} ec2_linux_itar_matrix: ${{ steps.set-matrix.outputs.ec2_linux_itar_matrix }} ec2_linux_china_matrix: ${{ steps.set-matrix.outputs.ec2_linux_china_matrix }} + eks_addon_matrix: ${{ steps.set-matrix.outputs.eks_addon_matrix }} + steps: - uses: actions/checkout@v3 @@ -142,6 +144,7 @@ jobs: run: | go run --tags=generator generator/test_case_generator.go echo "::set-output name=ec2_gpu_matrix::$(echo $(cat generator/resources/ec2_gpu_complete_test_matrix.json))" + echo "::set-output name=eks_addon_matrix::$(echo $(cat generator/resources/eks_addon_complete_test_matrix.json))" echo "::set-output name=ec2_linux_matrix::$(echo $(cat generator/resources/ec2_linux_complete_test_matrix.json))" echo "::set-output name=ec2_windows_matrix::$(echo $(cat generator/resources/ec2_windows_complete_test_matrix.json))" echo "::set-output name=ec2_mac_matrix::$(echo $(cat generator/resources/ec2_mac_complete_test_matrix.json))" @@ -159,6 +162,7 @@ jobs: - name: Echo test plan matrix run: | echo "ec2_gpu_matrix: ${{ steps.set-matrix.outputs.ec2_gpu_matrix }}" + echo "eks_addon_matrix: ${{ steps.set-matrix.outputs.eks_addon_matrix }}" echo "ec2_linux_matrix: ${{ steps.set-matrix.outputs.ec2_linux_matrix }}" echo "ec2_windows_matrix: ${{ steps.set-matrix.outputs.ec2_windows_matrix }}" echo "ec2_mac_matrix: ${{ steps.set-matrix.outputs.ec2_mac_matrix }}" @@ -1354,4 +1358,99 @@ jobs: permissions: id-token: write contents: read - secrets: inherit \ No newline at end of file + secrets: inherit + + + GPUEndToEndTest: + name: "GPU E2E Test" + needs: [ BuildAndUpload, StartLocalStack, GenerateTestMatrix, OutputEnvVariables ] + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + arrays: ${{ fromJson(needs.GenerateTestMatrix.outputs.eks_addon_matrix) }} + permissions: + id-token: write + contents: read + steps: + - uses: actions/checkout@v3 + with: + repository: ${{env.CWA_GITHUB_TEST_REPO_NAME}} + ref: ${{env.CWA_GITHUB_TEST_REPO_BRANCH}} + + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v2 + with: + role-to-assume: ${{ env.TERRAFORM_AWS_ASSUME_ROLE }} + aws-region: us-west-2 + role-duration-seconds: ${{ env.TERRAFORM_AWS_ASSUME_ROLE_DURATION }} + + + - name: Verify Terraform version + run: terraform --version + + + - name: Terraform apply and setup + run: | + if [ "${{ matrix.arrays.terraform_dir }}" != "" ]; then + cd "${{ matrix.arrays.terraform_dir }}" + else + cd terraform/eks/addon/gpu + fi + + terraform init + if terraform apply --auto-approve \ + -var="beta=true" \ + -var="addon_name=amazon-cloudwatch-observability" \ + -var="addon_version=v1.6.0-eksbuild.1" \ + -var="k8s_version=1.29" ; then + echo "Terraform apply successful." + + # Capture the output + echo "Getting EKS cluster name" + EKS_CLUSTER_NAME=$(terraform output -raw eks_cluster_name) + echo "Cluster name is ${EKS_CLUSTER_NAME}" + kubectl apply -f ./gpuBurner.yaml + kubectl create -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.15.0/deployments/static/nvidia-device-plugin.yml + kubectl patch amazoncloudwatchagents -n amazon-cloudwatch cloudwatch-agent --type='json' -p='[{"op": "replace", "path": "/spec/image", "value": ${{ secrets.AWS_ECR_PRIVATE_REGISTRY }}/${{ env.ECR_INTEGRATION_TEST_REPO }}:${{ github.sha }}}]' + else + terraform destroy -var="beta=${{ github.event.inputs.run_in_beta }}" -auto-approve && exit 1 + fi + + - name: Run Go tests with retry + uses: nick-fields/retry@v2 + with: + max_attempts: 10 + timeout_minutes: 60 + retry_wait_seconds: 60 + command: | + if [ "${{ matrix.arrays.terraform_dir }}" != "" ]; then + cd "${{ matrix.arrays.terraform_dir }}" + else + cd terraform/eks/addon/gpu + fi + echo "Getting EKS cluster name" + EKS_CLUSTER_NAME=$(terraform output -raw eks_cluster_name) + echo "Cluster name is ${EKS_CLUSTER_NAME}" + + if go test ${{ matrix.arrays.test_dir }} -eksClusterName ${EKS_CLUSTER_NAME} -computeType=EKS -v -eksDeploymentStrategy=DAEMON -eksGpuType=nvidia -useE2EMetrics; then + echo "Tests passed" + else + echo "Tests failed" + exit 1 + fi + + - name: Terraform destroy + if: always() + uses: nick-fields/retry@v2 + with: + max_attempts: 3 + timeout_minutes: 8 + retry_wait_seconds: 5 + command: | + if [ "${{ matrix.arrays.terraform_dir }}" != "" ]; then + cd "${{ matrix.arrays.terraform_dir }}" + else + cd terraform/eks/addon/gpu + fi + terraform destroy --auto-approve \ No newline at end of file From ba91a87b5c6078d7148809b41e6c432b9d72a9bf Mon Sep 17 00:00:00 2001 From: Ping Xiang <64551395+pxaws@users.noreply.github.com> Date: Fri, 21 Jun 2024 10:27:27 -0700 Subject: [PATCH 3/3] copy aws.log.group.names from resource attributes to attributes (#1220) Co-authored-by: Lisa Guo --- .../internal/normalizer/attributesnormalizer.go | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/processors/awsapplicationsignals/internal/normalizer/attributesnormalizer.go b/plugins/processors/awsapplicationsignals/internal/normalizer/attributesnormalizer.go index b0966bca2c..114ec8542b 100644 --- a/plugins/processors/awsapplicationsignals/internal/normalizer/attributesnormalizer.go +++ b/plugins/processors/awsapplicationsignals/internal/normalizer/attributesnormalizer.go @@ -70,6 +70,7 @@ var copyMapForMetric = map[string]string{ semconv.AttributeK8SJobName: "K8s.Workload", semconv.AttributeK8SCronJobName: "K8s.Workload", semconv.AttributeK8SPodName: "K8s.Pod", + semconv.AttributeAWSLogGroupNames: "aws.log.group.names", } const (