Version information
This version is compatible with:
- Puppet Enterprise 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x
- Puppet >= 7.0.0 < 9.0.0
- , , ,
Start using this module
Add this module to your Puppetfile:
mod 'treydock-xdmod', '11.0.0'
Learn more about managing modules with a PuppetfileDocumentation
puppet-module-xdmod
Table of Contents
- Overview
- Usage - Configuration options
- Reference - Parameter and detailed reference to all options
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
Overview
This module will manage Open XDMoD. This module works best when paired with Hiera for defining parameter values.
This module is designed so that different hosts can run the various components of Open XDMoD.
Open XDMoD Compatibility
- puppet-module-xdmod 2.x supports Open XDMoD 7.5.x
- puppet-module-xdmod 3.x supports Open XDMoD 8.0.x
- puppet-module-xdmod 4.x supports Open XDMoD 8.1.x
- puppet-module-xdmod 5.x supports Open XDMoD 8.5.x
- puppet-module-xdmod 6.x supports Open XDMoD 9.0.x
- puppet-module-xdmod 7.x supports Open XDMoD 9.5.x
- puppet-module-xdmod 8.x and 9.x supports Open XDMoD 10.0.x
- puppet-module-xdmod 10.x supports Open XDMoD 10.5.x
Optional Dependencies
When defining xdmod::ondemand::geoip_userid
and xdmod::ondemand::geoip_licensekey
the module trepasi/geoip is required.
Handling upgrades
This module does not support XDMOD upgrades. It's recommended to perform upgrades manually at this time.
XDMOD upgrades involve running the xdmod-upgrade
command which does not lend itself to being handled by automation.
The general process with this module for upgrades is the following:
- Upgrade all XDMOD packages
- Run
xdmod-upgrade
- Run Puppet with a version and changes specific to new XDMOD version
Version 10.x upgrade notes
The mechanism to handle cron jobs was changed with 10.x of this module so that there is a single cron script that handles all the shreds and ingests. This change to cron jobs does not apply to appkernel/AKRR.
The single cron job is set using the xdmod::cron_times
parameter. The following parameters are removed as related to cron jobs:
- xdmod::batch_export_cron_times
- xdmod::supremm_update_cron_times
- xdmod::ingest_jobscripts_cron_times
- xdmod::aggregate_supremm_cron_times
- xdmod::storage_cron_times
Usage
The XDMOD host needs to include the xdmod
class:
include xdmod
Examples of some hiera values that may be useful to set globally
xdmod::version: '10.5.0'
# Disable roles that are enabled by default
xdmod::web: false
xdmod::database: false
# Define which features of XDMoD are enabled
xdmod::enable_appkernel: true
xdmod::enable_supremm: true
# Define site information
xdmod::organization_name: My Org
xdmod::organization_abbrev: MO
# Define resources
xdmod::resources:
- resource: example
name: Example
resource_type_id: 1
pi_column: account
shared_jobs: true
xdmod::resource_specs:
- resource: example
processors: 12000
nodes: 500
ppn: 24
xdmod::supremm_resources:
- resource: example
resource_id: 1
enabled: true
datasource: pcp
hardware:
gpfs: /gpfs
pcp_log_dir: /data/pcp-data/example
batchscript:
path: /data/job-scripts/example
# Set parameters used by multiple roles
xdmod::web_host: 'xdmod.domain'
xdmod::akrr_host: 'akrr.domain'
xdmod::database_password: 'xdmod-db-password-here'
xdmod::database_host: 'dbhost.domain'
xdmod::akrr_restapi_rw_password: 'some-password'
xdmod::akrr_restapi_ro_password: 'some-password'
xdmod::akrr_database_password: 'some-password'
xdmod::supremm_mongodb_password: 'some-password'
xdmod::supremm_mongodb_host: 'mongodb.domain'
xdmod::pcp_resource:
- example
xdmod::cron_times:
- 1
- 0
# Ensure cron times are after the times scheduled to run app kernels
xdmod::akrr_ingestor_cron_times:
- 0
- 7
xdmod::appkernel_reports_manager_cron_times:
- 0
- 8
Example of how to enable OnDemand module:
xdmod::enable_ondemand: true
xdmod::resources:
- resource: ondemand
name: OnDemand
resource_type: Gateway
shred_directory: /path/to/ondemand/logs/directory
hostname: https://ondemand.example.com
xdmod::ondemand::geoip_userid: 00001
xdmod::ondemand::geoip_licensekey: secret-key
Using Prometheus for SUPREMM job metric collection:
xdmod::supremm_cron_index_archives: false
xdmod::supremm_resources:
- resource: example
resource_id: 1
enabled: true
datasource: prometheus
hardware:
gpfs: /gpfs
prom_host: prometheus.example.com:9090
batchscript:
path: /data/job-scripts/example
If you run a local yum repo for XDMoD packages
xdmod::local_repo_name: 'local-repo-name-here'
Enable Federated logins for XDMoD web host
xdmod::web: true
xdmod::manage_simplesamlphp: true
xdmod::simplesamlphp_config_source: 'puppet:///modules/site_xdmod/simplesamlphp/config.php'
xdmod::simplesamlphp_authsources_source: 'puppet:///modules/site_xdmod/simplesamlphp/authsources.php'
Run the XDMoD web interface and AKRR web service with SUPReMM support
xdmod::web: true
xdmod::akrr: true
xdmod::database: false
xdmod::enable_appkernel: true
xdmod::enable_supremm: true
xdmod::enable_update_check: false
Host the MySQL databases for XDMoD, AKRR and SUPReMM
xdmod::web: false
xdmod::database: true
xdmod::enable_appkernel: true
xdmod::enable_supremm: true
A compute node that will collect PCP data for SUPReMM. The xdmod::supremm::compute::pcp
class will declare the pcp class by default. The metrics defined in pcp_static_metrics
and pcp_standard_metrics
will also define pcp::pmda
resources based on which metrics are enabled. See xdmod::params
for some defaults. The infiniband, perfevent, nvidia, gpfs, slurm, and mic metrics are commented out.
xdmod::web: false
xdmod::database: false
xdmod::compute: true
xdmod::pcp_static_metrics:
- 'metrics that don't change often go here'
- '#comments can be defined too and will be present in config file as comments'
- 'more static metrics'
xdmod::pcp_standard_metrics:
- 'metrics that change often like during a job'
- '#comments can be defined too and will be present in config file as comments'
- 'more standard metrics'
If you wish to use include
style class declaration for the pcp class then the default pmlogger and pmie need to be removed and pmlogger_daily in cron needs to have modified arguments.
pcp::include_default_pmlogger: false
pcp::include_default_pmie: false
pcp::pmlogger_daily_args: '-M -k forever'
xdmod::web: false
xdmod::database: false
xdmod::compute: true
xdmod::pcp_declare_method: 'include'
xdmod::pcp_static_metrics:
- 'metrics that don't change often go here'
- '#comments can be defined too and will be present in config file as comments'
- 'more static metrics'
xdmod::pcp_standard_metrics:
- 'metrics that change often like during a job'
- '#comments can be defined too and will be present in config file as comments'
- 'more standard metrics'
A host that needs to run the SUPReMM job summarization.
xdmod::supremm: true
A MongoDB host needs to be setup for SUPReMM
xdmod::web: false
xdmod::database: false
xdmod::supremm_database: true
Reference
http://treydock.github.io/puppet-module-xdmod/
Limitations
This module has been tested on:
- RedHat/CentOS 7
- RedHat/Rocky/AlmaLinux 8
Reference
Table of Contents
Classes
Public Classes
xdmod
: Manage XDMoDxdmod::ondemand
: Manage XDMoD OnDemand plugin
Private Classes
xdmod::akrr::config
: Manage XDMoD AKRR configsxdmod::akrr::install
: Manage XDMoD AKRR installxdmod::akrr::service
: Manage XDMoD AKRR servicexdmod::akrr::user
: Manage XDMoD AKRR userxdmod::apache
: Manage XDMoD Apache configsxdmod::config
: Manage XDMoD configsxdmod::config::simplesamlphp
: Manage XDMoD simplesamlphpxdmod::cron
: Manage XDMOD cron resourcesxdmod::database
: Manage XDMoD databasesxdmod::install
: Manage XDMoD packagesxdmod::params
: XDMoD module defaultsxdmod::supremm::compute::pcp
: Manage XDMoD compute PCPxdmod::supremm::config
: Manage XDMoD SUPReMM configsxdmod::supremm::database
: Manage XDMoD SUPReMM databasesxdmod::supremm::install
: Manage XDMoD SUPReMM packagesxdmod::user
: Manage XDMoD user
Defined types
xdmod::akrr::setting
: Manage AKRR config setting value
Resource types
xdmod_appkernel_setting
: Section/setting name to manage from appkernels.inixdmod_ondemand_setting
: Section/setting name to manage from ondemand.inixdmod_portal_setting
: Section/setting name to manage from portal_settings.inixdmod_supremm_setting
: Section/setting name to manage from supremm.ini
Functions
xdmod::member_substring
: Function to test member substring
Data types
Classes
xdmod
Manage XDMoD
Parameters
The following parameters are available in the xdmod
class:
version
xdmod_appkernels_version
xdmod_supremm_version
database
web
akrr
supremm
supremm_database
compute
enable_appkernel
enable_supremm
enable_cloud_realm
enable_ondemand
local_repo_name
manage_epel
manage_php
package_ensure
xdmod_supremm_package_ensure
xdmod_appkernels_package_ensure
package_name
package_url
appkernels_package_name
appkernels_package_url
xdmod_supremm_package_name
xdmod_supremm_package_url
php_mongodb_version
database_host
database_port
database_user
database_password
akrr_database_user
akrr_database_password
web_host
akrr_host
scheduler
shredder_command
shred_hour_start
shred_minutes
ingest_hour
enable_update_check
manage_apache_vhost
apache_vhost_name
apache_ssl_cert
apache_ssl_key
apache_ssl_chain
portal_settings
hierarchy_levels
hierarchies
group_to_hierarchy
user_pi_names
organization_name
organization_abbrev
resources
resource_specs
sender_email
debug_recipient
php_timezone
center_logo_source
center_logo_width
user_dashboard
cors_domains
chromium_path
manage_user
user_uid
group_gid
data_warehouse_export_directory
data_warehouse_export_retention_duration_days
data_warehouse_export_hash_salt
manage_simplesamlphp
simplesamlphp_config_content
simplesamlphp_config_source
simplesamlphp_authsources_content
simplesamlphp_authsources_source
simplesamlphp_metadata_content
simplesamlphp_metadata_source
simplesamlphp_cert_country
simplesamlphp_cert_organization
simplesamlphp_cert_commonname
akrr_source_url
akrr_version
akrr_home
manage_akrr_user
akrr_user
akrr_user_group
akrr_user_group_gid
akrr_user_uid
akrr_user_shell
akrr_user_home
akrr_user_managehome
akrr_user_comment
akrr_user_system
akrr_restapi_port
akrr_restapi_rw_password
akrr_restapi_ro_password
akrr_cron_mailto
akrr_ingestor_cron_times
appkernel_reports_manager_cron_times
supremm_version
supremm_package_ensure
supremm_package_url
supremm_package_name
supremm_cron_index_archives
supremm_mongodb_password
supremm_mongodb_host
supremm_mongodb_uri
supremm_mongodb_replica_set
supremm_resources
supremm_prometheus_mapping
supremm_archive_out_dir
supremm_cron_summarize_command
use_pcp
pcp_declare_method
pcp_resource
pcp_pmlogger_path_suffix
pcp_pmlogger_config_template
pcp_pmlogger_config_source
pcp_logging_static_freq
pcp_logging_standard_freq
pcp_static_metrics
pcp_standard_metrics
pcp_environ_metrics
pcp_merge_metrics
pcp_hotproc_exclude_users
storage_roles_source
cron_times
manage_cron
manage_supremm_cron
manage_akrr_cron
manage_appkernel_cron
manage_storage_cron
version
Data type: String
Version of XDMoD to install
Default value: $xdmod::params::version
xdmod_appkernels_version
Data type: String
Version of XDMoD AppKernels to install
Default value: $xdmod::params::xdmod_appkernels_version
xdmod_supremm_version
Data type: String
Version of XDMoD SUPReMM to install
Default value: $xdmod::params::xdmod_supremm_version
database
Data type: Boolean
Sets database role
Default value: true
web
Data type: Boolean
Sets web role
Default value: true
akrr
Data type: Boolean
Sets akrr role
Default value: false
supremm
Data type: Boolean
Sets supremm role
Default value: false
supremm_database
Data type: Boolean
Sets supremm database role
Default value: false
compute
Data type: Boolean
Sets compute role
Default value: false
enable_appkernel
Data type: Boolean
Enable XDMoD AppKernel support
Default value: false
enable_supremm
Data type: Boolean
Enable XDMod SUPReMM support
Default value: false
enable_cloud_realm
Data type: Boolean
Enable the XDMoD cloud realm by adding the necessary database
Default value: false
enable_ondemand
Data type: Boolean
Enable the XDMOD OnDemand plugin and necessary database
Default value: false
local_repo_name
Data type: Optional[String]
Name of yum repo hosting RPMs
Default value: undef
manage_epel
Data type: Boolean
Boolean that sets if EPEL should be managed
Default value: true
manage_php
Data type: Boolean
Boolean that sets if PHP should be managed
Default value: true
package_ensure
Data type: String
XDMoD package ensure property
Default value: 'present'
xdmod_supremm_package_ensure
Data type: String
XDMoD supremm package ensure property
Default value: 'present'
xdmod_appkernels_package_ensure
Data type: String
XDMoD appkernels package ensure property
Default value: 'present'
package_name
Data type: String
XDMoD package name
Default value: $xdmod::params::package_name
package_url
Data type: Variant[Stdlib::HTTPSUrl, Stdlib::HTTPUrl]
XDMoD package RPM URL, not used if local_repo_name
is defined
Default value: $xdmod::params::package_url
appkernels_package_name
Data type: String
XDMoD appkernels package name
Default value: $xdmod::params::appkernels_package_name
appkernels_package_url
Data type: Variant[Stdlib::HTTPSUrl, Stdlib::HTTPUrl]
XDMoD appkernels package RPM URL, not used if local_repo_name
is defined
Default value: $xdmod::params::appkernels_package_url
xdmod_supremm_package_name
Data type: String
XDMoD supremm package name
Default value: $xdmod::params::xdmod_supremm_package_name
xdmod_supremm_package_url
Data type: Variant[Stdlib::HTTPSUrl, Stdlib::HTTPUrl]
XDMoD supremm package RPM URL, not used if local_repo_name
is defined
Default value: $xdmod::params::xdmod_supremm_package_url
php_mongodb_version
Data type: String[1]
The PHP MongoDB version
Default value: '1.16.2'
database_host
Data type: String
XDMoD database host
Default value: '127.0.0.1'
database_port
Data type: Integer
XDMoD database port
Default value: 3306
database_user
Data type: String
XDMoD database user
Default value: 'xdmod'
database_password
Data type: String
XDMoD database password
Default value: 'changeme'
akrr_database_user
Data type: String
AKRR database user
Default value: 'akrr'
akrr_database_password
Data type: String
AKRR database password
Default value: 'changeme'
web_host
Data type: String
FQDN of web host
Default value: 'localhost'
akrr_host
Data type: String
FQDN of AKRR host
Default value: 'localhost'
scheduler
Data type: Enum['slurm','torque','pbs','sge']
Scheduler to shred, used to define default shred commands and PI column
Default value: 'slurm'
shredder_command
Data type: Optional[Variant[String, Array]]
Shred command(s)
Default value: undef
shred_hour_start
Data type: Integer[0,23]
The numeric hour to start shredding
Default value: 1
shred_minutes
Data type: Integer
Time in minutes between shred operations if multiple shred commands
Default value: 5
ingest_hour
Data type: Optional[Integer[0,23]]
The numeric hour to start ingest
Default value: undef
enable_update_check
Data type: Boolean
Enable XDMoD update check
Default value: true
manage_apache_vhost
Data type: Boolean
Manage the XMDoD Apache Virtual Host
Default value: true
apache_vhost_name
Data type: String
The Apache Virtual Host name
Default value: $xdmod::params::apache_vhost_name
apache_ssl_cert
Data type: Stdlib::Unixpath
Path to SSL cert used by Apache
Default value: '/etc/pki/tls/certs/localhost.crt'
apache_ssl_key
Data type: Stdlib::Unixpath
Path to SSL private key used by Apache
Default value: '/etc/pki/tls/private/localhost.key'
apache_ssl_chain
Data type: Optional[Stdlib::Unixpath]
Path to SSL chain used by Apache
Default value: undef
portal_settings
Data type: Hash
Hash of portal_settings.ini settings to pass to xdmod_portal_setting
resources
Default value: $xdmod::params::portal_settings
hierarchy_levels
Data type: Xdmod::Hierarchy_Levels
Hierarchy levels used when defining hierarchies
Default value: $xdmod::params::hierarchy_levels
hierarchies
Data type: Array
Hierarchy lines, see XDMoD docs
Default value: $xdmod::params::hierarchies
group_to_hierarchy
Data type: Hash
Group to Hierarchy mappings, see XDMoD docs
Default value: $xdmod::params::group_to_hierarchy
user_pi_names
Data type: Array
User and PI names, see XDMoD docs
Default value: $xdmod::params::user_pi_names
organization_name
Data type: Optional[String]
Organization name for XDMoD instance
Default value: undef
organization_abbrev
Data type: Optional[String]
Organization abbreviation for XDMoD instance
Default value: undef
resources
Data type: Array[Xdmod::Resource]
Resources to define resources.json
Default value: []
resource_specs
Data type: Array[Xdmod::Resource_Spec]
Resource specs for resource_specs.json
Default value: []
sender_email
Data type: String
Configure sender for EMail
Default value: $xdmod::params::sender_email
debug_recipient
Data type: String
Configure email addres to receive debug information
Default value: ''
php_timezone
Data type: Optional[String]
PHP Timezone
Default value: undef
center_logo_source
Data type: Optional[String]
Source to image that will be used as center logo in XDMoD
Default value: undef
center_logo_width
Data type: Optional[Integer]
The width of file from center_logo_source
Default value: undef
user_dashboard
Data type: Enum['on','off']
The value for user_dashboard
in portal_settings.ini
Default value: 'off'
cors_domains
Data type: Array
The value for domains
in cors
section of portal_settings.ini
Default value: []
chromium_path
Data type: Stdlib::Absolutepath
The value for chromium_path
in reporting
section of portal_settings.ini
Default value: '/usr/lib64/chromium-browser/headless_shell'
manage_user
Data type: Boolean
Boolean that sets if managing XMDoD user
Default value: true
user_uid
Data type: Optional[Integer]
XMDoD user UID
Default value: undef
group_gid
Data type: Optional[Integer]
XDMoD user group GID
Default value: undef
data_warehouse_export_directory
Data type: Stdlib::Absolutepath
Path used for data warehouse export
Default value: '/var/spool/xdmod/export'
data_warehouse_export_retention_duration_days
Data type: Integer
portal_settings.ini section=data_warehouse_export setting=retention_duration_days
Default value: 30
data_warehouse_export_hash_salt
Data type: String
portal_settings.ini section=data_warehouse_export setting=hash_salt
Default value: sha256($facts['networking']['fqdn'])
manage_simplesamlphp
Data type: Boolean
Boolean that sets if managing simplesamlphp
Default value: false
simplesamlphp_config_content
Data type: Optional[String]
The content for simplesamlphp config
Default value: undef
simplesamlphp_config_source
Data type: Optional[String]
The source for simplesamlphp config
Default value: undef
simplesamlphp_authsources_content
Data type: Optional[String]
The content for simplesaml php authsources
Default value: undef
simplesamlphp_authsources_source
Data type: Optional[String]
The source for simplesaml php authsources
Default value: undef
simplesamlphp_metadata_content
Data type: Optional[String]
The simplesamlphp metadata content
Default value: undef
simplesamlphp_metadata_source
Data type: Optional[String]
The simplesamlphp metadata source
Default value: undef
simplesamlphp_cert_country
Data type: String
The simplesamlphp cert country
Default value: 'US'
simplesamlphp_cert_organization
Data type: Optional[String]
The simplesamlphp cert organization
Default value: undef
simplesamlphp_cert_commonname
Data type: Optional[String]
The simplesamlphp cert commonname
Default value: undef
akrr_source_url
Data type: Variant[Stdlib::HTTPSUrl, Stdlib::HTTPUrl]
The AKRR source URL
Default value: $xdmod::params::akrr_source_url
akrr_version
Data type: String
The AKRR version. This version is used to build default akrr_source_url
.
Default value: $xdmod::params::akrr_version
akrr_home
Data type: Optional[Stdlib::Unixpath]
AKRR home path
Default value: undef
manage_akrr_user
Data type: Boolean
Boolean to manage AKRR user
Default value: true
akrr_user
Data type: String
AKRR username
Default value: 'akrr'
akrr_user_group
Data type: String
AKRR user group name
Default value: 'akrr'
akrr_user_group_gid
Data type: Optional[Integer]
AKRR user gropu GID
Default value: undef
akrr_user_uid
Data type: Optional[Integer]
AKRR user UID
Default value: undef
akrr_user_shell
Data type: Stdlib::Unixpath
AKRR user shell
Default value: '/bin/bash'
akrr_user_home
Data type: Optional[Stdlib::Unixpath]
AKRR user home
Default value: undef
akrr_user_managehome
Data type: Boolean
AKRR user managehome property
Default value: true
akrr_user_comment
Data type: String
AKRR user comment
Default value: 'AKRR'
akrr_user_system
Data type: Boolean
AKRR user system property
Default value: true
akrr_restapi_port
Data type: Integer
AKRR restapi port
Default value: 8091
akrr_restapi_rw_password
Data type: String
AKRR restapi RW password
Default value: $xdmod::params::akrr_restapi_rw_password
akrr_restapi_ro_password
Data type: String
AKRR restapi RO password
Default value: $xdmod::params::akrr_restapi_ro_password
akrr_cron_mailto
Data type: Optional[String]
AKRR cron MAILTO
Default value: undef
akrr_ingestor_cron_times
Data type: Array[Integer, 2, 2]
AKRR ingestor cron times
Default value: [0,5]
appkernel_reports_manager_cron_times
Data type: Array[Integer, 2, 2]
AppKernel report manager cron times
Default value: [0,6]
supremm_version
Data type: String
Version of SUPReMM to install, builds supremm_package_url
if not defined
Default value: $xdmod::params::supremm_version
supremm_package_ensure
Data type: String
SUPReMM package ensure property
Default value: 'present'
supremm_package_url
Data type: Variant[Stdlib::HTTPSUrl, Stdlib::HTTPUrl]
The URL to download SUPReMM RPM from
Default value: $xdmod::params::supremm_package_url
supremm_package_name
Data type: String
SUPReMM RPM package name
Default value: 'supremm'
supremm_cron_index_archives
Data type: Boolean
SUPReMM whether to run indexarchives.py
Default value: true
supremm_mongodb_password
Data type: String
SUPReMM mongodb password
Default value: 'changeme'
supremm_mongodb_host
Data type: String
SUPReMM mongodb host
Default value: 'localhost'
supremm_mongodb_uri
Data type: Optional[String]
SUPReMM mongodb URI
Default value: undef
supremm_mongodb_replica_set
Data type: Optional[String]
SUPReMM mongodb replica set
Default value: undef
supremm_resources
Data type: Array[Xdmod::Supremm_Resource]
SUPReMM resources
Default value: []
supremm_prometheus_mapping
Data type: Hash
SUPReMM Prometheus mapping
Default value: {}
supremm_archive_out_dir
Data type: Stdlib::Absolutepath
The path to supremm archive out
Default value: '/dev/shm/supremm_test'
supremm_cron_summarize_command
Data type: Optional[Stdlib::Absolutepath]
The path to summarize command for SUPREMM
Default value: undef
use_pcp
Data type: Boolean
Boolean that PCP should be used for SUPREMM
Default value: true
pcp_declare_method
Data type: Enum['include', 'resource']
Should pcp class be included or declared like a resource
Default value: 'resource'
pcp_resource
Data type: Optional[String]
PCP resource name
Default value: undef
pcp_pmlogger_path_suffix
Data type: Optional[String]
PCP pmlogger path suffix
Default value: undef
pcp_pmlogger_config_template
Data type: String
Template for pmlogger config
Default value: 'xdmod/supremm/compute/pcp/pmlogger-supremm.config.erb'
pcp_pmlogger_config_source
Data type: Optional[String]
Source for pmlogger config
Default value: undef
pcp_logging_static_freq
Data type: String
Frequency for PCP logging static metrics
Default value: '1 hour'
pcp_logging_standard_freq
Data type: String
Frequency for PCP logging standard metrics
Default value: '30 sec'
pcp_static_metrics
Data type: Array
PCP static metrics
Default value: $xdmod::params::supremm_pcp_static_metrics
pcp_standard_metrics
Data type: Array
PCP standard metrics
Default value: $xdmod::params::supremm_pcp_standard_metrics
pcp_environ_metrics
Data type: Array
PCP environment metrics
Default value: $xdmod::params::supremm_pcp_environ_metrics
pcp_merge_metrics
Data type: Boolean
Boolean that PCP metrics should be merged with defaults
Default value: true
pcp_hotproc_exclude_users
Data type: Array
Users to exclude from PCP hotproc
Default value: $xdmod::params::supremm_pcp_hotproc_exclude_users
storage_roles_source
Data type: String
The source of storage roles.json
Default value: 'puppet:///modules/xdmod/roles.d/storage.json'
cron_times
Data type: Array[Integer, 2, 2]
The cron times for XDMOD cron jobs
Default value: [1, 0]
manage_cron
Data type: Boolean
Manage XDMOD cron files
Default value: true
manage_supremm_cron
Data type: Boolean
Manage SUPREMM cron files
Default value: true
manage_akrr_cron
Data type: Boolean
Manage AKRR cron files
Default value: true
manage_appkernel_cron
Data type: Boolean
Manage App Kernel cron files
Default value: true
manage_storage_cron
Data type: Boolean
Manage Storage cron files
Default value: true
xdmod::ondemand
Manage XDMoD OnDemand plugin
Parameters
The following parameters are available in the xdmod::ondemand
class:
geoip_userid
geoip_licensekey
version
package_name
package_ensure
package_url
log_format
manage_cron
update_timer_hour
geoip_userid
Data type: Optional[String]
The MaxMind GeoIP user ID Must be set if you wish to use GeoIP database
Default value: undef
geoip_licensekey
Data type: Optional[String]
The MaxMind GeoIP license key Must be set if you wish to use GeoIP database
Default value: undef
version
Data type: String
Version of XDMOD OnDemand to install
Default value: $xdmod::params::xdmod_ondemand_version
package_name
Data type: String
The XDMOD OnDemand package name
Default value: 'xdmod-ondemand'
package_ensure
Data type: String
The state of XDMOD OnDemand package when using local repo
Default value: 'installed'
package_url
Data type: Stdlib::HTTPSUrl
The URL of the XDMOD OnDemand package when not using local repo
Default value: $xdmod::params::ondemand_package_url
log_format
Data type: String
Log format to use for parsing access logs
Default value: '%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"'
manage_cron
Data type: Boolean
Manage OnDemand cron files
Default value: true
update_timer_hour
Data type: String[1]
The hour when to run geoip update timer
Default value: '00'
Defined types
xdmod::akrr::setting
Manage AKRR config setting value
Parameters
The following parameters are available in the xdmod::akrr::setting
defined type:
value
Data type: String[1]
Setting value
quote
Data type: Optional[Any]
Should value be quoted
Default value: undef
Resource types
xdmod_appkernel_setting
Section/setting name to manage from appkernels.ini
Properties
The following properties are available in the xdmod_appkernel_setting
type.
ensure
Valid values: present
, absent
The basic property that the resource should be in.
Default value: present
value
The value of the setting to be defined.
Parameters
The following parameters are available in the xdmod_appkernel_setting
type.
name
namevar
Section/setting name to manage from appkernels.ini
provider
The specific backend to use for this xdmod_appkernel_setting
resource. You will seldom need to specify this --- Puppet
will usually discover the appropriate provider for your platform.
secret
Valid values: true
, false
Whether to hide the value from Puppet logs. Defaults to false
.
Default value: false
xdmod_ondemand_setting
Section/setting name to manage from ondemand.ini
Properties
The following properties are available in the xdmod_ondemand_setting
type.
ensure
Valid values: present
, absent
The basic property that the resource should be in.
Default value: present
value
The value of the setting to be defined.
Parameters
The following parameters are available in the xdmod_ondemand_setting
type.
name
namevar
Section/setting name to manage from ondemand.ini
provider
The specific backend to use for this xdmod_ondemand_setting
resource. You will seldom need to specify this --- Puppet
will usually discover the appropriate provider for your platform.
secret
Valid values: true
, false
Whether to hide the value from Puppet logs. Defaults to false
.
Default value: false
xdmod_portal_setting
Section/setting name to manage from portal_settings.ini
Properties
The following properties are available in the xdmod_portal_setting
type.
ensure
Valid values: present
, absent
The basic property that the resource should be in.
Default value: present
value
The value of the setting to be defined.
Parameters
The following parameters are available in the xdmod_portal_setting
type.
name
namevar
Section/setting name to manage from portal_settings.ini
provider
The specific backend to use for this xdmod_portal_setting
resource. You will seldom need to specify this --- Puppet
will usually discover the appropriate provider for your platform.
secret
Valid values: true
, false
Whether to hide the value from Puppet logs. Defaults to false
.
Default value: false
xdmod_supremm_setting
Section/setting name to manage from supremm.ini
Properties
The following properties are available in the xdmod_supremm_setting
type.
ensure
Valid values: present
, absent
The basic property that the resource should be in.
Default value: present
value
The value of the setting to be defined.
Parameters
The following parameters are available in the xdmod_supremm_setting
type.
name
namevar
Section/setting name to manage from supremm.ini
provider
The specific backend to use for this xdmod_supremm_setting
resource. You will seldom need to specify this --- Puppet
will usually discover the appropriate provider for your platform.
secret
Valid values: true
, false
Whether to hide the value from Puppet logs. Defaults to false
.
Default value: false
Functions
xdmod::member_substring
Type: Ruby 4.x API
Function to test member substring
Examples
Return present
member(['nfsclient.bytes.write.server','infiniband.hca.type'], '^nfsclient')
Return absent
member(['nfsclient.bytes.write.server','nfsclient.bytes.write.server'], '^infiniband')
xdmod::member_substring(Array $array, String $substring)
Function to test member substring
Returns: String
Returns present
if substring in array
Examples
Return present
member(['nfsclient.bytes.write.server','infiniband.hca.type'], '^nfsclient')
Return absent
member(['nfsclient.bytes.write.server','nfsclient.bytes.write.server'], '^infiniband')
array
Data type: Array
The array to check.
substring
Data type: String
The substring used for check.
Data types
Xdmod::Hierarchy_Levels
The Xdmod::Hierarchy_Levels data type.
Alias of
Struct[{
top => Struct[{
label => String,
info => String,
}],
Optional[middle] => Struct[{
label => String,
info => String,
}],
Optional[bottom] => Struct[{
label => String,
info => String,
}],
}]
Xdmod::Resource
The Xdmod::Resource data type.
Alias of
Struct[{
resource => String,
name => String,
Optional[description] => String,
Optional[resource_type] => String,
Optional[pi_column] => String,
Optional[timezone] => String,
Optional[shared_jobs] => Boolean,
Optional[shred_directory] => Stdlib::Absolutepath,
Optional[hostname] => Stdlib::HTTPSUrl,
}]
Xdmod::Resource_Spec
The Xdmod::Resource_Spec data type.
Alias of
Struct[{
resource => String,
start_date => Optional[String],
end_date => Optional[String],
processors => Integer,
nodes => Integer,
ppn => Integer,
}]
Xdmod::Supremm_Resource
The Xdmod::Supremm_Resource data type.
Alias of
Struct[{
NotUndef[resource] => String[1],
Optional[enabled] => Boolean,
NotUndef[resource_id] => Integer,
Optional[collection] => String[1],
Optional[datasource] => Enum['pcp','prometheus'],
Optional[datasetmap] => String[1],
Optional[datasetmap_source] => Stdlib::Filesource,
Optional[hardware] => Struct[{
Optional[gpfs] => Variant[String, Array],
Optional[network] => Variant[String, Array],
Optional[mounts] => Hash,
Optional[block] => Variant[String, Array],
Optional[gpus] => Variant[String, Array],
}],
Optional[batchscript] => Struct[{
NotUndef[path] => Stdlib::Absolutepath,
Optional[timestamp_mode] => Enum['start','submit','end','none'],
}],
Optional[pcp_log_dir] => Stdlib::Unixpath,
Optional[hostname_mode] => Enum['fqdn','hostname'],
Optional[host_name_ext] => String[1],
Optional[fast_index] => Boolean,
Optional[timezone] => String,
Optional[prom_host] => String[1],
Optional[prom_user] => String[1],
Optional[prom_password] => String[1],
}]
Change log
All notable changes to this project will be documented in this file. The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
v11.0.0 (2024-10-14)
Changed
v10.1.0 (2024-08-09)
Added
v10.0.0 (2024-04-24)
Changed
v9.0.0 (2023-08-11)
Changed
v8.0.0 (2022-03-24)
Changed
v7.5.1 (2021-12-22)
Fixed
v7.5.0 (2021-12-02)
Added
- Improved cron job logging #26 (treydock)
- Updates to support latest PCP module #25 (treydock)
- Bump dependency version requirements #23 (yorickps)
v7.4.1 (2021-09-15)
Fixed
v7.4.0 (2021-09-15)
Added
v7.3.0 (2021-07-28)
Added
v7.2.0 (2021-06-28)
Added
Fixed
v7.1.1 (2021-06-28)
Fixed
v7.1.0 (2021-06-28)
Added
v7.0.1 (2021-05-26)
Fixed
v7.0.0 (2021-05-25)
Changed
- Support XDMOD 9.5.x #13 (treydock)
- Support Puppet 7, drop Puppet 5, update module dependencies #11 (treydock)
Added
v6.0.1 (2020-10-14)
Fixed
v6.0.0 (2020-10-07)
Changed
v5.1.0 (2020-02-26)
Added
v5.0.0 (2019-10-28)
Changed
v4.0.0 (2019-08-21)
Added
- Update module dependency upper limits #4 (treydock)
- Update docs #3 (treydock)
- Improvements to modernize module #2 (treydock)
- Convert module to PDK #1 (treydock)
3.0.0 (2019-03-01)
1.0.0 (2015-12-18)
0.0.1 (2015-08-19)
* This Changelog was automatically generated by github_changelog_generator
Dependencies
- puppetlabs/stdlib (>= 9.0.0 <10.0.0)
- puppetlabs/inifile (>= 1.0.0 <7.0.0)
- puppetlabs/mysql (>= 3.1.0 <17.0.0)
- puppet/mongodb (>= 1.0.0 <7.0.0)
- puppet/epel (>= 3.0.0 <6.0.0)
- puppet/logrotate (>= 1.0.0 <8.0.0)
- puppet/yum (>= 1.0.0 <8.0.0)
- puppet/archive (>= 4.0.0 <8.0.0)
- puppetlabs/apache (>= 1.8.0 <13.0.0)
- puppet/augeasproviders_shellvar (>= 5.0.0 <7.0.0)
- saz/sudo (>= 3.0.0 <9.0.0)
- treydock/pcp (>= 1.4.0 <4.0.0)
- puppet/openssl (>= 1.10.0 <5.0.0)
- puppet/php (>= 8.0.0 <11.0.0)
Copyright (C) 2014 <FULL NAME> <EMAIL> 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.