Skip to content

test: Add Windows Server 2022 and 2025 test definitions for the .NET agent#1384

Merged
pranav-new-relic merged 11 commits into
mainfrom
chore/update-dotnet-agent-test-definitions-windows
Jul 13, 2026
Merged

test: Add Windows Server 2022 and 2025 test definitions for the .NET agent#1384
pranav-new-relic merged 11 commits into
mainfrom
chore/update-dotnet-agent-test-definitions-windows

Conversation

@nr-ahemsath

@nr-ahemsath nr-ahemsath commented Jun 24, 2026

Copy link
Copy Markdown
Member

Add Windows Server 2022 and 2025 test definitions for IIS + the .NET APM agent (full and core-only variants) to both the EU and JP regions, mirroring the existing 2019 set. Uses the Windows_Server-2022/2025-English-Full-Base-* AMIs already referenced by the agent-control definitions.

I also updated the version of the ASP.NET Core hosting module being installed in test/deploy/windows/iis/deploy-webapplication/roles/configure/tasks/main.yml to be .NET 10; the old link had expired and so both existing and new tests were failing.

There is also a new ansible.builtin.wait_for_connection step added to test/deploy/windows/iis/install/roles/prepare/tasks/main.yml in order to fix some test flakiness observed.

Finally: in order to get all of these tests to pass in their current form, I had to run each one individually - when they run simultaneously, they fail due to an AWS security group collision issue. I was able to temporarily work around that problem (see the full commit history) by making unique resource IDs for the main server in each test. Claude Code's analysis indicates that the issue is that the AWS security group is based on the filename + resource ID, but we have duplicate filenames which are bit-for-bit identical for the EU and JP versions of each test. I don't think fixing this problem is in the scope of this PR, and I didn't want to create an anti-pattern by leaving the unique resource IDs in place to work around this. (Update: I have reinstated the region-specific resource IDs at the request of @pranav-new-relic to ease the process of merging this PR.)

…itions

Add 2022 and 2025 .NET agent IIS test definitions (full and core-only
variants) to both the EU and JP regions, mirroring the existing 2019
set. Uses the Windows_Server-2022/2025-English-Full-Base-* AMIs already
referenced by the agent-control definitions.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@CLAassistant

CLAassistant commented Jun 24, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

nr-ahemsath and others added 9 commits June 24, 2026 13:22
Re-running failed jobs reuses the same run-id, colliding on already-created
AWS security groups (InvalidGroup.Duplicate). A fresh run-id avoids this and
re-attempts the Windows host provisioning that hit a mid-reboot race.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The "Install .net core hosting for IIS" task downloaded the .NET Core
Hosting Bundle 5.0.2 from a hardcoded visualstudio.microsoft.com
permalink that now returns a WebException, failing every Windows IIS
core-app deploy at the configure step. Point it at the current .NET 10
(10.0.9) hosting bundle on builds.dotnet.microsoft.com.

Shared role code, so this fixes the core-app path for all Windows
versions (2016/2019/2022/2025) across EU and JP.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ee if that solves security group collision issues
Newer Windows AMIs (Server 2022/2025) can still be completing first-boot
/ sysprep when the deploy connects, leaving WinRM reachable but the OS
unstable -- the IIS feature install intermittently fails with "A system
shutdown is in progress" (0x8007045b). Add a wait_for_connection guard
as the first prepare task so the connection settles before any
feature-install work runs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@pranav-new-relic

Copy link
Copy Markdown
Member
image

The design spec was landing under docs/superpowers/specs/, which isn't a
recognized area of the repo (that directory is a local scratchpad and
carries no meaning for anyone reading the tree fresh). docs/test-framework/
is already the home for test-related documentation (deployer.md,
terraform.md, README.md) and is the natural place for a design doc about
test-definition modernization.

Same content, no substantive edits — pure relocation + rename to match the
adjacent naming style (short descriptive filename, no date prefix; git
already tracks when it landed).

@pranav-new-relic pranav-new-relic left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM. Resource-ID rename fixed the AWS security-group collision (16/16 test deploys green on the previous head), and the design doc is now in a properly named location (docs/test-framework/dotnet-linux-test-modernization.md) that matches the existing conventions there. Squash-merging.

@pranav-new-relic pranav-new-relic merged commit 0e9708a into main Jul 13, 2026
35 checks passed
@pranav-new-relic pranav-new-relic deleted the chore/update-dotnet-agent-test-definitions-windows branch July 13, 2026 11:37
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.

3 participants