Skip to content

Remove AzureClusterHostedDNSInstall Featuregate#2902

Open
sadasu wants to merge 1 commit into
openshift:masterfrom
sadasu:AzureClusterHostedDNS-removal
Open

Remove AzureClusterHostedDNSInstall Featuregate#2902
sadasu wants to merge 1 commit into
openshift:masterfrom
sadasu:AzureClusterHostedDNS-removal

Conversation

@sadasu

@sadasu sadasu commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Azure ClusterHostedDNS feature was GA-ed in 4.22.

Afaik, the featuregate needs to be removed in the following release.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: LGTM mode

@openshift-ci

openshift-ci Bot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Hello @sadasu! Some important instructions when contributing to openshift/api:
API design plays an important part in the user experience of OpenShift and as such API PRs are subject to a high level of scrutiny to ensure they follow our best practices. If you haven't already done so, please review the OpenShift API Conventions and ensure that your proposed changes are compliant. Following these conventions will help expedite the api review process for your PR.

@openshift-ci openshift-ci Bot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Jun 24, 2026
@coderabbitai

coderabbitai Bot commented Jun 24, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: aa36a81b-78f3-4360-bb8f-3c453638dcbf

📥 Commits

Reviewing files that changed from the base of the PR and between 8f65945 and 724146a.

