Skip to content

test(acl): add COSI ab-update e2e validation#8589

Draft
bfjelds wants to merge 8 commits into
user/bfjelds/acl-cosi-build-and-uploadfrom
user/bfjelds/acl-ab-update-e2e
Draft

test(acl): add COSI ab-update e2e validation#8589
bfjelds wants to merge 8 commits into
user/bfjelds/acl-cosi-build-and-uploadfrom
user/bfjelds/acl-ab-update-e2e

Conversation

@bfjelds
Copy link
Copy Markdown
Member

@bfjelds bfjelds commented May 26, 2026

What this PR does / why we need it:

Which issue(s) this PR fixes:

Fixes #

@bfjelds bfjelds changed the title feat(acl): add COSI ab-update e2e validation test(acl): add COSI ab-update e2e validation May 27, 2026
@bfjelds bfjelds force-pushed the user/bfjelds/acl-ab-update-e2e branch from 0516215 to b008c00 Compare May 27, 2026 20:38
@bfjelds bfjelds force-pushed the user/bfjelds/acl-ab-update-e2e branch from b008c00 to c031954 Compare May 27, 2026 21:54
@bfjelds bfjelds force-pushed the user/bfjelds/acl-ab-update-e2e branch from c031954 to 55c83b3 Compare May 28, 2026 19:01
bfjelds and others added 8 commits May 29, 2026 14:53
Add RunABUpdateTests parameter to e2e-template.yaml that flows through
e2e_run.sh as RUN_AB_UPDATE_TESTS. When enabled, adds abupdate=true to
TAGS_TO_RUN; when disabled (default), adds abupdate=true to TAGS_TO_SKIP
so AB update tests never run in standard e2e pipelines.

Changes:
- e2e-template.yaml: new RunABUpdateTests boolean parameter
- e2e_run.sh: RUN_AB_UPDATE_TESTS handling with boolean normalization
- types.go: ABUpdate field on Tags struct
- scenario_test.go: Test_ACL_ABUpdate scenario (partition layout + Trident)
- validators.go: ValidateACLABPartitionLayout (dm-verity + dual rootfs)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Multi-step test that validates the complete Trident A/B update flow:
1. Verify initial A/B partition layout
2. Write host config with COSI URL (passed via pipeline parameter)
3. Stage update via trident update --allowed-operations stage
4. Finalize update (triggers reboot), handle SSH disconnect gracefully
5. Wait for node reboot (boot_id change detection), re-establish SSH
6. Validate trident status shows VolumeB and Provisioned

Pipeline plumbing:
- Added CosiUrl parameter to e2e-template.yaml
- Pass COSI_URL env var through e2e_run.sh
- Test skips when COSI_URL is not set

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
ACL A/B layout uses usr partition labels, not rootfs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Inline partition layout, dm-verity, and service checks directly into
ValidateACLABUpdate. Remove standalone Test_ACL_ABUpdatePrepared and
ValidateACLABPartitionLayout.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add resolve_cosi_url job to e2e stage that downloads the
cosi-publishing-info artifact from the ACL build, extracts
the cosi_url field, and passes it to the e2e template via
job output variables.

- Add dependsOn parameter to e2e-template.yaml for cross-job deps
- Use runtime expression to resolve COSI_URL from dependency output
- Fall back to CosiUrl parameter for manual/override scenarios
- Handle missing artifact gracefully (ACL build may not have run)
- Validate cosi_url field to avoid passing literal 'null'

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Wrap resolve_cosi_url job and RunABUpdateTests/dependsOn in
compile-time conditionals so non-ACL pipeline runs are completely
unaffected — no extra jobs, no artifact downloads, no test tag changes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@bfjelds bfjelds force-pushed the user/bfjelds/acl-ab-update-e2e branch from 55c83b3 to 96c03a8 Compare May 29, 2026 21:54
@github-actions
Copy link
Copy Markdown
Contributor

Changes cached containers or packages on windows VHDs

Please get a Windows SIG member to approve.

The following dif file shows any additions or deletions from what will be cached on windows VHDs organised by VHD type.

  • Additions are new things cached.
  • Deletions are things no longer cached.
