Puppet Class: apache::mod::event

Defined in:
manifests/mod/event.pp

Summary

Installs and configures `mod_event`.

Overview

Note:

You cannot include apache::mod::event with apache::mod::itk, apache::mod::peruser, apache::mod::prefork, or apache::mod::worker on the same server.

Note:

Unsupported platforms: SLES: all

Parameters:

  • startservers (Variant[Integer, Boolean]) (defaults to: 2)

    Sets the number of child server processes created at startup, via the module’s ‘StartServers` directive. Setting this to `false` removes the parameter.

  • maxclients (Variant[Integer, Boolean]) (defaults to: 150)

    Apache 2.3.12 or older alias for the ‘MaxRequestWorkers` directive.

  • maxrequestworkers (Optional[Variant[Integer, Boolean]]) (defaults to: undef)

    Sets the maximum number of connections Apache can simultaneously process, via the module’s ‘MaxRequestWorkers` directive. Setting these to `false` removes the parameters.

  • minsparethreads (Variant[Integer, Boolean]) (defaults to: 25)

    Sets the minimum number of idle threads, via the ‘MinSpareThreads` directive. Setting this to `false` removes the parameters.

  • maxsparethreads (Variant[Integer, Boolean]) (defaults to: 75)

    Sets the maximum number of idle threads, via the ‘MaxSpareThreads` directive. Setting this to `false` removes the parameters.

  • threadsperchild (Variant[Integer, Boolean]) (defaults to: 25)

    Number of threads created by each child process.

  • maxrequestsperchild (Variant[Integer, Boolean]) (defaults to: 0)

    Apache 2.3.8 or older alias for the ‘MaxConnectionsPerChild` directive.

  • maxconnectionsperchild (Optional[Variant[Integer, Boolean]]) (defaults to: undef)

    Limit on the number of connections that an individual child server will handle during its life.

  • serverlimit (Variant[Integer, Boolean]) (defaults to: 25)

    Limits the configurable number of processes via the ‘ServerLimit` directive. Setting this to `false` removes the parameter.

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

    Version of Apache to install module on.

  • threadlimit (Variant[Integer, Boolean]) (defaults to: 64)

    Limits the number of event threads via the module’s ‘ThreadLimit` directive. Setting this to `false` removes the parameter.

  • listenbacklog (Variant[Integer, Boolean]) (defaults to: 511)

    Sets the maximum length of the pending connections queue via the module’s ‘ListenBackLog` directive. Setting this to `false` removes the parameter.

See Also:



49
50
51
52
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# File 'manifests/mod/event.pp', line 49

class apache::mod::event (
  Variant[Integer, Boolean] $startservers                     = 2,
  Variant[Integer, Boolean] $maxclients                       = 150,
  Optional[Variant[Integer, Boolean]] $maxrequestworkers      = undef,
  Variant[Integer, Boolean] $minsparethreads                  = 25,
  Variant[Integer, Boolean] $maxsparethreads                  = 75,
  Variant[Integer, Boolean] $threadsperchild                  = 25,
  Variant[Integer, Boolean] $maxrequestsperchild              = 0,
  Optional[Variant[Integer, Boolean]] $maxconnectionsperchild = undef,
  Variant[Integer, Boolean] $serverlimit                      = 25,
  Optional[String] $apache_version                            = undef,
  Variant[Integer, Boolean]  $threadlimit                     = 64,
  Variant[Integer, Boolean]  $listenbacklog                   = 511,
) {
  include apache

  $_apache_version = pick($apache_version, $apache::apache_version)

  if defined(Class['apache::mod::itk']) {
    fail('May not include both apache::mod::event and apache::mod::itk on the same node')
  }
  if defined(Class['apache::mod::peruser']) {
    fail('May not include both apache::mod::event and apache::mod::peruser on the same node')
  }
  if defined(Class['apache::mod::prefork']) {
    fail('May not include both apache::mod::event and apache::mod::prefork on the same node')
  }
  if defined(Class['apache::mod::worker']) {
    fail('May not include both apache::mod::event and apache::mod::worker on the same node')
  }
  File {
    owner => 'root',
    group => $apache::params::root_group,
    mode  => $apache::file_mode,
  }

  # Template uses:
  # - $startservers
  # - $maxclients
  # - $minsparethreads
  # - $maxsparethreads
  # - $threadsperchild
  # - $maxrequestsperchild
  # - $serverlimit
  file { "${apache::mod_dir}/event.conf":
    ensure  => file,
    mode    => $apache::file_mode,
    content => template('apache/mod/event.conf.erb'),
    require => Exec["mkdir ${apache::mod_dir}"],
    before  => File[$apache::mod_dir],
    notify  => Class['apache::service'],
  }

  case $facts['os']['family'] {
    'redhat': {
      if versioncmp($_apache_version, '2.4') >= 0 {
        apache::mpm { 'event':
          apache_version => $_apache_version,
        }
      }
    }
    'debian', 'freebsd' : {
      apache::mpm { 'event':
        apache_version => $_apache_version,
      }
    }
    'gentoo': {
      ::portage::makeconf { 'apache2_mpms':
        content => 'event',
      }
    }
    default: {
      fail("Unsupported osfamily ${$facts['os']['family']}")
    }
  }
}