Puppet Class: perfsonar

Defined in:
manifests/init.pp

Summary

Manage perfSONAR

Overview

Examples:

include perfsonar

Parameters:

  • manage_repo (Boolean) (defaults to: true)

    Boolean that determines if perfSONAR repos will be managed.

  • manage_epel (Boolean) (defaults to: true)

    Boolean that determines if EPEL repo is managed.

  • release_url (Variant[Stdlib::HTTPUrl,Stdlib::HTTPSUrl]) (defaults to: "http://software.internet2.edu/rpms/el${facts['os']['release']['major']}/x86_64/latest/packages/perfsonar-repo-0.11-1.noarch.rpm")

    Release URL for adding GPG key

  • bundle (Enum['perfsonar-tools','perfsonar-testpoint','perfsonar-core','perfsonar-centralmanagement','perfsonar-toolkit']) (defaults to: 'perfsonar-toolkit')

    The perfSONAR bundle package to install

  • optional_packages (Array) (defaults to: [])

    Array of optional packages to install

  • manage_firewall (Boolean) (defaults to: true)

    Boolean that determines if firewall rules are managed.

  • with_ipv6 (Boolean) (defaults to: false)

    Boolean that determines if IPv6 support should be enabled

  • web_admin_username (String) (defaults to: 'admin')

    User name used to log into perfSONAR web interface

  • web_admin_password (Optional[String]) (defaults to: undef)

    Password for perfSONAR web login

  • remove_root_prompt (Boolean) (defaults to: false)

    Boolean that determines if file should be removed that provides a prompt for setup when root logs in.

  • apache_group (String) (defaults to: 'apache')

    Group used by Apache

  • manage_apache (Boolean) (defaults to: false)

    Boolean that sets if Apache should be managed

  • ssl_cert (Stdlib::Absolutepath) (defaults to: '/etc/pki/tls/certs/localhost.crt')

    The path to Apache SSL certificate

  • ssl_key (Stdlib::Absolutepath) (defaults to: '/etc/pki/tls/private/localhost.key')

    The path to Apache SSL private key

  • ssl_chain_file (Optional[Stdlib::Absolutepath]) (defaults to: undef)

    The path to Apache SSL chain file

  • apache_ssl_conf (Stdlib::Absolutepath) (defaults to: '/etc/httpd/conf.d/ssl.conf')

    The path to Apache SSL configuration file

  • apache_service (String) (defaults to: 'httpd')

    The Apache service name

  • primary_interface (Optional[String]) (defaults to: $facts.dig('networking','primary'))

    The primary interface of host

  • manage_pscheduler_agent (Boolean) (defaults to: false)

    Weather or not the pscheduler-agent daemon should be managed

  • pscheduler_agent_config (Optional[Hash]) (defaults to: undef)

    Configuration to convert to json and write to pscheduler-agent.json

  • manage_lsregistrationdaemon (Boolean) (defaults to: false)

    Weather or not the perfsonar-lsregistrationdaemon daemon should be managed

  • lsregistrationdaemon_ensure (Stdlib::Ensure::Service) (defaults to: 'running')

    perfsonar-lsregistrationdaemon service ensure

  • lsregistrationdaemon_enable (Boolean) (defaults to: true)

    perfsonar-lsregistrationdaemon service enable



53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# File 'manifests/init.pp', line 53

class perfsonar (
  Boolean $manage_repo = true,
  Boolean $manage_epel = true,
  Variant[Stdlib::HTTPUrl,Stdlib::HTTPSUrl] $release_url = "http://software.internet2.edu/rpms/el${facts['os']['release']['major']}/x86_64/latest/packages/perfsonar-repo-0.11-1.noarch.rpm",
  Enum['perfsonar-tools','perfsonar-testpoint','perfsonar-core','perfsonar-centralmanagement','perfsonar-toolkit']
  $bundle = 'perfsonar-toolkit',
  Array $optional_packages = [],
  Boolean $manage_firewall = true,
  Boolean $with_ipv6 = false,
  String $web_admin_username = 'admin',
  Optional[String] $web_admin_password = undef,
  Boolean $remove_root_prompt = false,
  # Apache
  String $apache_group = 'apache',
  Boolean $manage_apache = false,
  Stdlib::Absolutepath $ssl_cert = '/etc/pki/tls/certs/localhost.crt',
  Stdlib::Absolutepath $ssl_key = '/etc/pki/tls/private/localhost.key',
  Optional[Stdlib::Absolutepath] $ssl_chain_file = undef,
  Stdlib::Absolutepath $apache_ssl_conf = '/etc/httpd/conf.d/ssl.conf',
  String $apache_service = 'httpd',
  # Interfaces
  Optional[String] $primary_interface = $facts.dig('networking','primary'),
  # pscheduler-agent
  Boolean $manage_pscheduler_agent = false,
  Optional[Hash] $pscheduler_agent_config = undef,
  Boolean $manage_lsregistrationdaemon = false,
  Stdlib::Ensure::Service $lsregistrationdaemon_ensure = 'running',
  Boolean $lsregistrationdaemon_enable = true,
) {
  if $manage_repo {
    contain 'perfsonar::repo'
    Class['perfsonar::repo'] -> Class['perfsonar::install']
  }

  if $manage_firewall {
    contain 'perfsonar::firewall'
  }

  if $manage_pscheduler_agent {
    contain 'perfsonar::pscheduler::agent'

    Class['perfsonar::install']
    -> Class['perfsonar::pscheduler::agent']
  }

  if $manage_lsregistrationdaemon {
    contain 'perfsonar::lsregistrationdaemon'

    Class['perfsonar::install']
    -> Class['perfsonar::lsregistrationdaemon']
  }

  contain 'perfsonar::install'
  contain 'perfsonar::config'

  Class['perfsonar::install']
  -> Class['perfsonar::config']
}