Add Windows Azure VM integration test job - #2296
Merged
Merged
Conversation
Add an additive AzureVMWindowsIntegrationTest job to
test-artifacts.yml, cloned from the existing Linux Azure VM job. It
consumes the agent MSI from integration-test/packaging/${build_id}/ and
reuses the same secrets, vars, [WIP] naming convention, and
destroy-always cleanup as the Linux job.
Companion test lives in aws/amazon-cloudwatch-agent-test
(branch hsookim/azure-vm-windows-integ-test); depends on that PR.
Point the two Azure VM jobs at the restructured directories: terraform/azure/vm -> terraform/azure/vm/linux and terraform/azure/vm-windows -> terraform/azure/vm/win. aws/amazon-cloudwatch-agent-test#764
The Windows Azure VM can no longer receive the MSI over the slow WinRM file provisioner (~41 min, run 35537032697). Presign the MSI S3 object and pass the URL to Terraform so the VM downloads it directly; the presign resolves the bucket region since SigV4 presigned URLs are region-specific, and masks the URL in the logs. Also add -lock=false to the destroy so a stale local state lock left by a timed-out apply no longer blocks cleanup.
Use a common AzureVM-default-otel prefix with a Linux/Windows suffix so the two jobs sort together and the OS is explicit in both names.
11 tasks
jefchien
approved these changes
Sep 22, 2026
Paamicky
approved these changes
Sep 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of the issue
The Azure VM integration coverage is Linux-only, so Windows-specific regressions in the MSI or Windows Azure
-m autodetection (fixed in #2289) have no CI job exercising them. Companion to aws/amazon-cloudwatch-agent-test#764.Description of changes
AzureVMWindowsIntegrationTestjob (AzureVM-default-otel-Windows) totest-artifacts.yml, cloned from the Linux Azure VM job (sameif:gate, secrets/vars, WIP convention, destroy-always cleanup).integration-test/packaging/${build_id}/(same artifact source as the EC2 Windows test), presigns it (1h, masked) and passes the URL to terraform asagent_msi_url; the VM downloads it directly.-lock=falseso a killed apply cannot leave the state locked and leak resources.AzureVM-default-otel-Linuxand point both jobs at the restructuredterraform/azure/vm/{linux,win}paths from Remove Linux test as dependency of macOS test #764.Testing
test-artifacts.ymlfrom this branch withtest_repo_branchset to the Remove Linux test as dependency of macOS test #764 branch andtest_dir_filter=./test/azure/vm: https://github.com/aws/amazon-cloudwatch-agent/actions/runs/35613479854 --AzureVM-default-otel-Windows(14m35s) andAzureVM-default-otel-Linux(10m31s) both pass,TestAzureVMMetrics/Logs/Traces PASS on each, all Azure resources destroyed.Worth noting
working-directorychanges toterraform/azure/vm/linux.test_dir_filter=./test/azure/vmruns both Azure VM jobs; the Linux run doubles as a regression check for the Windows build-tag changes in Remove Linux test as dependency of macOS test #764.License
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Integration Tests
To run integration tests against this PR, add the
ready for testinglabel.