Skip to content

Conversation

@Jeel-mehta
Copy link
Contributor

@Jeel-mehta Jeel-mehta commented May 16, 2025

Issue description:
Need to implement and validate SigV4 log functionality for Python EC2 ADOT (Stand-Alone ADOT) use case. The primary focus is on validating logs sent to the otlp_logs log group using a consistent and reliable approach that can be replicated across different language implementations.

Description of changes:

  1. Updated Terraform configuration:

    • Added OTLP logs exporter configuration
    • Set log group to otlp_logs
    • Enabled Python logging auto-instrumentation
    • Updated environment variables for SigV4 authentication
  2. Added validation resources:

    • Created new log.mustache template for SigV4 logs validation
    • Added log-validation.yml configuration
    • Updated PredefinedExpectedTemplate.java to include SigV4 logs template
    • Modified CWLogValidator.java to support SigV4 logs validation
  3. Workflow Updates:

    • Added new validation step for SigV4 logs
    • Configured TEST_LOG_GROUP_NAME environment variable

Rollback procedure:

  1. Reverting the Terraform configuration changes
  2. Removing the added validation files and code changes
  3. Removing the SigV4 logs validation step from the workflow

Test run: https://github.com/aws-observability/aws-application-signals-test-framework/actions/runs/15149888024/job/42593928321

<Can we safely revert this commit if needed? If not, detail what must be done to safely revert and why it is needed.>

Ensure you've run the following tests on your changes and include the link below:

To do so, create a test.yml file with name: Test and workflow description to test your changes, then remove the file for your PR. Link your test run in your PR description. This process is a short term solution while we work on creating a staging environment for testing.

NOTE: TESTS RUNNING ON A SINGLE EKS CLUSTER CANNOT BE RUN IN PARALLEL. See the needs keyword to run tests in succession.

  • Run Java EKS on e2e-playground in us-east-1 and eu-central-2
  • Run Python EKS on e2e-playground in us-east-1 and eu-central-2
  • Run metric limiter on EKS cluster e2e-playground in us-east-1 and eu-central-2
  • Run EC2 tests in all regions
  • Run K8s on a separate K8s cluster (check IAD test account for master node endpoints; these will change as we create and destroy clusters for OS patching)

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

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.

a high level comment: I think we should refrain from using the term SigV4 for these validations. Sigv4 is just an auth mechanism and an internal functionality of the ADOT SDK. It does not appear anywhere in the user application code or the telemetry produced.
See if you can find time to refactor the old code that references sigv4 in these testing. 🙂

@Jeel-mehta Jeel-mehta force-pushed the Python_SigV4_logs_release_testing branch 2 times, most recently from f13400e to 00c2fee Compare May 20, 2025 22:33
@Jeel-mehta Jeel-mehta force-pushed the Python_SigV4_logs_release_testing branch from 00c2fee to 6efad38 Compare May 20, 2025 23:27
@Jeel-mehta Jeel-mehta requested a review from srprash May 22, 2025 19:09
@srprash
Copy link
Contributor

srprash commented May 27, 2025

Is this PR still a draft? Anyway, the changes look good to me so I've approved. You can resolve the comments, change from draft, and merge when ready.

Thank you.

@Jeel-mehta Jeel-mehta marked this pull request as ready for review May 28, 2025 17:38
@Jeel-mehta Jeel-mehta merged commit 3ffcb65 into main May 28, 2025
1 check passed
@Jeel-mehta Jeel-mehta deleted the Python_SigV4_logs_release_testing branch May 28, 2025 18:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants