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: dec4647a-8e07-40b8-af0b-9689ea2b633f

📥 Commits

Reviewing files that changed from the base of the PR and between 43cb0fa and 8f65945.

⛔ Files ignored due to path filters (25)
  • 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/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/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/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/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 (10)
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-TechPreviewNoUpgrade.yaml
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-DevPreviewNoUpgrade.yaml
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml
  • payload-manifests/featuregates/featureGate-4-10-Hypershift-DevPreviewNoUpgrade.yaml
  • config/v1/tests/infrastructures.config.openshift.io/AzureClusterHostedDNSInstall.yaml
  • machineconfiguration/v1/tests/controllerconfigs.machineconfiguration.openshift.io/AzureClusterHostedDNSInstall.yaml
  • payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-TechPreviewNoUpgrade.yaml
✅ Files skipped from review due to trivial changes (1)
  • features.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • features/features.go
  • config/v1/types_infrastructure.go

📝 Walkthrough

Walkthrough

AzureClusterHostedDNSInstall is removed from feature-gate registration, the AzurePlatformStatus cloudLoadBalancerConfig annotation, and the feature-gate table. Several payload-manifest feature-gate lists are updated to remove or replace the gate with AWSClusterHostedDNSInstall, AWSDualStackInstall, or AutomatedEtcdBackup. The related Infrastructure and ControllerConfig test manifests for this gate are deleted.

Suggested reviewers

  • jkyros
🚥 Pre-merge checks | ✅ 13 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Ipv6 And Disconnected Network Test Compatibility ⚠️ Warning Changed test manifests still hardcode IPv4 values (10.10.10.20, 10.0.0.2) and ipFamilies: IPv4, so they may fail in IPv6-only CI. Verify these test cases in an IPv6-only disconnected job and replace hardcoded IPv4 assumptions with IP-family-aware logic or IPv6-ready values.
Description check ❓ Inconclusive No pull request description was provided, so the intent is not meaningfully described. Add a short description explaining the feature gate removal and the affected manifests and tests.
✅ Passed checks (13 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly matches the main change: removing the AzureClusterHostedDNSInstall feature gate.
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 Changed test definitions use static names only; the PR mainly deletes test files and feature-gate config, with no added dynamic Ginkgo titles.
Test Structure And Quality ✅ Passed No Ginkgo specs were added or modified; the PR only removes/retargets YAML test manifests and ungates API fields, so this rubric doesn’t apply.
Microshift Test Compatibility ✅ Passed PASS: The PR only removes AzureClusterHostedDNSInstall test manifests/feature-gate entries; no new Ginkgo e2e tests are added, so no MicroShift incompatibility is introduced.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR only removes a feature gate and related YAML test manifests; no new Ginkgo e2e tests or SNO-unsafe assumptions were added.
Topology-Aware Scheduling Compatibility ✅ Passed Touched files are API/feature-gate metadata and tests; no new pod scheduling constraints, node selectors, affinity, replicas, or PDB logic were added.
Ote Binary Stdout Contract ✅ Passed Patch only removes AzureClusterHostedDNSInstall registrations/tests; no added main/init/TestMain/klog/fmt stdout writes appear in process-level code.
No-Weak-Crypto ✅ Passed PASS: The PR only removes a feature-gate and related test/manifest entries; scans of touched files found no MD5/SHA1/DES/RC4/3DES/Blowfish/ECB or custom crypto code.
Container-Privileges ✅ Passed PASS: The PR only removes AzureClusterHostedDNSInstall feature-gate references; full diff search found no privileged/hostPID/hostNetwork/hostIPC/SYS_ADMIN/allowPrivilegeEscalation settings.
No-Sensitive-Data-In-Logs ✅ Passed PASS: The PR only removes/updates feature-gate manifests and tests; scans found no log/print calls or sensitive-data logging in touched files.
✨ 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
@openshift-ci

openshift-ci Bot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign everettraven for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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

@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

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 43cb0fa to 8f65945 Compare June 26, 2026 17:15
@openshift-ci

openshift-ci Bot commented Jun 26, 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/verify 8f65945 link true /test verify

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.

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

Labels

size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants