Add parametric coverage for the Org Propagation Guard (OPG) RFC#6872
Add parametric coverage for the Org Propagation Guard (OPG) RFC#6872amarziali wants to merge 5 commits into
Conversation
|
|
🎉 All green!🧪 All tests passed 🔗 Commit SHA: 20edaa0 | Docs | Datadog PR Page | Give us feedback! |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 73eae84bef
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
c6a19b8 to
a781c60
Compare
5d09541 to
a409148
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a40914870a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 20edaa0f49
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| tests/parametric/test_headers_baggage.py::Test_Headers_Baggage::test_baggageheader_maxitems_inject_D016: missing_feature | ||
| tests/parametric/test_headers_baggage.py::Test_Headers_Baggage::test_headers_baggage_only_D002: missing_feature | ||
| tests/parametric/test_headers_baggage.py::Test_Headers_Baggage_Span_Tags: v1.13.0+4663b2fa7c20c6920f347d059b57dc2a419cb7f7 | ||
| tests/parametric/test_headers_opm.py::Test_HeadersOPM_AgentInfo: missing_feature (Org Propagation Guard RFC not yet implemented) |
There was a problem hiding this comment.
Just a small comment, you can exlcude an entire file :
tests/parametric/test_headers_opm.py: missing_feature (Org Propagation Guard RFC not yet implemented)
cbeauchesne
left a comment
There was a problem hiding this comment.
AGTM, but can you get a review from someone familiar with test tested feature ?
@cbeauchesne : @bwoebi and I are the authors of the feature so it would be ok |
Motivation
Adds parametric system-tests coverage for the Org Propagation Guard RFC
The tests relies on a new test-agent that is able to inject a customizable
org_propagation_guardfield in the info endpoint. Without it, testing this feature is not possible.Note: the java opentracing controller has been modified here since was not taking into account the baggage correctly. It can be moved in another PR if needed (i.e. the one that will activate java tests).
Changes
tests/parametric/test_headers_opm.py(new, 17 tests) — covers injection passthrough/override rules, both Datadog and W3C carrier styles, default-off (no regression), match path, mismatch enforcement, trusted-OPM allowlist, strict mode, and the agent → /info → tracer pipeline.utils/_features.py— adds@features.org_propagation_guarddecorator (feature_id 555, ownersdk_capabilities).utils/_context/_scenarios/parametric.py— bumpsddapm-test-agentfromv1.42.0tov1.54.1. v1.54.1 readsORG_PROP_MARKERenv var and surfaces it asorg_prop_markerin/info, which is what lets tests configure the tracer's local OPM. Other test-agent pins (used by unrelated scenarios) are intentionally left at their existing versions.utils/build/docker/java/parametric/.../OpenTracingController.java— pre-existing harness limitation: dd-trace-ot drops the W3Cbaggageentry when convertingContext→io.opentracing.SpanContext, so neither extract nor inject sees baggage through the OT API. The patch side-channels the raw inboundbaggageheader, keyed bytrace_idso it survives the extract → make-child-span → inject flow used bydd_make_child_span_and_get_headers. Only affects the parametric Java test client; the dd-java-tracer's actual OPG enforcer correctly preservesctx.getBaggage().Workflow
🚀 Once your PR is reviewed and the CI green, you can merge it!
🛟 #apm-shared-testing 🛟
Reviewer checklist
tests/ormanifests/is modified ? I have the approval from R&P teambuild-XXX-imagelabel is present