⛔ Files ignored due to path filters (29)
  • config/v1/zz_generated.featuregated-crd-manifests.yaml is excluded by !**/zz_generated*
  • config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AAA_ungated.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AWSClusterHostedDNSInstall.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AWSDualStackInstall.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AzureClusterHostedDNSInstall.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/AzureDualStackInstall.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/DualReplica.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/DyanmicServiceEndpointIBMCloud.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/MutableTopology.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/NutanixMultiSubnets.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/OnPremDNSRecords.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/VSphereHostVMGroupZonal.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/VSphereMultiNetworks.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/VSphereMultiVCenterDay2.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests.yaml is excluded by !**/zz_generated*
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AAA_ungated.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSClusterHostedDNSInstall.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSDualStackInstall.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AWSEuropeanSovereignCloudInstall.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AzureClusterHostedDNSInstall.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/AzureDualStackInstall.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/DualReplica.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/DyanmicServiceEndpointIBMCloud.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/MutableTopology.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/NutanixMultiSubnets.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/OnPremDNSRecords.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/VSphereHostVMGroupZonal.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/VSphereMultiNetworks.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
  • machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/VSphereMultiVCenterDay2.yaml is excluded by !**/zz_generated.featuregated-crd-manifests/**
📒 Files selected for processing (13)
  • config/v1/tests/infrastructures.config.openshift.io/AzureClusterHostedDNSInstall.yaml
  • config/v1/types_infrastructure.go
  • features.md
  • features/features.go
  • machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/AzureClusterHostedDNSInstall.yaml
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-DevPreviewNoUpgrade.yaml
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-TechPreviewNoUpgrade.yaml
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-DevPreviewNoUpgrade.yaml
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-TechPreviewNoUpgrade.yaml
💤 Files with no reviewable changes (3)
  • config/v1/tests/infrastructures.config.openshift.io/AzureClusterHostedDNSInstall.yaml
  • config/v1/types_infrastructure.go
  • machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/AzureClusterHostedDNSInstall.yaml
✅ Files skipped from review due to trivial changes (2)
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml
  • features.md
🚧 Files skipped from review as they are similar to previous changes (7)
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-DevPreviewNoUpgrade.yaml
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-TechPreviewNoUpgrade.yaml
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-TechPreviewNoUpgrade.yaml
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-DevPreviewNoUpgrade.yaml
  • features/features.go

📝 Walkthrough

Walkthrough

AzureClusterHostedDNSInstall is removed from feature-gate registration, the AzurePlatformStatus CloudLoadBalancerConfig annotation, and the feature-gate table. Related test manifests and payload feature-gate manifests are updated to remove the gate or replace it with AWSClusterHostedDNSInstall or AutomatedEtcdBackup.

🚥 Pre-merge checks | ✅ 14 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Microshift Test Compatibility ⚠️ Warning Test manifests lost AzureClusterHostedDNSInstall gating but still use config.openshift.io and machineconfiguration.openshift.io; no MicroShift skip/tag protects them. Keep these tests gated or add MicroShift protection ([apigroup:], [Skipped:MicroShift], or IsMicroShiftCluster), or avoid MicroShift-unsupported APIs.
✅ Passed checks (14 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly matches the main change: removing the AzureClusterHostedDNSInstall feature gate.
Description check ✅ Passed The description is related to the change and explains why the feature gate should be removed.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed PASS: The touched test names are static YAML names; no It/Describe/Context/When titles were added or changed, and no dynamic identifiers appeared.
Test Structure And Quality ✅ Passed No Ginkgo test code changed in this PR—only feature-gate configs/YAML test manifests were edited or removed, so the checklist is not applicable.
Single Node Openshift (Sno) Test Compatibility ✅ Passed The PR only edits manifests/type/feature-gate tables; no new Ginkgo e2e tests or multi-node assumptions were added.
Topology-Aware Scheduling Compatibility ✅ Passed The PR only removes a feature gate from manifests/docs/tests; no pod scheduling, affinity, topology spread, or nodeSelector logic was added.
Ote Binary Stdout Contract ✅ Passed The PR only removes feature-gate registrations/manifests; no stdout/logging calls appear in main/init/TestMain/suite setup or top-level initializers.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed No new Ginkgo e2e tests were added; the diff only changes config, feature-gate YAML, and generated manifests, with no IPv4 or external-network test code.
No-Weak-Crypto ✅ Passed PASS: The PR only removes feature-gate YAML/annotations; exact scans found no MD5/SHA1/DES/RC4/3DES/Blowfish/ECB, crypto packages, or secret/token comparisons.
Container-Privileges ✅ Passed No changed file adds privileged, hostPID/hostNetwork/hostIPC, allowPrivilegeEscalation, SYS_ADMIN, or runAsUser:0; edits are feature-gate/test removals only.
No-Sensitive-Data-In-Logs ✅ Passed No new logging paths or sensitive-data exposures were added; the diff only removes feature-gate references and regenerates manifests.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 golangci-lint (2.12.2)

Error: build linters: unable to load custom analyzer "kubeapilinter": tools/_output/bin/kube-api-linter.so, plugin: not implemented
The command is terminated due to an error: build linters: unable to load custom analyzer "kubeapilinter": tools/_output/bin/kube-api-linter.so, plugin: not implemented


Comment @coderabbitai help to get the list of available commands.

@openshift-ci openshift-ci Bot requested review from everettraven and jkyros June 24, 2026 21:22
@sadasu sadasu force-pushed the AzureClusterHostedDNS-removal branch from 77edcc7 to 43cb0fa Compare June 24, 2026 21:35

@JoelSpeed JoelSpeed left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

In which release did this gate go GA?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Tests should still be relevant, just need to remove the gating on them

@sadasu

sadasu commented Jun 26, 2026

Copy link
Copy Markdown
Contributor Author

In which release did this gate go GA?

4.22

@sadasu sadasu force-pushed the AzureClusterHostedDNS-removal branch from 43cb0fa to 8f65945 Compare June 26, 2026 17:15
@openshift-ci openshift-ci Bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jun 28, 2026
@JoelSpeed

Copy link
Copy Markdown
Contributor

Will need a rebase, but otherwise no concerns with moving ahead here. Are all other references removed from the payload?

The CloudLoadBalancerConfig field in AzurePlatformStatus is now ungated
and available by default. The AzureClusterHostedDNSInstall feature gate
has been removed from the API.

Changes:
- Removed +openshift:enable:FeatureGate=AzureClusterHostedDNSInstall annotation
- Removed FeatureGateAzureClusterHostedDNSInstall definition from features.go
- Deleted feature-gated CRD manifests (AzureClusterHostedDNSInstall.yaml)
- Kept test files but removed feature gate requirements:
  - config/v1/tests/infrastructures.config.openshift.io/AzureClusterHostedDNSInstall.yaml
  - machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/AzureClusterHostedDNSInstall.yaml
- Regenerated ungated CRD manifests and feature gate configurations
@sadasu sadasu force-pushed the AzureClusterHostedDNS-removal branch from 8f65945 to 724146a Compare July 8, 2026 16:31
@openshift-ci openshift-ci Bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 8, 2026
@JoelSpeed

Copy link
Copy Markdown
Contributor

/lgtm
/verified by CI

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Jul 8, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@JoelSpeed: This PR has been marked as verified by CI.

Details

In response to this:

/lgtm
/verified by CI

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 openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jul 8, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-aws-ovn
/test e2e-aws-ovn-hypershift
/test e2e-aws-ovn-hypershift-conformance
/test e2e-aws-ovn-techpreview
/test e2e-aws-serial-1of2
/test e2e-aws-serial-2of2
/test e2e-aws-serial-techpreview-1of2
/test e2e-aws-serial-techpreview-2of2
/test e2e-azure
/test e2e-gcp
/test e2e-upgrade
/test e2e-upgrade-out-of-change
/test e2e-vsphere-ovn
/test e2e-vsphere-ovn-techpreview
/test minor-e2e-upgrade-minor

@openshift-ci

openshift-ci Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: JoelSpeed

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 8, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD 2b9eb96 and 2 for PR HEAD 724146a in total

@JoelSpeed

Copy link
Copy Markdown
Contributor

/retest

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD 580f1c1 and 1 for PR HEAD 724146a in total

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD a3d85be and 0 for PR HEAD 724146a in total

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

/hold

Revision 724146a was retested 3 times: holding

@openshift-ci openshift-ci Bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jul 9, 2026
@JoelSpeed

Copy link
Copy Markdown
Contributor

/hold cancel
/retest

@openshift-ci openshift-ci Bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jul 10, 2026
@JoelSpeed

Copy link
Copy Markdown
Contributor

/retest

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD fa22e69 and 2 for PR HEAD 724146a in total

@sadasu

sadasu commented Jul 10, 2026

Copy link
Copy Markdown
Contributor Author

/test e2e-gcp

1 similar comment
@sadasu

sadasu commented Jul 10, 2026

Copy link
Copy Markdown
Contributor Author

/test e2e-gcp

@openshift-ci

openshift-ci Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

@sadasu: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-gcp 724146a link true /test e2e-gcp

Full PR test history. Your PR dashboard.

Details

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. I understand the commands that are listed here.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD d8a1748 and 1 for PR HEAD 724146a in total

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants