Add CHS integration to daily tests for A3, A4, and TPU machine types - #6260
Add CHS integration to daily tests for A3, A4, and TPU machine types#6260simrankaurb wants to merge 12 commits into
Conversation
… flex Add Cluster Health Scanner (CHS) integration to daily tests for machine types: - A3 Mega: gke-a3-megagpu-onspot, ml-a3-megagpu-onspot-slurm-ubuntu - A3 Ultra: ml-a3-ultragpu-onspot-jbvms - A4X / A4X Max: gke-a4x, ml-a4x-highgpu-slurm - TPU v6e: gke-tpu-v6e-flex TAG=agy CONV=263b561f-39e1-4d78-b006-3af7fe2ddfc5
…nodepools parameter - Add -y flag to chs run command in test-chs.yml - Add support for conditional --nodepools parameter if chs_nodepools is specified - Add missing scheduler and instance_type variables in daily test configs TAG=agy CONV=263b561f-39e1-4d78-b006-3af7fe2ddfc5
Specify chs_nodepools in GKE test definitions to ensure CHS runs only on GPU/TPU machine nodepools. TAG=agy CONV=263b561f-39e1-4d78-b006-3af7fe2ddfc5
…artitions for Slurm - Simplify chs_nodepools in test-chs.yml to a single string value using --nodepools - Add chs_partitions string support for Slurm scheduler using --partitions - Set chs_partitions for Slurm test definitions TAG=agy CONV=263b561f-39e1-4d78-b006-3af7fe2ddfc5
…st-chs.yml Extract target_flag, target_val, and chs_target into task vars for improved readability and maintainability. TAG=agy CONV=263b561f-39e1-4d78-b006-3af7fe2ddfc5
Ensure --partitions is only applied when scheduler == 'slurm'. TAG=agy CONV=263b561f-39e1-4d78-b006-3af7fe2ddfc5
…tions Remove instance_type from test definition files as it is no longer required by CHS playbooks. TAG=agy CONV=263b561f-39e1-4d78-b006-3af7fe2ddfc5
Summary of ChangesHello, 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 enhances the daily integration testing suite by incorporating the Cluster Health Scanner (CHS) for various GPU and TPU topologies. By standardizing the targeting logic and updating the build configurations to handle necessary secrets, the changes ensure that cluster health validation is consistently performed across both GKE and Slurm environments, improving overall test coverage and reliability. Highlights
Using Gemini Code AssistThe 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
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 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
|
There was a problem hiding this comment.
Code Review
This pull request integrates the Cluster Health Scanner (CHS) into various daily integration tests for GKE and Slurm by adding the CHS_REPO secret, defining scheduler and target variables in test configurations, and running the CHS test suite post-deployment. Feedback from the reviewer highlights potential AnsibleUndefinedVariable errors in test-chs.yml due to missing default filters for the new variables, and warns about premature variable expansion of CHS_REPO in several Cloud Build YAML files if they are generated within unquoted bash heredocs.
…step Ensure CHS_REPO listed under availableSecrets is explicitly declared in secretEnv array for the generate-job-manifest build step across daily test build configs. TAG=agy CONV=263b561f-39e1-4d78-b006-3af7fe2ddfc5
CHS does not support jbvms test setups. TAG=agy CONV=263b561f-39e1-4d78-b006-3af7fe2ddfc5
…aform resource names Update chs_nodepools in gke-a4x, gke-a4x-max-bm, gke-tpu-v6e, gke-tpu-v6e-flex, and gke-tpu-7x to match exact nodepool names generated by gcluster/terraform. TAG=agy CONV=263b561f-39e1-4d78-b006-3af7fe2ddfc5
…names Fix GKE nodepool names in gke-a3-ultragpu-onspot, gke-a4-onspot, gke-a4x, and gke-a4x-max-bm to preserve hyphens from internal_ghpc_module_id as evaluated by Terraform. TAG=agy CONV=263b561f-39e1-4d78-b006-3af7fe2ddfc5
Revert CHS configuration from gke-tpu-v6e-flex build and test configs. TAG=agy CONV=263b561f-39e1-4d78-b006-3af7fe2ddfc5
Description
This PR integrates the CHS into the daily integration testing pipeline for several GPU and TPU topologies across both GKE and Slurm environments.
Key Changes:
test-validation/test-chs.ymlto thepost_deploy_testsfor A3 Mega, A3 Ultra, A4, A4X, A4X Max, TPU v6e, and TPU v7x daily tests.chs_nodepoolsstring variable for GKE test definitions to ensure CHS runs specifically on GPU/TPU machine pools (using the--nodepoolsflag).chs_partitionsstring variable for Slurm test definitions to correctly target Slurm partitions (using the--partitionsflag).test-chs.ymlto include the-yflag and cleanly handle the conditional targeting logic (target_flag,target_val,chs_target) depending on the scheduler type.CHS_REPOsecret to the ansible playbooks.Affected Topologies:
gke-a3-megagpu-onspot,ml-a3-megagpu-onspot-slurm-ubuntugke-a3-ultragpu-onspot,ml-a3-ultragpu-onspot-slurmgke-a4-onspot,gke-a4x,gke-a4x-max-bm,ml-a4-highgpu-onspot-slurm,ml-a4x-highgpu-slurmgke-tpu-7x,gke-tpu-v6e,gke-tpu-v6e-flex