Skip to content

fix: add network interface to htcondor execute point module + update … - #5225

Merged
kadupoornima merged 1 commit into
GoogleCloudPlatform:developfrom
Thibaut-Nurit:fix-add-multiple-interfaces-htcondor-ep
Jun 19, 2026
Merged

fix: add network interface to htcondor execute point module + update …#5225
kadupoornima merged 1 commit into
GoogleCloudPlatform:developfrom
Thibaut-Nurit:fix-add-multiple-interfaces-htcondor-ep

Conversation

@Thibaut-Nurit

Copy link
Copy Markdown
Contributor

…htcondor templates version

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 #

@Thibaut-Nurit
Thibaut-Nurit requested review from a team and samskillman as code owners February 10, 2026 13:59
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @Thibaut-Nurit, 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 HTCondor execute point module by introducing the capability to configure multiple network interfaces for instances, providing greater flexibility in network setup and integration. Concurrently, it updates the version constraints for several core Terraform modules used across the HTCondor components (execute point, access point, and central manager) to allow for more recent module versions, improving maintainability and enabling access to new features or bug fixes from the underlying modules.

Highlights

  • Multiple Network Interfaces: Added support for configuring multiple network interfaces for HTCondor execute point instances, enhancing network flexibility.
  • Terraform Module Version Updates: Updated version constraints for several Terraform modules across HTCondor components (execute point, access point, central manager) from optimistic (~>) to minimum (>=), allowing for broader compatibility with newer module versions.
  • Backward Compatibility: Ensured backward compatibility for existing network configurations within the HTCondor execute point module, allowing seamless transition to the new network interface configuration.
Changelog
  • community/modules/compute/htcondor-execute-point/README.md
    • Updated module version constraints for instance template and MIG modules.
    • Documented the newly added network_interfaces input variable.
  • community/modules/compute/htcondor-execute-point/main.tf
    • Implemented logic to handle multiple network interfaces with backward compatibility for existing network configurations.
    • Updated module version constraints for instance template and MIG modules.
    • Modified instance template configuration to utilize the new network_interfaces variable.
  • community/modules/compute/htcondor-execute-point/variables.tf
    • Defined the new network_interfaces input variable, including its type and description.
  • community/modules/scheduler/htcondor-access-point/README.md
    • Updated module version constraints for access point instance template and HTCondor AP modules.
  • community/modules/scheduler/htcondor-access-point/main.tf
    • Updated module version constraints for access point instance template and HTCondor AP modules.
    • Added the region parameter to the access point instance template module.
  • community/modules/scheduler/htcondor-central-manager/README.md
    • Updated module version constraints for central manager instance template and HTCondor CM modules.
  • community/modules/scheduler/htcondor-central-manager/main.tf
    • Updated module version constraints for central manager instance template and HTCondor CM modules.
    • Added the region parameter to the central manager instance template module.
Activity
  • No human activity (comments, reviews, etc.) has been recorded for this pull request yet.
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 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 counter productive. 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.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

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 support for multiple network interfaces in the htcondor-execute-point module, including backward compatibility for the old network configuration. It also updates module dependencies across several htcondor modules and adds the region parameter where it was missing. The changes are well-structured. My review includes suggestions to improve maintainability by using more restrictive version constraints for Terraform modules and to enhance the robustness of the new network interface implementation.

Comment thread community/modules/compute/htcondor-execute-point/main.tf Outdated
Comment thread community/modules/compute/htcondor-execute-point/main.tf Outdated
Comment thread community/modules/compute/htcondor-execute-point/main.tf Outdated
Comment thread community/modules/scheduler/htcondor-access-point/main.tf Outdated
Comment thread community/modules/scheduler/htcondor-access-point/main.tf Outdated
Comment thread community/modules/scheduler/htcondor-central-manager/main.tf Outdated
Comment thread community/modules/scheduler/htcondor-central-manager/main.tf Outdated
@Thibaut-Nurit

Thibaut-Nurit commented Feb 10, 2026

Copy link
Copy Markdown
Contributor Author

The purpose of this MR is to update the execute point module so it can have multiple network interfaces.
It's backwards compatible.

Also as the version needed for some cluster toolkit modules is hashicorp/google >= 7, I updated terraform-google-modules/vm/google//modules/mig version

The venv_python_path in install_ansible.sh was also changed so it would take the python exe that was installed.
The observed behavior was that a rocky linux 8 VM with python 3.6 was installing python3.12 but the command executed was python3 = python3.6, making the script fail.

@Thibaut-Nurit
Thibaut-Nurit force-pushed the fix-add-multiple-interfaces-htcondor-ep branch from 328f929 to cdbb68b Compare February 10, 2026 15:08
@aslam-quad

Copy link
Copy Markdown
Contributor

/gcbrun

@aslam-quad aslam-quad added the external PR from external contributor label Feb 10, 2026
@arpit974
arpit974 self-requested a review February 11, 2026 04:27
@Thibaut-Nurit
Thibaut-Nurit force-pushed the fix-add-multiple-interfaces-htcondor-ep branch from cdbb68b to bfca0e0 Compare February 12, 2026 16:58
@Thibaut-Nurit
Thibaut-Nurit marked this pull request as draft February 12, 2026 17:00
@aslam-quad

Copy link
Copy Markdown
Contributor

