Skip to content

NetApp Volumes: mount large-capacity volumes via Cloud DNS - #6186

Open
okrause wants to merge 1 commit into
GoogleCloudPlatform:developfrom
okrause:gcnv-multiple-ips
Open

NetApp Volumes: mount large-capacity volumes via Cloud DNS#6186
okrause wants to merge 1 commit into
GoogleCloudPlatform:developfrom
okrause:gcnv-multiple-ips

Conversation

@okrause

@okrause okrause commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Large-capacity volumes and FlexCache expose multiple NFS endpoint IPs. Add volume dns_config and private-zone support so clients, including Slurm, mount by FQDN and use every endpoint. Update EDA and Slurm examples plus docs.

Goal is to have a larger populations of clients spread their clients evenly (statistically) over all endpoint IPs to even out load on storage backend.

@okrause
okrause requested a review from a team as a code owner August 20, 2026 14:24
@github-actions github-actions Bot added the external PR from external contributor label Aug 20, 2026
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces support for mounting large-capacity NetApp volumes and FlexCache caches via Cloud DNS. By configuring a private DNS zone, clients can now mount storage using an FQDN that resolves to multiple NFS endpoint IPs in a round-robin fashion. This change addresses the limitation where clients previously only utilized a single IP address, significantly improving load distribution and performance for compute-heavy workloads like Slurm.

Highlights

  • DNS-based Volume Mounting: Introduced a new dns_config parameter to the netapp-volume module, allowing volumes to be mounted via FQDN using Cloud DNS round-robin for improved performance.
  • Enhanced DNS Module: Updated the dns-managed-zone module to support private visibility and multiple VPC networks, enabling secure internal DNS resolution for storage endpoints.
  • New Example Blueprint: Added netapp-volumes-slurm.yaml, a new blueprint demonstrating a Slurm cluster configuration that leverages DNS-backed volume mounting.
  • Documentation Updates: Updated EDA blueprints and general network storage documentation to reflect the new DNS-based mounting patterns for large-capacity volumes and FlexCache.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gemini-code-assist gemini-code-assist Bot 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.

Code Review

This pull request introduces private Cloud DNS integration for Google Cloud NetApp Volumes and FlexCache, enabling clients to mount large-capacity volumes and caches using a single FQDN that resolves to multiple NFS endpoint IPs via DNS round-robin. It updates the EDA blueprints, adds a new Slurm example blueprint (netapp-volumes-slurm.yaml), and updates the relevant modules and documentation. Feedback on the changes suggests removing the redundant google_project_service resource for dns.googleapis.com inside the netapp-volume module to prevent potential permission conflicts and avoid requiring elevated Service Usage permissions during deployment.

Comment thread modules/file-system/netapp-volume/dns.tf Outdated
@okrause
okrause force-pushed the gcnv-multiple-ips branch from 69f3ea8 to 91cd3f7 Compare August 20, 2026 14:42
@aslam-quad

Copy link
Copy Markdown
Contributor

Please NOTE : We recently upgraded our repository's Go version to 1.26 (#6173). We strongly recommend rebasing your open branches onto the latest develop branch to avoid or resolve any PR test failures.

Thank you!

@okrause
okrause force-pushed the gcnv-multiple-ips branch from 91cd3f7 to ec40b80 Compare August 21, 2026 09:14
@okrause

okrause commented Aug 21, 2026

Copy link
Copy Markdown
Contributor Author

/gemini review

@gemini-code-assist gemini-code-assist Bot 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.

Code Review

This pull request introduces support for mounting large-capacity Google Cloud NetApp Volumes and FlexCache caches using private Cloud DNS round-robin FQDNs, which distributes Slurm clients across multiple NFS endpoints. It updates the netapp-volume and dns-managed-zone modules, adds a new netapp-volumes-slurm example blueprint, and updates the EDA blueprints and documentation. Feedback suggests stripping the trailing dot from the generated FQDN in dns.tf using trimsuffix to prevent potential NFS client mount failures.

Comment thread modules/file-system/netapp-volume/dns.tf Outdated
@okrause
okrause force-pushed the gcnv-multiple-ips branch from ec40b80 to 9002dc5 Compare August 21, 2026 09:30
@okrause

okrause commented Aug 21, 2026

Copy link
Copy Markdown
Contributor Author

/gemini review

@gemini-code-assist gemini-code-assist Bot 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.

Code Review

This pull request introduces support for mounting large-capacity Google Cloud NetApp Volumes and FlexCache caches using private Cloud DNS round-robin FQDNs, which distributes client mounts across multiple NFS endpoints in Slurm clusters. It updates the netapp-volume and dns-managed-zone modules, adds a new netapp-volumes-slurm.yaml example, and updates the EDA blueprints and documentation. Feedback on the changes highlights a potential race condition in dns.tf where downstream modules might attempt to mount the volume before the DNS record is fully active; establishing an implicit dependency on the DNS record set resource is recommended to ensure proper provisioning order.

Comment thread modules/file-system/netapp-volume/dns.tf Outdated
@okrause
okrause force-pushed the gcnv-multiple-ips branch from 9002dc5 to e05a0de Compare August 21, 2026 10:04
@okrause

okrause commented Aug 24, 2026

Copy link
Copy Markdown
Contributor Author

/gemini review

@gemini-code-assist gemini-code-assist Bot 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.

Code Review

This pull request introduces support for mounting large-capacity Google Cloud NetApp Volumes and FlexCache caches using private Cloud DNS round-robin A records, allowing Slurm clients to distribute mounts across all available NFS endpoint IPs via FQDNs. The changes update the netapp-volume and dns-managed-zone modules, add a new netapp-volumes-slurm example blueprint, and update existing EDA blueprints and documentation. Feedback on the changes suggests restricting the unix_permissions for the /home filesystem in the new blueprint from 0777 to 0755 to prevent security risks associated with world-writable home directories.

Comment thread examples/netapp-volumes-slurm.yaml
@okrause

okrause commented Aug 24, 2026

Copy link
Copy Markdown
Contributor Author

@agrawalkhushi18 This is ready to review.

@agrawalkhushi18 agrawalkhushi18 added the release-improvements Added to release notes under the "Improvements" heading. label Aug 26, 2026
Comment thread modules/file-system/netapp-volume/dns.tf Outdated
Comment thread modules/file-system/netapp-volume/variables.tf
@agrawalkhushi18
agrawalkhushi18 requested review from vikramvs-gg and removed request for shubpal07 September 1, 2026 05:50
Large-capacity volumes and FlexCache expose multiple NFS endpoint IPs.
Add volume dns_config and private-zone support so clients, including Slurm,
mount by FQDN and use every endpoint. Update EDA and Slurm examples plus docs.
@okrause

okrause commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

I accidentally pushed other code on this branch. I reverted it back to good commit. My apologies.

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

Labels

external PR from external contributor release-improvements Added to release notes under the "Improvements" heading.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants