A Puppet module for installing and configuring HTCondor, a workload management system for compute-intensive jobs.
- Installs HTCondor and sets up the official YUM repository
- Manages core configuration files and directories
- Supports Central Manager, Scheduler, and Worker node roles
- Handles HTCondor security settings and service management
- Centralizes configuration defaults using
htcondor::params - Example role classes for Foreman-based environments in
roles/htcondorcluster/
- Puppet 6 or newer
- RHEL/CentOS 9 or compatible OS (default repository URL)
- Root privileges for installation and configuration
Clone or download this module into your Puppet modules directory:
git clone https://github.com/igvaz/htcondor-install-puppetmodule.git /etc/puppetlabs/code/environments/production/modules/htcondorTo use this module, include the main htcondor class in your Puppet manifests. You must change the following parameters centralized in htcondor::params accordingly with your environment:
| Parameter | Description | Default Value |
|---|---|---|
condor_host |
Hostname of the HTCondor central manager | 'central_manager_hostname' |
condor_schedd |
Hostname of the HTCondor scheduler | 'scheduler_hostname' |
domain |
Domain used for UID_DOMAIN and related settings | 'example.domain.com' |
local_dirs |
Array of local directories for HTCondor usage | See example in htcondor::params |
pool_password |
Password for pool authentication | 'your_pool_password' |
Edit the EPP templates in the templates/ directory to match your environment as well.
condor_config.epp10_security.config.epp20_workernode.config.epp21_schedd.config.epp22_manager.config.epp
For more details, see the HTCondor documentation.
htcondor: Main entry point for installation and configurationhtcondor::central_manager: Configures a node as Central Managerhtcondor::scheduler: Configures a node as Schedulerhtcondor::worker: Configures a node as Worker
htcondor::install: Installs HTCondor and sets up repositoryhtcondor::config: Manages configuration files and directorieshtcondor::service: Manages the HTCondor servicehtcondor::security: Manages security configurationhtcondor::params: Centralizes default parameters
For issues and contributions, please open an issue or pull request on GitHub.