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-pcp', '3.0.0'
Learn more about managing modules with a PuppetfileDocumentation
puppet-module-pcp
- Overview
- Usage - Configuration options
- Reference - Parameter and detailed reference to all options
- Compatibility
- Development - Guide for contributing to the module
Overview
This module manages Performance Co-Pilot (PCP)
Only PCP >= 3.11.3 is supported
Usage
To install PCP to log locally
class { 'pcp': }
Example of using PCP without default logger and pmie as well as disabling pmlogger log archival
class { '::pcp':
include_default_pmlogger => false,
include_default_pmie => false,
pmlogger_daily_args => '-M -k forever',
}
Define a new primary logger that logs to a shared location
pcp::pmlogger { 'supremm':
ensure => 'present',
hostname => 'LOCALHOSTNAME',
primary => true,
socks => false,
log_dir => '/data/supremm/pmlogger/LOCALHOSTNAME',
args => '-r -c config.default',
}
Install and enable a PMDA
pcp::pmda { 'slurm': }
Reference
http://treydock.github.io/puppet-module-pcp/
Compatibility
This module only works with PCP >= 3.11.3
Tested using
- RedHat/CentOS 7
- RedHat/Rocky/AlmaLinux 8
- RedHat/Rocky/AlmaLinux 9
Reference
Table of Contents
Classes
Public Classes
pcp
: Manage PCP
Private Classes
pcp::config
pcp::install
pcp::resources
pcp::service
pcp::user
Defined types
pcp::pmda
: Install, enable and optionally configure a PMDApcp::pmie
: Configure a pmiepcp::pmlogger
: Configure a pmlogger
Classes
pcp
Manage PCP
Examples
include ::pcp
Parameters
The following parameters are available in the pcp
class:
ensure
package_ensure
packages
extra_packages
service_ensure
service_enable
enable_pmproxy
manage_user
pcp_group_gid
pcp_user_uid
cron_ensure
pmlogger_cron_template
pmie_cron_template
include_default_pmlogger
include_default_pmie
pmlogger_daily_args
pcp_conf_configs
pmdas
pmies
pmloggers
ensure
Data type: Enum['running', 'stopped', 'absent']
Defines state of PCP.
Default value: 'running'
package_ensure
Data type: String
Package ensure property.
Default value: 'present'
packages
Data type: Array
Array of packages to install for PCP
Default value: ['pcp', 'pcp-conf', 'pcp-doc', 'pcp-libs', 'perl-PCP-PMDA', 'python-pcp', 'pcp-selinux']
extra_packages
Data type: Array
Extra packages to install
Default value: []
service_ensure
Data type: Optional[String]
Set service ensure property for pmcd
, pmie
and pmlogger
services.
Default is based on ensure
parameter.
Default value: undef
service_enable
Data type: Optional[Boolean]
Set service enable property for pmcd
, pmie
and pmlogger
services.
Default is based on ensure
parameter.
Default value: undef
enable_pmproxy
Data type: Boolean
Boolean that determines if pmproxy service is running/enabled.
Default value: false
manage_user
Data type: Boolean
Boolean that sets if pcp user / group is managed.
Default value: true
pcp_group_gid
Data type: Optional[Integer]
pcp group GID.
Default value: undef
pcp_user_uid
Data type: Optional[Integer]
pcp user UID.
Default value: undef
cron_ensure
Data type: Optional[String]
Ensure passed to cron files.
Default based on value of ensure
.
Default value: undef
pmlogger_cron_template
Data type: String
Template used for pmlogger cron.
Default value: 'pcp/pcp-pmlogger.cron.erb'
pmie_cron_template
Data type: String
Template used for pmie cron.
Default value: 'pcp/pcp-pmie.cron.erb'
include_default_pmlogger
Data type: Boolean
Boolean that determines if default install pmlogger is installed.
Default value: true
include_default_pmie
Data type: Boolean
Boolean that determines if default install pmie is installed.
Default value: true
pmlogger_daily_args
Data type: String
Arguments given to pmlogger_daily that is executed via cron.
Default value: '-X xz -x 3'
pcp_conf_configs
Data type: Hash
Hash of configs to manage in /etc/pcp.conf.
Default value: {}
pmdas
Data type: Hash
Hash that defines pcp::pmda
resources.
Default value: {}
pmies
Data type: Hash
Hash that defines pcp::pmie
resources.
Default value: {}
pmloggers
Data type: Hash
Hash that defines pcp::pmlogger
resources.
Default value: {}
Defined types
pcp::pmda
Install, enable and optionally configure a PMDA
Examples
pcp::pmda { 'nfsclient':
ensure => 'present',
}
Parameters
The following parameters are available in the pcp::pmda
defined type:
ensure
Data type: Enum['present', 'absent']
Ensure property for the PMDA.
Valid values are 'present'
and 'absent'
.
Default is 'present'
.
Default value: 'present'
has_package
Data type: Boolean
Boolean that determines of a package is associated with the PMDA.
Default is true
.
Default value: true
package_name
Data type: Optional[String]
Package name of PMDA.
Default is pcp-pmda-$name
.
Default value: undef
remove_package
Data type: Boolean
Boolean that determines if the package should be removed when ensure
is absent
.
Default is false
.
Default value: false
config_path
Data type: Optional[Stdlib::Absolutepath]
Configuration file path for this PMDA.
Default is /var/lib/pcp/config/${name}/${name}.conf
.
Default value: undef
config_content
Data type: Optional[String]
Configuration file content for the PMDA.
Default is undef
.
Default value: undef
config_source
Data type: Optional[String]
Configuration file source for the PMDA.
Default is undef
.
Default value: undef
args
Data type: Optional[String]
Arguments that will be added to pmcd.conf for this PMDA
Default value: undef
pcp::pmie
Configure a pmie
Parameters
The following parameters are available in the pcp::pmie
defined type:
ensure
Data type: Enum['present', 'absent']
The pmie ensure property.
Valid values are present
and absent
.
Default is present
.
Default value: 'present'
hostname
Data type: String
Hostname associated with the pmie.
Default is 'LOCALHOSTNAME'
.
Default value: 'LOCALHOSTNAME'
primary
Data type: Boolean
Boolean that sets if this pmie is primary.
Default is false
.
Default value: false
socks
Data type: Boolean
Boolean that sets if this pmie uses pmsocks.
Default is false
.
Default value: false
log_file
Data type: String
The pmie control log file. Default is PCP_LOG_DIR/pmie/LOCALHOSTNAME/pmie.log
Default value: 'PCP_LOG_DIR/pmie/LOCALHOSTNAME/pmie.log'
args
Data type: String
Args passed to pmie. Default is an empty string.
Default value: ''
config_path
Data type: Optional[Stdlib::Absolutepath]
Config path for the pmie. If defined the value is passed as -c value
to the pmie arguments. Default is undef
.
Default value: undef
config_content
Data type: Optional[String]
The pmie config contents. Default is undef
.
Default value: undef
config_source
Data type: Optional[String]
The pmie config source. Default is undef
.
Default value: undef
pcp::pmlogger
Configure a pmlogger
Parameters
The following parameters are available in the pcp::pmlogger
defined type:
ensure
Data type: Enum['present', 'absent']
The pmlogger ensure property.
Valid values are present
and absent
.
Default is present
.
Default value: 'present'
hostname
Data type: String
Hostname associated with the pmlogger.
Default is 'LOCALHOSTNAME'
.
Default value: 'LOCALHOSTNAME'
primary
Data type: Boolean
Boolean that sets if this pmlogger is primary.
Default is false
.
Default value: false
socks
Data type: Boolean
Boolean that sets if this pmlogger uses pmsocks.
Default is false
.
Default value: false
log_dir
Data type: String
Log directory for this pmlogger.
Default is PCP_LOG_DIR/pmlogger/LOCALHOSTNAME
.
Default value: 'PCP_LOG_DIR/pmlogger/LOCALHOSTNAME'
args
Data type: String
Arguments passed to pmlogger. Default is an empty string.
Default value: ''
config_path
Data type: Optional[Stdlib::Absolutepath]
Config path for the pmlogger.
If defined the value is passed as -c value
to the pmlogger arguments.
Default is undef
.
Default value: undef
config_content
Data type: Optional[String]
The pmlogger config contents.
Default is undef
.
Default value: undef
config_source
Data type: Optional[String]
The pmlogger config source.
Default is undef
.
Default value: undef
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.
v3.0.0 (2023-08-07)
Changed
Added
v2.1.0 (2022-03-09)
Added
v2.0.0 (2021-11-30)
Changed
v1.8.0 (2019-10-28)
Added
- Increase stdlib supported versions #20 (treydock)
- Use module Hiera data #19 (treydock)
- Support managing /etc/pcp.conf #18 (treydock)
v1.7.0 (2019-07-11)
Added
v1.6.0 (2019-05-09)
Added
v1.5.0 (2019-05-08)
Added
1.4.3 (2019-05-08)
Fixed
1.4.2 (2019-05-07)
Fixed
1.4.1 (2018-12-18)
Fixed
1.4.0 (2018-12-04)
Added
- Support puppet 6 and drop puppet 4 #11 (treydock)
- Support setting pmda arguments #9 (treydock)
- Document with puppet-strings #8 (treydock)
Fixed
1.3.1 (2018-06-29)
Fixed
1.3.0 (2018-05-24)
Added
1.2.0 (2018-05-18)
Added
1.1.1 (2018-05-17)
Added
1.1.0 (2018-05-17)
Added
1.0.0 (2017-11-13)
Changed
Added
0.0.3 (2017-11-12)
0.0.2 (2016-01-05)
0.0.1 (2016-01-02)
* This Changelog was automatically generated by github_changelog_generator
Dependencies
- puppetlabs/stdlib (>= 4.13.1 <10.0.0)