This module performs the following tasks:
- create an instance template from which execute points will be created
- create a managed instance group (MIG) for execute points
- create a Toolkit runner to configure the autoscaler to scale the MIG
It is expected to be used with the htcondor-install and htcondor-configure modules.
The following code snippet creates a pool of HTCondor execute points using a startup script and network created in previous steps.
NOTE: HTCondor does not appear to interoperate correctly with the user identities created by OS Login. Until this is resolved, we advise disabling OS Login on all HTCondor nodes, including execute points.
- id: htcondor_execute_point
source: community/modules/compute/htcondor-execute-point
use:
- network1
- htcondor_configure_execute_point
settings:
metadata:
central-manager: ((module.htcondor_cm.internal_ip[0]))
enable-oslogin: "FALSE"
service_account:
email: $(htcondor_configure.execute_point_service_account)
scopes:
- cloud-platform
A full example can be found in the examples README.
HTCondor is maintained by the Center for High Throughput Computing at the University of Wisconsin-Madison. Support for HTCondor is available via:
Copyright 2022 Google LLC
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Name | Version |
---|---|
terraform | >= 0.13.0 |
No providers.
Name | Source | Version |
---|---|---|
execute_point_instance_template | terraform-google-modules/vm/google//modules/instance_template | ~> 7.8.0 |
mig | terraform-google-modules/vm/google//modules/mig | ~> 7.8.0 |
No resources.
Name | Description | Type | Default | Required |
---|---|---|---|---|
deployment_name | HPC Toolkit deployment name. HTCondor cloud resource names will include this value. | string |
n/a | yes |
enable_oslogin | Enable or Disable OS Login with "ENABLE" or "DISABLE". Set to "INHERIT" to inherit project OS Login setting. | string |
"DISABLE" |
no |
image | HTCondor execute point VM image | object({ |
{ |
no |
labels | Labels to add to HTConodr execute points | map(string) |
n/a | yes |
machine_type | Machine type to use for HTCondor execute points | string |
"n2-standard-4" |
no |
max_size | Maximum size of the HTCondor execute point pool; set to constrain cost run-away. | number |
100 |
no |
metadata | Metadata to add to HTCondor execute points | map(string) |
{} |
no |
network_self_link | The self link of the network HTCondor execute points will join | string |
"default" |
no |
network_storage | An array of network attached storage mounts to be configured | list(object({ |
[] |
no |
project_id | Project in which the HTCondor execute points will be created | string |
n/a | yes |
region | The region in which HTCondor execute points will be created | string |
n/a | yes |
service_account | Service account to attach to HTCondor execute points | object({ |
{ |
no |
startup_script | Startup script to run at boot-time for HTCondor execute points | string |
null |
no |
subnetwork_self_link | The self link of the subnetwork HTCondor execute points will join | string |
null |
no |
target_size | Initial size of the HTCondor execute point pool; set to null (default) to avoid Terraform management of size. | number |
null |
no |
zone | The default zone in which resources will be created | string |
n/a | yes |
Name | Description |
---|---|
configure_autoscaler_runner | Toolkit runner to configure the HTCondor autoscaler |