diff --git a/vhd_files/2022-containerd-gen2.txt b/vhd_files/2022-containerd-gen2.txt
index dddb312..ce25fa5 100644
--- a/vhd_files/2022-containerd-gen2.txt
+++ b/vhd_files/2022-containerd-gen2.txt
@@ -115 +114,0 @@ mcr.microsoft.com/oss/v2/azure/secrets-store/provider-azure:v1.7.2
-mcr.microsoft.com/oss/v2/kubernetes-csi/azuredisk-csi:v1.33.10-windows-hp
@@ -118,2 +116,0 @@ mcr.microsoft.com/oss/v2/kubernetes-csi/azuredisk-csi:v1.34.3-windows-hp
-mcr.microsoft.com/oss/v2/kubernetes-csi/azuredisk-csi:v1.34.4-windows-hp
-mcr.microsoft.com/oss/v2/kubernetes-csi/azurefile-csi:v1.33.10-windows-hp
@@ -122 +118,0 @@ mcr.microsoft.com/oss/v2/kubernetes-csi/azurefile-csi:v1.34.5-windows-hp
-mcr.microsoft.com/oss/v2/kubernetes-csi/azurefile-csi:v1.34.6-windows-hp
@@ -124 +119,0 @@ mcr.microsoft.com/oss/v2/kubernetes-csi/azurefile-csi:v1.35.2-windows-hp
-mcr.microsoft.com/oss/v2/kubernetes-csi/azurefile-csi:v1.35.3-windows-hp
diff --git a/vhd_files/2022-containerd.txt b/vhd_files/2022-containerd.txt
index df70a07..620eb5a 100644
--- a/vhd_files/2022-containerd.txt
+++ b/vhd_files/2022-containerd.txt
@@ -115 +114,0 @@ mcr.microsoft.com/oss/v2/azure/secrets-store/provider-azure:v1.7.2
-mcr.microsoft.com/oss/v2/kubernetes-csi/azuredisk-csi:v1.33.10-windows-hp
@@ -118,2 +116,0 @@ mcr.microsoft.com/oss/v2/kubernetes-csi/azuredisk-csi:v1.34.3-windows-hp
-mcr.microsoft.com/oss/v2/kubernetes-csi/azuredisk-csi:v1.34.4-windows-hp
-mcr.microsoft.com/oss/v2/kubernetes-csi/azurefile-csi:v1.33.10-windows-hp
@@ -122 +118,0 @@ mcr.microsoft.com/oss/v2/kubernetes-csi/azurefile-csi:v1.34.5-windows-hp
-mcr.microsoft.com/oss/v2/kubernetes-csi/azurefile-csi:v1.34.6-windows-hp
@@ -124 +119,0 @@ mcr.microsoft.com/oss/v2/kubernetes-csi/azurefile-csi:v1.35.2-windows-hp
-mcr.microsoft.com/oss/v2/kubernetes-csi/azurefile-csi:v1.35.3-windows-hp
diff --git a/vhd_files/2025-gen2.txt b/vhd_files/2025-gen2.txt
index 81e5913..d5aea5a 100644
--- a/vhd_files/2025-gen2.txt
+++ b/vhd_files/2025-gen2.txt
@@ -15 +15 @@ c:\akse-cache\csi-proxy\: https://packages.aks.azure.com/csi-proxy/v1.1.2-hotfix
-c:\akse-cache\wcn\: mcr.microsoft.com/wcn/package:1.7.1-cpu-arch
+c:\akse-cache\wcn\: mcr.microsoft.com/wcn/package:1.6.0-cpu-arch
@@ -45 +44,0 @@ mcr.microsoft.com/oss/v2/azure/secrets-store/provider-azure:v1.7.2
-mcr.microsoft.com/oss/v2/kubernetes-csi/azuredisk-csi:v1.33.10-windows-hp
@@ -48,2 +46,0 @@ mcr.microsoft.com/oss/v2/kubernetes-csi/azuredisk-csi:v1.34.3-windows-hp
-mcr.microsoft.com/oss/v2/kubernetes-csi/azuredisk-csi:v1.34.4-windows-hp
-mcr.microsoft.com/oss/v2/kubernetes-csi/azurefile-csi:v1.33.10-windows-hp
@@ -52 +48,0 @@ mcr.microsoft.com/oss/v2/kubernetes-csi/azurefile-csi:v1.34.5-windows-hp
-mcr.microsoft.com/oss/v2/kubernetes-csi/azurefile-csi:v1.34.6-windows-hp
@@ -54 +49,0 @@ mcr.microsoft.com/oss/v2/kubernetes-csi/azurefile-csi:v1.35.2-windows-hp
-mcr.microsoft.com/oss/v2/kubernetes-csi/azurefile-csi:v1.35.3-windows-hp
diff --git a/vhd_files/2025.txt b/vhd_files/2025.txt
index db02527..7012908 100644
--- a/vhd_files/2025.txt
+++ b/vhd_files/2025.txt
@@ -15 +15 @@ c:\akse-cache\csi-proxy\: https://packages.aks.azure.com/csi-proxy/v1.1.2-hotfix
-c:\akse-cache\wcn\: mcr.microsoft.com/wcn/package:1.7.1-cpu-arch
+c:\akse-cache\wcn\: mcr.microsoft.com/wcn/package:1.6.0-cpu-arch
@@ -45 +44,0 @@ mcr.microsoft.com/oss/v2/azure/secrets-store/provider-azure:v1.7.2
-mcr.microsoft.com/oss/v2/kubernetes-csi/azuredisk-csi:v1.33.10-windows-hp
@@ -48,2 +46,0 @@ mcr.microsoft.com/oss/v2/kubernetes-csi/azuredisk-csi:v1.34.3-windows-hp
-mcr.microsoft.com/oss/v2/kubernetes-csi/azuredisk-csi:v1.34.4-windows-hp
-mcr.microsoft.com/oss/v2/kubernetes-csi/azurefile-csi:v1.33.10-windows-hp
@@ -52 +48,0 @@ mcr.microsoft.com/oss/v2/kubernetes-csi/azurefile-csi:v1.34.5-windows-hp
-mcr.microsoft.com/oss/v2/kubernetes-csi/azurefile-csi:v1.34.6-windows-hp
@@ -54 +49,0 @@ mcr.microsoft.com/oss/v2/kubernetes-csi/azurefile-csi:v1.35.2-windows-hp
-mcr.microsoft.com/oss/v2/kubernetes-csi/azurefile-csi:v1.35.3-windows-hp

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