/gcbrun

@Thibaut-Nurit
Thibaut-Nurit force-pushed the fix-add-multiple-interfaces-htcondor-ep branch 4 times, most recently from 34ceec0 to eac13fa Compare February 13, 2026 23:57
@Thibaut-Nurit
Thibaut-Nurit force-pushed the fix-add-multiple-interfaces-htcondor-ep branch 4 times, most recently from 6bd28bc to 0901297 Compare March 5, 2026 16:14
@Thibaut-Nurit
Thibaut-Nurit marked this pull request as ready for review March 5, 2026 16:49
@Thibaut-Nurit
Thibaut-Nurit force-pushed the fix-add-multiple-interfaces-htcondor-ep branch 2 times, most recently from 66aa8bf to d589eba Compare March 26, 2026 13:15
@Thibaut-Nurit

Copy link
Copy Markdown
Contributor Author

Hello @arpit974
Would it be possible for you to review this PR, please?
We’d like to use this feature with our client.

@arpit974

arpit974 commented Apr 7, 2026

Copy link
Copy Markdown
Contributor

/gcbrun

@arpit974

arpit974 commented Apr 7, 2026

Copy link
Copy Markdown
Contributor

/gcbrun(d589eba)

@Thibaut-Nurit
Thibaut-Nurit force-pushed the fix-add-multiple-interfaces-htcondor-ep branch from 3e4d17b to 7a9aaad Compare May 13, 2026 08:35
@kadupoornima kadupoornima added release-module-improvements Added to release notes under the "Module Improvements" heading. release-version-updates Added to release notes under the "Version Updates" heading. labels May 15, 2026
@kadupoornima kadupoornima added the release-bugfix Added to release notes under the "Bug fixes" heading. label May 15, 2026
@kadupoornima

Copy link
Copy Markdown
Contributor

/gcbrun

@kadupoornima

Copy link
Copy Markdown
Contributor

Could you run the pre commits again please with the latest version? There are some failures caused due to readme formatting.

@Thibaut-Nurit
Thibaut-Nurit force-pushed the fix-add-multiple-interfaces-htcondor-ep branch 2 times, most recently from 03d1c2c to a4281d5 Compare May 16, 2026 00:54
@Thibaut-Nurit

Copy link
Copy Markdown
Contributor Author

Could you run the pre commits again please with the latest version? There are some failures caused due to readme formatting.

Hello, it should be good now

@Thibaut-Nurit
Thibaut-Nurit force-pushed the fix-add-multiple-interfaces-htcondor-ep branch from a4281d5 to a2825fc Compare May 16, 2026 09:16
@kadupoornima

Copy link
Copy Markdown
Contributor

/gcbrun

@kadupoornima

kadupoornima commented May 20, 2026

Copy link
Copy Markdown
Contributor

Thank you for this contribution! I just have one suggestion:

In community/modules/compute/htcondor-execute-point/main.tf, inside the additional_networks block, the project for the subnetwork is hardcoded to the current project ID.

Setting subnetwork_project explicitly to var.project_id could break deployments using Shared VPCs, where the additional subnetwork actually resides in a separate host project.

To support Shared VPCs seamlessly, we can add subnetwork_project = optional(string) to the network_interfaces variable definition in variables.tf. Then, in main.tf, you can update the assignment to use the provided project or fall back to var.project_id:

In variables.tf:

type = list(object({
  network            = string
  subnetwork         = optional(string)
  subnetwork_project = optional(string) # <-- Add this field

In main.tf (lines ~195):

subnetwork_project = network_interface.subnetwork != null ? coalesce(network_interface.subnetwork_project, var.project_id) : null

This ensures that users can specify a host project if they are attaching an interface from a Shared VPC.

Everything else looks good to me! Will approve once the tests pass with the new commit.

@Thibaut-Nurit
Thibaut-Nurit force-pushed the fix-add-multiple-interfaces-htcondor-ep branch from a2825fc to 9ec876e Compare May 20, 2026 11:24
@Thibaut-Nurit
Thibaut-Nurit force-pushed the fix-add-multiple-interfaces-htcondor-ep branch from 9ec876e to 24b41a5 Compare May 20, 2026 11:30
@Thibaut-Nurit

Copy link
Copy Markdown
Contributor Author

Hello,
The variable is added

@kadupoornima

Copy link
Copy Markdown
Contributor

/gcbrun

@kadupoornima

kadupoornima commented May 21, 2026

Copy link
Copy Markdown
Contributor

Hello, The variable is added

Thanks! Approved.

@kadupoornima
kadupoornima enabled auto-merge (squash) May 21, 2026 06:33
@mufaqam-gcl
mufaqam-gcl disabled auto-merge June 18, 2026 14:52
@mufaqam-gcl
mufaqam-gcl removed the request for review from samskillman June 18, 2026 14:53
@kadupoornima
kadupoornima merged commit 9dfb191 into GoogleCloudPlatform:develop Jun 19, 2026
13 of 82 checks passed
ep-nag pushed a commit to nagconsulting/cluster-toolkit that referenced this pull request Aug 7, 2026
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-bugfix Added to release notes under the "Bug fixes" heading. release-module-improvements Added to release notes under the "Module Improvements" heading. release-version-updates Added to release notes under the "Version Updates" heading.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants