Skip to content

Develop to main test PR - #6111

Draft
siddhartha-quad wants to merge 27 commits into
mainfrom
develop
Draft

Develop to main test PR#6111
siddhartha-quad wants to merge 27 commits into
mainfrom
develop

Conversation

@siddhartha-quad

Copy link
Copy Markdown
Contributor

This PR allows us to fix the suggestions from the gemini, So that it will be hassle free for the RC PR.

Submission Checklist

NOTE: Community submissions can take up to 2 weeks to be reviewed.

Please take the following actions before submitting this pull request.

  • Fork your PR branch from the Toolkit "develop" branch (not main)
  • Test all changes with pre-commit in a local branch #
  • Confirm that "make tests" passes all tests
  • Add or modify unit tests to cover code changes
  • Ensure that unit test coverage remains above 80%
  • Update all applicable documentation
  • Follow Cluster Toolkit Contribution guidelines #

@siddhartha-quad siddhartha-quad self-assigned this Aug 10, 2026
@siddhartha-quad siddhartha-quad added the release-chore To not include into release notes label Aug 10, 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 significantly enhances the Cluster Toolkit's GKE job submission capabilities and streamlines the user experience for cluster management. Key improvements include better support for custom Kubernetes templates, flexible namespace targeting, and clearer dependency management. Additionally, it enforces Slurm Native Authentication by removing legacy MUNGE configuration options and updates the CI/CD daily test infrastructure for better reliability and resource cleanup.

Highlights

  • Documentation Updates: Updated README.md with comprehensive installation, prerequisites, and cluster management guides, replacing older documentation sections.
  • Slurm Authentication: Removed the enable_slurm_auth variable across all example blueprints, effectively defaulting to Slurm Native Authentication as the standard.
  • GKE Job Submission Enhancements: Added support for custom Kubernetes manifest templates via the --gke-custom-templates-path flag and a new gke-template-extract command.
  • Namespace Support: Introduced --gke-namespace flag across job submission, inspection, and management commands to allow operations in specific Kubernetes namespaces.
  • Dependency Management: Improved dependency resolution by providing clearer error messages and direct links to installation documentation when required binaries are missing or incompatible.
  • CI/CD Pipeline Improvements: Refactored daily test pipelines to use containerized runners and added robust cleanup logic for images and infrastructure.
Ignored Files
  • Ignored by pattern: .github/workflows/** (1)
    • .github/workflows/github_actions_scan_dev.yml
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 migrates daily test pipelines to run as GKE Kueue jobs, introduces support for custom GKE namespaces and manifest templates in the gcluster job commands, and sets Slurm Native Authentication as the default standard across blueprints and modules. Feedback highlights duplicate hash entries in the updated cryptography package requirements and requests the removal of accidentally committed .bak backup files.

Comment thread community/cos-nvidia-bug-report/app/requirements.txt Outdated
Comment thread tools/cloud-build/daily-tests/builds/ansible-vm_old.yaml.bak
@Neelabh94 Neelabh94 added do-not-merge Block merging of this PR and removed release-chore To not include into release notes labels Aug 10, 2026
@aslam-quad

Copy link
Copy Markdown
Contributor

/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 significantly updates the Cluster Toolkit by enhancing documentation, introducing support for custom GKE templates, and implementing namespace-aware job management. It also updates key dependencies, enforces Slurm Native Authentication by removing the 'enable_slurm_auth' variable across examples, and migrates daily integration tests to run as GKE Kueue jobs. I have no feedback to provide.

@aslam-quad
aslam-quad requested review from aslam-quad and removed request for aslam-quad August 11, 2026 08:21
@aslam-quad

Copy link
Copy Markdown
Contributor

/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 significant enhancements to GKE job orchestration, including support for custom namespaces, GKE template extraction, and advanced GKE infrastructure features such as dynamic TPU slicing and Node Auto-Provisioning. It also migrates daily CI/CD tests to use GKE Jobs with Kueue and updates several dependencies. Feedback includes addressing a silent fallback in namespace resolution and removing redundant backup files.

Comment thread pkg/orchestrator/gke/gke_job_orchestrator.go
Comment thread tools/cloud-build/daily-tests/builds/ansible-vm_old.yaml.bak
Neelabh94
Neelabh94 previously approved these changes Aug 12, 2026
@aslam-quad
aslam-quad requested a review from Neelabh94 August 12, 2026 07:29
@Neelabh94
Neelabh94 removed their request for review August 12, 2026 07:58
@aslam-quad

Copy link
Copy Markdown
Contributor

/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 disk_storage_pool across multiple Terraform modules (including Slurm nodesets, partitions, login nodes, GKE node pools, and VM instances) to enable the use of Google Cloud storage pools with Hyperdisks. It also updates TPU shorthand mappings in Go, adds extended telemetry error parsing, and migrates several Slurm GCP v6 integration tests to GKE Kueue in Cloud Build. However, multiple newly added Cloud Build YAML files contain unescaped bash variable references (such as ${ANSIBLE_PID:-} and ${SCRIPT_PID:-}) that must be escaped with $$ to prevent Cloud Build validation failures.

echo "CAUGHT SIGTERM OR SCRIPT ERROR!"
echo "Halting primary Ansible execution..."
echo "=========================================================================="
if [ -n "\$${ANSIBLE_PID:-}" ]; then

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.

high

In Cloud Build YAML configurations, variable references like ${ANSIBLE_PID:-} must have their dollar sign escaped using $$ (i.e., $${ANSIBLE_PID:-}) to prevent Cloud Build from attempting to interpret them as Cloud Build substitutions. Leaving it as a single $ will cause Cloud Build validation to fail or the build to crash.

                if [ -n "$${ANSIBLE_PID:-}" ]; then
References
  1. In Cloud Build YAML configurations, escaping a dollar sign for variable references is correctly done using $$ (e.g., $${VAR}). Avoid adding an extra dollar sign (like $$${VAR}), as it leaves an unescaped ${VAR} which will cause Cloud Build validation to fail or the build to crash.

echo "CAUGHT SIGTERM OR SCRIPT ERROR!"
echo "Halting primary script execution..."
echo "=========================================================================="
if [ -n "\$${SCRIPT_PID:-}" ]; then

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.

high

In Cloud Build YAML configurations, variable references like ${SCRIPT_PID:-} must have their dollar sign escaped using $$ (i.e., $${SCRIPT_PID:-}) to prevent Cloud Build from attempting to interpret them as Cloud Build substitutions. Leaving it as a single $ will cause Cloud Build validation to fail or the build to crash.

                if [ -n "$${SCRIPT_PID:-}" ]; then
References
  1. In Cloud Build YAML configurations, escaping a dollar sign for variable references is correctly done using $$ (e.g., $${VAR}). Avoid adding an extra dollar sign (like $$${VAR}), as it leaves an unescaped ${VAR} which will cause Cloud Build validation to fail or the build to crash.

echo "CAUGHT SIGTERM OR SCRIPT ERROR!"
echo "Halting primary Ansible execution..."
echo "=========================================================================="
if [ -n "\$${ANSIBLE_PID:-}" ]; then

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.

high

In Cloud Build YAML configurations, variable references like ${ANSIBLE_PID:-} must have their dollar sign escaped using $$ (i.e., $${ANSIBLE_PID:-}) to prevent Cloud Build from attempting to interpret them as Cloud Build substitutions. Leaving it as a single $ will cause Cloud Build validation to fail or the build to crash.

                if [ -n "$${ANSIBLE_PID:-}" ]; then
References
  1. In Cloud Build YAML configurations, escaping a dollar sign for variable references is correctly done using $$ (e.g., $${VAR}). Avoid adding an extra dollar sign (like $$${VAR}), as it leaves an unescaped ${VAR} which will cause Cloud Build validation to fail or the build to crash.

echo "CAUGHT SIGTERM OR SCRIPT ERROR!"
echo "Halting primary Ansible execution..."
echo "=========================================================================="
if [ -n "\$${ANSIBLE_PID:-}" ]; then

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.

high

In Cloud Build YAML configurations, variable references like ${ANSIBLE_PID:-} must have their dollar sign escaped using $$ (i.e., $${ANSIBLE_PID:-}) to prevent Cloud Build from attempting to interpret them as Cloud Build substitutions. Leaving it as a single $ will cause Cloud Build validation to fail or the build to crash.

                if [ -n "$${ANSIBLE_PID:-}" ]; then
References
  1. In Cloud Build YAML configurations, escaping a dollar sign for variable references is correctly done using $$ (e.g., $${VAR}). Avoid adding an extra dollar sign (like $$${VAR}), as it leaves an unescaped ${VAR} which will cause Cloud Build validation to fail or the build to crash.

echo "Halting primary Ansible execution..."
echo "=========================================================================="
if [ -n "\$${ANSIBLE_PID:-}" ]; then
kill -TERM \$$ANSIBLE_PID 2>/dev/null || true

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.

high

In Cloud Build YAML configurations, variable references like ${ANSIBLE_PID:-} must have their dollar sign escaped using $$ (i.e., $${ANSIBLE_PID:-}) to prevent Cloud Build from attempting to interpret them as Cloud Build substitutions. Leaving it as a single $ will cause Cloud Build validation to fail or the build to crash.

                if [ -n "$${ANSIBLE_PID:-}" ]; then
References
  1. In Cloud Build YAML configurations, escaping a dollar sign for variable references is correctly done using $$ (e.g., $${VAR}). Avoid adding an extra dollar sign (like $$${VAR}), as it leaves an unescaped ${VAR} which will cause Cloud Build validation to fail or the build to crash.

@siddhartha-quad

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 several significant enhancements to the Cluster Toolkit, primarily focusing on dependency management, storage configuration, and CI/CD improvements. Key changes include the implementation of an explicit dependency check mechanism for tools like Terraform and Packer, the addition of storage pool support for various compute and storage modules, and updates to the daily test CI/CD pipelines to utilize GKE Kueue for job management. Additionally, the PR updates the Google provider version range and includes various bug fixes and improvements to job logging and error handling.

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

Labels

do-not-merge Block merging of this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.