OCPBUGS-105398: refactor: remove AzureWorkloadIdentity feature gate - #207
Conversation
The gate is now GA and enabled by default upstream (openshift/api), so the plumbing through main.go, the actuators, and MachineScope was always evaluating to true. Simplify the credential selection in updateFromSecret to depend only on whether a client secret is present.
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: openshift/coderabbit/.coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (4)
💤 Files with no reviewable changes (1)
Included review availability: Your plan provides up to 12 included reviews per hour; 11 remain after this review. WalkthroughThe change removes the Azure Workload Identity feature gate and its enabled-state plumbing. Machine scope credential selection now uses workload identity when no client secret is set. ChangesAzure Workload Identity removal
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This refactor removes obsolete feature-gate plumbing while preserving credential-selection behavior and required event-recorder compatibility; no actionable merge-blocking risk remains. 🚥 Pre-merge checks | ✅ 14 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (14 passed)
Full details: Stable And Deterministic Test NamesExplanation PASS: The pull request changes only four production Go files and changes no Full details: Test Structure And QualityExplanation PASS. The pull request changes only four production Go files and changes no Full details: Microshift Test CompatibilityExplanation PASS: The pull request changes only four production Go files. The verified diff adds no *_test.go files and no e2e, test, or tests paths. Therefore, it adds no new Ginkgo e2e tests that could violate MicroShift compatibility requirements. Full details: Single Node Openshift (Sno) Test CompatibilityExplanation PASS: The pull request changes only four production Go files. The commit adds no test or e2e files, no Ginkgo constructs, and no topology-sensitive test logic. The SNO compatibility check is therefore not applicable. Full details: Topology-Aware Scheduling CompatibilityExplanation PASS — The parent-to-HEAD diff changes only Azure feature-gate and credential plumbing in four Go files. It adds no deployment manifests, replica logic, pod anti-affinity, topology spread constraints, node selectors or affinity, tolerations, or PDBs. The only behavior change selects Azure workload identity when the client secret is empty. Therefore, the pull request introduces no scheduling constraint covered by this check. Full details: Ote Binary Stdout ContractExplanation PASS. The PR adds no stdout write in Full details: Ipv6 And Disconnected Network Test CompatibilityExplanation No Ginkgo e2e tests were added or modified. The pull request changes only four implementation files. Added lines contain no hardcoded IPv4 values, IPv4-only parsing, external hosts, registry pulls, or external URL access. The check does not apply. Full details: No-Weak-CryptoExplanation PASS. The commit changes four files and only removes the Azure Workload Identity feature-gate plumbing. The only added condition is Full details: Container-PrivilegesExplanation The PR changes only four Go files and adds no container or Kubernetes manifest settings. The diff adds no Full details: No-Sensitive-Data-In-LogsExplanation PASS: The commit changes no logging statements or log arguments. It removes feature-gate logging and credential plumbing. The remaining credential-related log messages report missing field names, secret reference names, environment-variable names, or a default token-file path; they do not print secret, token, or credential values. The existing ProviderSpec log prints a provider specification that contains SecretReference metadata, not Secret data, and that log is unchanged.
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
@damdo: This pull request references Jira Issue OCPBUGS-105398, 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. |
|
/assign @dlom |
|
/assign @theobarberbany |
|
/pipeline auto |
|
Pipeline controller notification The |
|
Scheduling tests matching the |
|
@damdo: all tests passed! 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. |
|
/verified by CI |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: mdbooth 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 |
|
@mdbooth: This PR has been marked as verified by 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. |
|
/jira refresh |
|
@mdbooth: This pull request references Jira Issue OCPBUGS-105398, which is valid. The bug has been moved to the POST state. 3 validation(s) were run on this bug
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. |
|
/tide refresh |
|
@damdo: Jira Issue OCPBUGS-105398: Some pull requests linked via external trackers have merged: The following pull request, linked via external tracker, has not merged:
All associated pull requests must be merged or unlinked from the Jira bug in order for it to move to the next state. Once unlinked, request a bug refresh with Jira Issue OCPBUGS-105398 has not been moved to the MODIFIED state. This PR is marked as verified. If the remaining PRs listed above are marked as verified before merging, the issue will automatically be moved to VERIFIED after all of the changes from the PRs are available in an accepted nightly payload. 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. |
Summary
AzureWorkloadIdentityfeature gate, which is now GA and enabled by default upstream (see openshift/apifeatures.go), making the gate check in this repo a permanent no-op.AzureWorkloadIdentityEnabledplumbing throughcmd/manager/main.go, the machineActuator, the machinesetReconciler, andMachineScope.MachineScope.updateFromSecretto depend only on whether a client secret is present (workload identity is used whenever no client secret is configured, same effective behavior as before since the gate was always enabled).Introduced originally in #55.
Test plan
make buildgo vet ./...make fmt(no diff beyond intended changes)make test(./pkg/cloud/azure/actuators/...) — all suites passgolangci-lint runon changed packages — no new findings introducedSummary by CodeRabbit