Skip to content

Conversation

@andyzhangx
Copy link
Member

What type of PR is this?
/kind feature

What this PR does / why we need it:
feat: support privateDNSZoneName parameter in storage class

Which issue(s) this PR fixes:

Fixes #2845

Requirements:

Special notes for your reviewer:

Release note:

feat: support privateDNSZoneName parameter in storage class

@k8s-ci-robot k8s-ci-robot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. kind/feature Categorizes issue or PR as related to a new feature. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Nov 18, 2025
@andyzhangx andyzhangx requested a review from Copilot November 18, 2025 02:49
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: andyzhangx

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

The pull request process is described here

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

@k8s-ci-robot k8s-ci-robot requested review from cvvz and gnufied November 18, 2025 02:49
@k8s-ci-robot k8s-ci-robot added approved Indicates a PR has been approved by an approver from all required OWNERS files. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Nov 18, 2025
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds support for the privateDNSZoneName parameter in storage class configurations for the Azure File CSI driver. This parameter allows users to specify a custom private DNS zone name when creating storage accounts with private endpoints.

Key Changes

  • Added privateDNSZoneName parameter support in storage class with validation that it can only be used with private endpoints
  • Default value of "privatelink" is set when private endpoints are enabled but no custom name is provided
  • Added unit test for validation logic and updated e2e tests to include the new parameter

Reviewed Changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
File Description
pkg/azurefile/azurefile.go Added constant definition for privateDNSZoneNameField
pkg/azurefile/controllerserver.go Implemented parameter parsing, validation logic, and default value assignment
pkg/azurefile/controllerserver_test.go Added unit test for validation when privateDNSZoneName is used without private endpoint
test/e2e/dynamic_provisioning_test.go Added privateDNSZoneName parameter to e2e test cases
pkg/azurefile/azure_test.go Added duplicate test case and formatting changes

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@k8s-ci-robot
Copy link
Contributor

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

Test name Commit Details Required Rerun command
pull-azurefile-csi-driver-e2e-capz-windows-2022-hostprocess 535b6c2 link true /test pull-azurefile-csi-driver-e2e-capz-windows-2022-hostprocess
pull-azurefile-csi-driver-e2e-capz-windows-2019-hostprocess 535b6c2 link true /test pull-azurefile-csi-driver-e2e-capz-windows-2019-hostprocess
pull-azurefile-csi-driver-e2e-capz 535b6c2 link true /test pull-azurefile-csi-driver-e2e-capz

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

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.

@kmj251
Copy link

kmj251 commented Nov 21, 2025

I'm not sure that this addresses the GitHub Issue. As was noted in the issue, it would be helpful to provide values to a variable or combination of variables that allow us to dictate where a pre-existing private DNS zone (i.e. privatelink.file.core.windows.net) is already created. An easy solution would be to provide a variable like privateDNSZoneResourceID. We would pass in a value like: /subscriptions/<subscription_id>/resourceGroups/<resource_group_name>/providers/Microsoft.Network/privateDnsZones/privatelink.file.core.windows.net for that pre-created/centralized Private DNS Zone. When that variable is specified, the driver should not automatically create the private DNS zone and tie the private endpoint to the pre-existing private DNS zone.

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. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. kind/feature Categorizes issue or PR as related to a new feature. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Cross-Resource Group Private DNS Zone Support

4 participants