Skip to content

test(ffe): enable .NET EVP flagevaluation egress - #7603

Draft
leoromanovsky wants to merge 2 commits into
leo.romanovsky/ffe-agentless-evp-node-tests-v2from
leo.romanovsky/ffe-agentless-evp-fallback-dotnet-tests-v2
Draft

test(ffe): enable .NET EVP flagevaluation egress#7603
leoromanovsky wants to merge 2 commits into
leo.romanovsky/ffe-agentless-evp-node-tests-v2from
leo.romanovsky/ffe-agentless-evp-fallback-dotnet-tests-v2

Conversation

@leoromanovsky

@leoromanovsky leoromanovsky commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Motivation

.NET needs route-level system-test coverage for flag-evaluation EVP delivery through the Datadog Agent, direct intake, and the serverless sidecar.

Linear: FFL-1492

Changes

  • Explicitly install the shared OpenFeature provider and select the agentless configuration source in agentless FFE scenarios.
  • Enable the three .NET flag-evaluation egress cases at v3.53.0:
    • Datadog Agent
    • agentless direct intake
    • agentless serverless sidecar
  • Keep the remaining .NET flag-evaluation behavior cases marked missing_feature (FFLSDK-28).

Decisions

  • Keep provider activation explicit because selecting a configuration source does not install the provider.
  • Activate only the three egress cases validated against the branch-built tracer.
  • Stack on test(nodejs): validate agentless EVP exposure egress #7602 so the shared direct-intake system-CA binding is reviewed once.

Validation

  • ./build.sh dotnet -w poc -- passed against the branch-built tracer package.
  • ./format.sh --check -- passed.
  • ./run.sh TEST_THE_TEST tests/test_the_test/test_manifest.py -- 32 passed.
  • ./run.sh TEST_THE_TEST tests/test_the_test/test_mock_ffe_agentless_backend.py -- 9 passed.
  • ./run.sh TEST_THE_TEST -- 438 passed, 1 expected xfail.
  • Manifest computation at .NET 3.53.0 confirmed exactly three egress classes enabled and eleven behavior classes disabled.
  • Datadog Agent flag-evaluation egress -- 1 passed in 66.95s.
  • Agentless direct flag-evaluation egress -- 1 passed in 15.17s; post-restack verification passed in 44.53s.
  • Agentless serverless-sidecar flag-evaluation egress -- 1 passed in 15.60s.
  • A control run with only the Node-specific CA location timed out after 30s; binding the proxy CA at the system bundle path made direct delivery observable before teardown.

Workflow

  1. ⚠️ Create your PR as draft ⚠️
  2. Work on your PR until CI passes.
  3. Keep test-logic review with the RFC owner; ask the R&P team in #apm-shared-testing for framework or non-obvious harness changes.

Note

FOR SYSTEM-TEST FRAMEWORK OR SCENARIO HELP, USE #apm-shared-testing.

Reviewer checklist

  • Test logic has RFC-owner review.
  • Any framework or scenario change has R&P review in #apm-shared-testing.

Enable the three validated .NET EVP egress topologies.

Environment: Datadog workspace
@github-actions

github-actions Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

CODEOWNERS have been resolved as:

manifests/dotnet.yml                                                    @DataDog/system-tests-reviewers
tests/test_the_test/test_mock_ffe_agentless_backend.py                  @DataDog/feature-flagging-and-experimentation-sdk @DataDog/system-tests-core
utils/_context/_scenarios/agentless_endtoend.py                         @DataDog/system-tests-core

Update the scenario contract test for explicit agentless Feature Flags activation.

Environment: Datadog workspace
@linear-code

linear-code Bot commented Aug 27, 2026

Copy link
Copy Markdown

FFL-1492

@datadog-datadog-us1-prod

datadog-datadog-us1-prod Bot commented Aug 27, 2026

Copy link
Copy Markdown

Tests

🎉 All green!

❄️ No new flaky tests detected

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 6cae037 | Docs | View more details | Give us feedback!

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.

1 participant