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

E2E Testing: Fix EKS test candidate image override #652

Merged
merged 1 commit into from
Dec 15, 2023

Conversation

majanjua-amzn
Copy link
Contributor

@majanjua-amzn majanjua-amzn commented Dec 14, 2023

This change checks if there is an adot image passed to the workflow and patches the App Signals deployment to update the image and restarts the cloudwatch pods. We check for input instead of a specific workflow, allowing any workflow to call this and run the e2e test.

Note: It is a limitation of EKS addon that we cannot set the artifact version before enabling pulse because the enablement script refers to a specific version of the addon we cannot change/create a new one for. As such, we need to apply the change for the ADOT image after enabling app signals, then restart the relevant pods.

Tested in private repo:
Test showing failure when using a non application signals image: run

  • public.ecr.aws/aws-observability/adot-autoinstrumentation-java:v1.30.0

Test showing pass for no input: run
Test showing pass for app signals as input: run

  • public.ecr.aws/aws-observability/adot-autoinstrumentation-java:v1.31.1

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

This change checks if there is an adot image passed to the workflow and patches the App Signals deployment to update the image and restarts the cloudwatch pods.
@majanjua-amzn majanjua-amzn requested a review from a team as a code owner December 14, 2023 19:24
@majanjua-amzn majanjua-amzn self-assigned this Dec 14, 2023
@majanjua-amzn majanjua-amzn added bug Something isn't working EKS EKS related issues github_actions Pull requests that update GitHub Actions code labels Dec 14, 2023
@codecov-commenter
Copy link

codecov-commenter commented Dec 14, 2023

Codecov Report

Attention: 102 lines in your changes are missing coverage. Please review.

Comparison is base (09e6487) 85.71% compared to head (5eea49b) 50.73%.
Report is 179 commits behind head on main.

Files Patch % Lines
...ent/providers/AwsAppSignalsCustomizerProvider.java 24.00% 35 Missing and 3 partials ⚠️
...gent/providers/AwsSpanMetricsProcessorBuilder.java 0.00% 20 Missing ⚠️
...ders/AttributePropagatingSpanProcessorBuilder.java 0.00% 16 Missing ⚠️
...viders/AwsMetricAttributesSpanExporterBuilder.java 0.00% 11 Missing ⚠️
...try/javaagent/providers/AwsSpanProcessingUtil.java 90.16% 1 Missing and 5 partials ⚠️
...vaagent/providers/AwsMetricAttributeGenerator.java 96.89% 2 Missing and 3 partials ⚠️
...y/javaagent/providers/AwsSpanMetricsProcessor.java 91.48% 0 Missing and 4 partials ⚠️
...t/providers/AttributePropagatingSpanProcessor.java 94.59% 2 Missing ⚠️

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@              Coverage Diff              @@
##               main     #652       +/-   ##
=============================================
- Coverage     85.71%   50.73%   -34.99%     
- Complexity       19      264      +245     
=============================================
  Files             3       39       +36     
  Lines            49     1301     +1252     
  Branches          5      141      +136     
=============================================
+ Hits             42      660      +618     
- Misses            3      609      +606     
- Partials          4       32       +28     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

# If the workflow provides a specific ADOT image to test, patch the deployment and restart CW agent related pods
if [ ${{ inputs.appsignals-adot-image-name }} != "" ]; then
kubectl patch deploy -namazon-cloudwatch amazon-cloudwatch-observability-controller-manager --type='json' \
-p='[{"op": "replace", "path": "/spec/template/spec/containers/0/args/0", "value": "--auto-instrumentation-java-image=${{ inputs.appsignals-adot-image-name }}"}]'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you provide link to the template code in CWAgent for this value that is being patched? Is it always guaranteed to be this path?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

@srprash srprash left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@PaurushGarg PaurushGarg merged commit f5fc3b3 into aws-observability:main Dec 15, 2023
4 checks passed
PaurushGarg added a commit that referenced this pull request Dec 15, 2023
* E2E Test: Ensure the use of IMDSv2 in EC2 instances (#621)

* Add e2e canary to public preview regions (#623)

* Fix trace validation error follow up fix (#626)

* Fix Terrform Destroy Error on EKS Canary (#628)

* fix-e2e-eks-terraform-destroy-error

* Add region as parameter to terraform destroy

* Bump nebula.release from 17.2.2 to 18.0.6 (#631)

Bumps nebula.release from 17.2.2 to 18.0.6.

---
updated-dependencies:
- dependency-name: nebula.release
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump actions/setup-java from 3 to 4 (#629)

Bumps [actions/setup-java](https://github.com/actions/setup-java) from 3 to 4.
- [Release notes](https://github.com/actions/setup-java/releases)
- [Commits](actions/setup-java@v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-java
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump hashicorp/setup-terraform from 2 to 3 (#586)

Bumps [hashicorp/setup-terraform](https://github.com/hashicorp/setup-terraform) from 2 to 3.
- [Release notes](https://github.com/hashicorp/setup-terraform/releases)
- [Changelog](https://github.com/hashicorp/setup-terraform/blob/main/CHANGELOG.md)
- [Commits](hashicorp/setup-terraform@v2...v3)

---
updated-dependencies:
- dependency-name: hashicorp/setup-terraform
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump rust from 1.73 to 1.74 (#611)

Bumps rust from 1.73 to 1.74.

---
updated-dependencies:
- dependency-name: rust
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump actions/setup-node from 3 to 4 (#574)

Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](actions/setup-node@v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump tempfile from 3.8.0 to 3.8.1 in /tools/cp-utility (#585)

Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.8.0 to 3.8.1.
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Stebalien/tempfile/commits)

---
updated-dependencies:
- dependency-name: tempfile
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Provide aws-region for the e2e test in worklow (#643)

* Provide aws-region for the e2e test in worklow

* Update region to us-east-1 and add concurrency

* Revert "Provide aws-region for the e2e test in worklow (#643)" (#645)

This reverts commit 44b5b68.

* E2E Testing: Add concurrency tag to test in main build and nightly build (#646)

* Use aws-region in the workflow (#649)

* Add Retry Mechanism to E2E EKS Terraform Deployment (#634)

* Add Retry Mechanism to E2E EKS Terraform Deployment

* Add Extra Comments

* Call Test APIs First before Validation

* Add clean-app-signals to retry logic

* Change App Signal Download Directory and modify if statement for validation

* Modify while loop and refactor code

* Dynamic input RPM link by region setting (#647)

* Dynamic input RPM link by region setting

* Remove unneeded env variable

* Fix an issue in echo shell command

* Revert previous wrong 'fix' regarding variable call

* Add Retry Mechanism to E2E EC2 Terraform Deployment (#635)

* Add Retry Mechanism to E2E EC2 Terraform Deployment

* Add Extra Comments

* Refactor code

* Change App Signals Directory (#650)

* change dep config to compileOnly to fix high cardinality metrics (#651)

* E2E Testing: Fix EKS test candidate image override (#652)

This change checks if there is an adot image passed to the workflow and patches the App Signals deployment to update the image and restarts the cloudwatch pods.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Mahad Janjua <134644284+majanjua-amzn@users.noreply.github.com>
Co-authored-by: Harry <harryryu@amazon.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Vasi Vasireddy <41936996+vasireddy99@users.noreply.github.com>
Co-authored-by: XinRan Zhang <xinranzh@amazon.com>
Co-authored-by: Mengyi Zhou (bjrara) <zmengyi@amazon.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working EKS EKS related issues github_actions Pull requests that update GitHub Actions code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants