OCPBUGS-59743: azure: reject data disks on Azure Stack Hub - #10823
OCPBUGS-59743: azure: reject data disks on Azure Stack Hub#10823mfbonfigli wants to merge 1 commit into
Conversation
Data disks are not currently supported on Azure Stack Hub. Add validation to prevent their use. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
@mfbonfigli: This pull request references Jira Issue OCPBUGS-59743, which is invalid:
Comment The bug has been updated to refer to the pull request using the external bug tracker. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Central YAML (inherited) Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 4 included reviews per hour; 3 remain after this review. 📝 WalkthroughWalkthroughAzure Stack machine pool validation now rejects configured data disks with a forbidden error. Other Azure cloud environments retain the existing data-disk validation path. A test covers the Azure Stack restriction and expected error. ChangesAzure Stack data disk validation
Merge Risk: ⚪ Minimal · up to The change rejects unsupported data disks on Azure Stack Hub during validation instead of allowing a later provisioning failure; no actionable merge-blocking risk remains after normal checks and review. 🚥 Pre-merge checks | ✅ 14 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (14 passed)
Full details: Stable And Deterministic Test NamesExplanation PASS. The pull request adds a Go subtest named "data disks on Azure Stack Hub are rejected". The title is a stable descriptive string. It contains no generated identifier, timestamp, node name, namespace, IP address, or runtime value. The affected file uses Full details: Test Structure And QualityExplanation PASS. The added case is a single table-driven unit-test scenario for Azure Stack data-disk rejection. It creates no cluster resources, so setup/cleanup and wait-timeout requirements do not apply. The test uses the existing package pattern: Full details: Microshift Test CompatibilityExplanation PASS: The pull request adds a standard Go unit-test case in Full details: Single Node Openshift (Sno) Test CompatibilityExplanation PASS: The pull request adds a standard Go table-test case inside Full details: Topology-Aware Scheduling CompatibilityExplanation PASS — The change modifies only Azure machine-pool validation and its unit test. It adds no deployment manifest, operator/controller logic, replica setting, affinity, topology spread, node selector, toleration, or PDB. The test's Full details: Ote Binary Stdout ContractExplanation PASS: The pull request changes only Azure validation logic and a unit-test case. The added code uses Full details: Ipv6 And Disconnected Network Test CompatibilityExplanation PASS. The pull request adds a standard Go Full details: No-Weak-CryptoExplanation PASS: The pull request only adds an Azure Stack Full details: Container-PrivilegesExplanation PASS: The pull request changes only Azure validation Go code and its Go test. The diff adds a Full details: No-Sensitive-Data-In-LogsExplanation PASS: The commit changes only Azure validation and its test. The added code returns a constant
✨ Finishing Touches🧪 Generate unit tests (beta)
Warning Some tools did not complete. Review the errors below. 🔧 golangci-lint (2.12.2)Error: can't load config: unsupported version of the configuration: "" See https://golangci-lint.run/docs/product/migration-guide for migration instructions Comment |
|
/jira refresh |
|
@mfbonfigli: This pull request references Jira Issue OCPBUGS-59743, which is valid. 3 validation(s) were run on this bug
Requesting review from QA contact: DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
@openshift-ci-robot: GitHub didn't allow me to request PR reviews from the following users: jinyunma. Note that only openshift members and repo collaborators can review this PR, and authors cannot review their own PRs. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
/test golint |
|
/test e2e-azure-ovn |
|
/test images |
|
/lgtm |
|
Tests from second stage were triggered manually. Pipeline can be controlled only manually, until HEAD changes. Use command to trigger second stage. |
|
@mfbonfigli: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: tthvo The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/pipeline required |
|
Scheduling tests matching the |
Summary
Data disks are not currently supported or tested on Azure Stack Hub. When configured, the MAPI machineset spec serializes a zero-value
managedDiskstruct with an emptystorageAccountType, which Azure rejects at provisioning time.Rather than failing at provisioning time, this PR adds install-config validation to reject
dataDiskson Azure Stack Hub upfront with a clear error message, consistent with how other unsupported features (security profiles, managed boot diagnostics) are already blocked on that platform.Changes
pkg/types/azure/validation/machinepool.go: Addfield.Forbiddenguard fordataDiskswhenplatform.CloudName == azure.StackCloudpkg/types/azure/validation/machinepool_test.go: Add test case verifying data disks on Azure Stack Hub are rejectedSummary by CodeRabbit