This module is responsible for the following actions:
- store an HTCondor Pool password in Google Cloud Secret Manager
- will generate a new password if one is not supplied
- create a secret in Google Cloud Secret Manager in which the HTCondor central manager can place IDTOKENs (JWT Authorizations) for execute points to download
- create a Toolkit runner for the central manager
- download the POOL password / signing key
- create a local IDTOKEN for itself
- upload the execute point IDTOKEN secret
- create a Toolkit runner for access points
- download the POOL password / signing key
- create a local IDTOKEN for itself
- create a Toolkit runner for execute points
- Fetch the IDTOKEN secret generated by the central manager
It is expected to be used with the htcondor-install and htcondor-execute-point modules.
The following code snippet uses this module to create a startup script that installs HTCondor software and configures an HTCondor Central Manager. A full example can be found in the examples README.
- id: network1
source: modules/network/pre-existing-vpc
- id: htcondor_install
source: community/modules/scripts/htcondor-install
- id: htcondor_setup
source: community/modules/scheduler/htcondor-setup
use:
- network1
- id: htcondor_secrets
source: community/modules/scheduler/htcondor-pool-secrets
use:
- htcondor_setup
- id: htcondor_startup_central_manager
source: modules/scripts/startup-script
settings:
runners:
- $(htcondor_install.install_htcondor_runner)
- $(htcondor_secrets.central_manager_runner)
- $(htcondor_setup.central_manager_runner)
- id: htcondor_cm
source: modules/compute/vm-instance
use:
- network1
- htcondor_startup_central_manager
settings:
name_prefix: cm0
machine_type: c2-standard-4
disable_public_ips: true
service_account:
email: $(htcondor_setup.central_manager_service_account)
scopes:
- cloud-platform
network_interfaces:
- network: null
subnetwork: $(network1.subnetwork_self_link)
subnetwork_project: $(vars.project_id)
network_ip: $(htcondor_setup.central_manager_internal_ip)
stack_type: null
access_config: []
ipv6_access_config: []
alias_ip_range: []
nic_type: VIRTIO_NET
queue_count: null
outputs:
- internal_ip
HTCondor is maintained by the Center for High Throughput Computing at the University of Wisconsin-Madison. Support for HTCondor is available via:
Copyright 2023 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 | >= 1.3.0 |
>= 4.84 | |
random | >= 3.0 |
Name | Version |
---|---|
>= 4.84 | |
random | >= 3.0 |
No modules.
Name | Description | Type | Default | Required |
---|---|---|---|---|
access_point_service_account_email | HTCondor access point service account e-mail | string |
n/a | yes |
central_manager_service_account_email | HTCondor access point service account e-mail | string |
n/a | yes |
deployment_name | Cluster Toolkit deployment name. HTCondor cloud resource names will include this value. | string |
n/a | yes |
execute_point_service_account_email | HTCondor access point service account e-mail | string |
n/a | yes |
labels | Labels to add to resources. List key, value pairs. | map(string) |
n/a | yes |
pool_password | HTCondor Pool Password | string |
null |
no |
project_id | Project in which HTCondor pool will be created | string |
n/a | yes |
trust_domain | Trust domain for HTCondor pool (if not supplied, will be set based on project_id) | string |
"" |
no |
user_managed_replication | Replication parameters that will be used for defined secrets | list(object({ |
[] |
no |
Name | Description |
---|---|
access_point_runner | Toolkit Runner to download pool secrets to an HTCondor access point |
central_manager_runner | Toolkit Runner to download pool secrets to an HTCondor central manager |
execute_point_runner | Toolkit Runner to download pool secrets to an HTCondor execute point |
pool_password_secret_id | Google Cloud Secret Manager ID containing HTCondor Pool Password |
windows_startup_ps1 | PowerShell script to download pool secrets to an HTCondor execute point |