clarified: Manually merge clarified module from parameterize
This commit is contained in:
parent
af0968f811
commit
c12f48fc31
1 changed files with 240 additions and 219 deletions
|
@ -2,137 +2,149 @@
|
||||||
#
|
#
|
||||||
class clarified::analyzer {
|
class clarified::analyzer {
|
||||||
|
|
||||||
if ! $clarified_analyzer_package {
|
if ! $clarified_analyzer_package {
|
||||||
if $clarified_analyzer_package_latest {
|
if $::clarified_analyzer_package_latest {
|
||||||
$clarified_analyzer_package = $clarified_analyzer_package_latest
|
$clarified_analyzer_package = $::clarified_analyzer_package_latest
|
||||||
} else {
|
} else {
|
||||||
fail("Must define \$clarified_analyzer_package or \$clarified_analyzer_package_latest")
|
fail('Must define $clarified_analyzer_package or $clarified_analyzer_package_latest')
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
file { "/usr/local/src/clarified-analyzer-linux.sh":
|
file { '/usr/local/src/clarified-analyzer-linux.sh':
|
||||||
ensure => present,
|
ensure => present,
|
||||||
mode => "0755",
|
mode => '0755',
|
||||||
owner => "root",
|
owner => 'root',
|
||||||
group => "root",
|
group => 'root',
|
||||||
source => "puppet:///files/packages/${clarified_analyzer_package}",
|
source => "puppet:///files/packages/${clarified_analyzer_package}",
|
||||||
before => Exec["/usr/local/src/clarified-analyzer-linux.sh"],
|
nofity => Exec['rm -f /usr/local/clarified-analyzer'],
|
||||||
}
|
}
|
||||||
exec { "rm -f /usr/local/clarified-analyzer":
|
exec { 'rm -f /usr/local/clarified-analyzer':
|
||||||
path => "/bin:/usr/bin:/sbin:/usr/sbin",
|
refreshonly => true,
|
||||||
onlyif => "test -h /usr/local/clarified-analyzer",
|
path => '/bin:/usr/bin:/sbin:/usr/sbin',
|
||||||
subscribe => File["/usr/local/src/clarified-analyzer-linux.sh"],
|
onlyif => 'test -h /usr/local/clarified-analyzer',
|
||||||
before => Exec["/usr/local/src/clarified-analyzer-linux.sh"],
|
before => Exec['/usr/local/src/clarified-analyzer-linux.sh'],
|
||||||
refreshonly => true,
|
}
|
||||||
}
|
exec { '/usr/local/src/clarified-analyzer-linux.sh':
|
||||||
exec { "/usr/local/src/clarified-analyzer-linux.sh":
|
creates => '/usr/local/clarified-analyzer',
|
||||||
creates => "/usr/local/clarified-analyzer",
|
}
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Install Clarified Recorder.
|
# Install Clarified Recorder.
|
||||||
#
|
#
|
||||||
class clarified::recorder {
|
# === Parameters
|
||||||
|
#
|
||||||
|
# $enable:
|
||||||
|
# Install and enable init script. Defaults to true.
|
||||||
|
#
|
||||||
|
# $datadir:
|
||||||
|
# Recorder data directory. Defaults to /var/lib/recorder.
|
||||||
|
#
|
||||||
|
class clarified::recorder(
|
||||||
|
$enable=true,
|
||||||
|
$datadir=undef,
|
||||||
|
) {
|
||||||
|
|
||||||
if ! $clarified_recorder_package {
|
if ! $clarified_recorder_package {
|
||||||
if $clarified_recorder_package_latest {
|
if $::clarified_recorder_package_latest {
|
||||||
$clarified_recorder_package = $clarified_recorder_package_latest
|
$clarified_recorder_package = $::clarified_recorder_package_latest
|
||||||
} else {
|
|
||||||
fail("Must define \$clarified_recorder_package or \$clarified_recorder_package_latest")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if $recorder_datadir {
|
|
||||||
file { $recorder_datadir:
|
|
||||||
ensure => directory,
|
|
||||||
mode => "0700",
|
|
||||||
owner => "root",
|
|
||||||
group => "root",
|
|
||||||
}
|
|
||||||
|
|
||||||
file { "/var/lib/recorder":
|
|
||||||
ensure => link,
|
|
||||||
target => $recorder_datadir,
|
|
||||||
require => File[$recorder_datadir],
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
file { "/var/lib/recorder":
|
fail('Must define $clarified_recorder_package or $clarified_recorder_package_latest')
|
||||||
ensure => directory,
|
}
|
||||||
mode => "0700",
|
}
|
||||||
owner => "root",
|
|
||||||
group => "root",
|
if $datadir {
|
||||||
}
|
file { $datadir:
|
||||||
|
ensure => directory,
|
||||||
|
mode => '0700',
|
||||||
|
owner => 'root',
|
||||||
|
group => 'root',
|
||||||
}
|
}
|
||||||
|
|
||||||
file { [ "/etc/clarified",
|
file { '/var/lib/recorder':
|
||||||
"/etc/clarified/probe.d",
|
ensure => link,
|
||||||
"/etc/clarified/remote.d", ]:
|
target => $datadir,
|
||||||
ensure => directory,
|
}
|
||||||
mode => "0644",
|
} else {
|
||||||
owner => "root",
|
file { '/var/lib/recorder':
|
||||||
group => "root",
|
ensure => directory,
|
||||||
before => Exec["/usr/local/src/clarified-recorder-linux.sh"],
|
mode => '0700',
|
||||||
|
owner => 'root',
|
||||||
|
group => 'root',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
file { [
|
||||||
|
'/etc/clarified',
|
||||||
|
'/etc/clarified/probe.d',
|
||||||
|
'/etc/clarified/remote.d',
|
||||||
|
]:
|
||||||
|
ensure => directory,
|
||||||
|
mode => '0644',
|
||||||
|
owner => 'root',
|
||||||
|
group => 'root',
|
||||||
|
before => Exec['/usr/local/src/clarified-recorder-linux.sh'],
|
||||||
|
}
|
||||||
|
|
||||||
|
File['/etc/clarified/probe.d', '/etc/clarified/remote.d'] {
|
||||||
|
purge => true,
|
||||||
|
force => true,
|
||||||
|
recurse => true,
|
||||||
|
source => 'puppet:///modules/custom/empty',
|
||||||
|
}
|
||||||
|
|
||||||
|
file { '/usr/local/src/clarified-recorder-linux.sh':
|
||||||
|
ensure => present,
|
||||||
|
mode => '0755',
|
||||||
|
owner => 'root',
|
||||||
|
group => 'root',
|
||||||
|
source => "puppet:///files/packages/${clarified_recorder_package}",
|
||||||
|
notify => Exec['rm -f /usr/local/probe'],
|
||||||
|
}
|
||||||
|
exec { 'rm -f /usr/local/probe':
|
||||||
|
refreshonly => true,
|
||||||
|
path => '/bin:/usr/bin:/sbin:/usr/sbin',
|
||||||
|
onlyif => 'test -h /usr/local/probe',
|
||||||
|
before => Exec['/usr/local/src/clarified-recorder-linux.sh'],
|
||||||
|
}
|
||||||
|
exec { '/usr/local/src/clarified-recorder-linux.sh':
|
||||||
|
creates => '/usr/local/probe',
|
||||||
|
}
|
||||||
|
|
||||||
|
exec { 'clarified-functions':
|
||||||
|
refreshonly => true,
|
||||||
|
path => '/bin:/usr/bin:/sbin:/usr/sbin',
|
||||||
|
cwd => '/usr/local/probe',
|
||||||
|
command => 'sed s:@PREFIX@:/usr/local/probe: clarified-functions.in > /etc/clarified/clarified-functions',
|
||||||
|
subscribe => Exec['/usr/local/src/clarified-recorder-linux.sh'],
|
||||||
|
}
|
||||||
|
|
||||||
|
if $enable == true {
|
||||||
|
file { '/etc/init.d/clarified-probe':
|
||||||
|
ensure => present,
|
||||||
|
mode => '0755',
|
||||||
|
owner => 'root',
|
||||||
|
group => 'root',
|
||||||
|
source => '/usr/local/probe/probe-init.sh',
|
||||||
|
require => Exec['/usr/local/src/clarified-recorder-linux.sh'],
|
||||||
|
notify => Exec['add-service-clarified-probe'],
|
||||||
|
}
|
||||||
|
exec { 'add-service-clarified-probe':
|
||||||
|
refreshonly => true,
|
||||||
|
path => '/bin:/usr/bin:/sbin:/usr/sbin',
|
||||||
|
command => $::operatingsystem ? {
|
||||||
|
'debian' => 'update-rc.d clarified-probe defaults',
|
||||||
|
'ubuntu' => 'update-rc.d clarified-probe defaults',
|
||||||
|
default => 'chkconfig --add clarified-probe',
|
||||||
|
},
|
||||||
|
before => Service['clarified-probe'],
|
||||||
}
|
}
|
||||||
|
|
||||||
File["/etc/clarified/probe.d", "/etc/clarified/remote.d"] {
|
service { 'clarified-probe':
|
||||||
purge => true,
|
enable => true,
|
||||||
force => true,
|
|
||||||
recurse => true,
|
|
||||||
source => "puppet:///modules/custom/empty",
|
|
||||||
}
|
|
||||||
|
|
||||||
file { "/usr/local/src/clarified-recorder-linux.sh":
|
|
||||||
ensure => present,
|
|
||||||
mode => "0755",
|
|
||||||
owner => "root",
|
|
||||||
group => "root",
|
|
||||||
source => "puppet:///files/packages/${clarified_recorder_package}",
|
|
||||||
notify => Exec["rm -f /usr/local/probe"],
|
|
||||||
}
|
|
||||||
exec { "rm -f /usr/local/probe":
|
|
||||||
path => "/bin:/usr/bin:/sbin:/usr/sbin",
|
|
||||||
onlyif => "test -h /usr/local/probe",
|
|
||||||
before => Exec["/usr/local/src/clarified-recorder-linux.sh"],
|
|
||||||
refreshonly => true,
|
|
||||||
}
|
|
||||||
exec { "/usr/local/src/clarified-recorder-linux.sh":
|
|
||||||
creates => "/usr/local/probe",
|
|
||||||
}
|
|
||||||
|
|
||||||
exec { "clarified-functions":
|
|
||||||
path => "/bin:/usr/bin:/sbin:/usr/sbin",
|
|
||||||
cwd => "/usr/local/probe",
|
|
||||||
command => "sed s:@PREFIX@:/usr/local/probe: clarified-functions.in > /etc/clarified/clarified-functions",
|
|
||||||
subscribe => Exec["/usr/local/src/clarified-recorder-linux.sh"],
|
|
||||||
before => Service["clarified-probe"],
|
|
||||||
refreshonly => true,
|
|
||||||
}
|
|
||||||
|
|
||||||
file { "/etc/init.d/clarified-probe":
|
|
||||||
ensure => present,
|
|
||||||
mode => "0755",
|
|
||||||
owner => "root",
|
|
||||||
group => "root",
|
|
||||||
source => "/usr/local/probe/probe-init.sh",
|
|
||||||
require => Exec["/usr/local/src/clarified-recorder-linux.sh"],
|
|
||||||
notify => Exec["add-service-clarified-probe"],
|
|
||||||
}
|
|
||||||
exec { "add-service-clarified-probe":
|
|
||||||
path => "/bin:/usr/bin:/sbin:/usr/sbin",
|
|
||||||
command => $::operatingsystem ? {
|
|
||||||
"debian" => "update-rc.d clarified-probe defaults",
|
|
||||||
"ubuntu" => "update-rc.d clarified-probe defaults",
|
|
||||||
default => "chkconfig --add clarified-probe",
|
|
||||||
},
|
|
||||||
refreshonly => true,
|
|
||||||
before => Service["clarified-probe"],
|
|
||||||
}
|
|
||||||
|
|
||||||
service { "clarified-probe":
|
|
||||||
enable => true,
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -141,122 +153,131 @@ class clarified::recorder {
|
||||||
#
|
#
|
||||||
# === Parameters
|
# === Parameters
|
||||||
#
|
#
|
||||||
# $name:
|
# $name:
|
||||||
# Probe name.
|
# Probe name.
|
||||||
# $interface:
|
#
|
||||||
# Capture interface. Defaults to probe name.
|
# $interface:
|
||||||
# $snaplen:
|
# Capture interface. Defaults to probe name.
|
||||||
# Snaplen. Defaults to 65535.
|
#
|
||||||
# $keeptime:
|
# $snaplen:
|
||||||
# Amount of data to keep. Defaults to 100GB.
|
# Snaplen. Defaults to 65535.
|
||||||
# $blocksize:
|
#
|
||||||
# Storage block size. Defaults to 1GB.
|
# $keeptime:
|
||||||
# $filter:
|
# Amount of data to keep. Defaults to 100GB.
|
||||||
# Optional filter expression.
|
#
|
||||||
# $remoteport:
|
# $blocksize:
|
||||||
# Remote port. Defaults to 10000.
|
# Storage block size. Defaults to 1GB.
|
||||||
# $collab:
|
#
|
||||||
# List of collabs for authentication.
|
# $filter:
|
||||||
# $probe:
|
# Optional filter expression.
|
||||||
# Enable probe. Defaults to true.
|
#
|
||||||
# $remote:
|
# $remoteport:
|
||||||
# Enable remote. Defaults to true.
|
# Remote port. Defaults to 10000.
|
||||||
|
#
|
||||||
|
# $collab:
|
||||||
|
# List of collabs for authentication.
|
||||||
|
#
|
||||||
|
# $probe:
|
||||||
|
# Enable probe. Defaults to true.
|
||||||
|
#
|
||||||
|
# $remote:
|
||||||
|
# Enable remote. Defaults to true.
|
||||||
#
|
#
|
||||||
# === Sample usage
|
# === Sample usage
|
||||||
#
|
#
|
||||||
# clarified::probe { "eth0":
|
# clarified::probe { 'eth0':
|
||||||
# keeptime => "500GB",
|
# keeptime => '500GB',
|
||||||
# blocksize => "10GB",
|
# blocksize => '10GB',
|
||||||
# filter => "host 192.168.1.1",
|
# filter => 'host 192.168.1.1',
|
||||||
# collab => [ "collabname:PageName" ],
|
# collab => [ 'collabname:PageName' ],
|
||||||
# }
|
# }
|
||||||
#
|
#
|
||||||
define clarified::probe(
|
define clarified::probe(
|
||||||
$interface=undef,
|
$interface=undef,
|
||||||
$snaplen="65535",
|
$snaplen='65535',
|
||||||
$keeptime="100GB",
|
$keeptime='100GB',
|
||||||
$blocksize="1GB",
|
$blocksize='1GB',
|
||||||
$filter="",
|
$filter='',
|
||||||
$remoteport="10000",
|
$remoteport='10000',
|
||||||
$collab=[],
|
$collab=[],
|
||||||
$probeopt="",
|
$probeopt='',
|
||||||
$remoteopt="",
|
$remoteopt='',
|
||||||
$probe=true,
|
$probe=true,
|
||||||
$remote=true
|
$remote=true
|
||||||
) {
|
) {
|
||||||
|
|
||||||
Class["clarified::recorder"] -> Clarified::Probe[$name]
|
Class['clarified::recorder'] -> Clarified::Probe[$name]
|
||||||
|
|
||||||
if $interface {
|
if $interface {
|
||||||
$interface_real = $interface
|
$interface_real = $interface
|
||||||
} else {
|
} else {
|
||||||
$interface_real = $name
|
$interface_real = $name
|
||||||
}
|
}
|
||||||
|
|
||||||
file { "/var/lib/recorder/${name}":
|
file { "/var/lib/recorder/${name}":
|
||||||
ensure => directory,
|
ensure => directory,
|
||||||
mode => "0700",
|
mode => '0700',
|
||||||
owner => "root",
|
owner => 'root',
|
||||||
group => "root",
|
group => 'root',
|
||||||
}
|
}
|
||||||
|
|
||||||
file { "/etc/clarified/probe.d/${name}":
|
file { "/etc/clarified/probe.d/${name}":
|
||||||
ensure => $probe ? {
|
ensure => $probe ? {
|
||||||
true => present,
|
true => present,
|
||||||
false => absent,
|
false => absent,
|
||||||
},
|
},
|
||||||
mode => "0755",
|
mode => '0755',
|
||||||
owner => "root",
|
owner => 'root',
|
||||||
group => "root",
|
group => 'root',
|
||||||
content => template("clarified/probe.erb"),
|
content => template('clarified/probe.erb'),
|
||||||
require => File["/var/lib/recorder/${name}"],
|
require => File["/var/lib/recorder/${name}"],
|
||||||
notify => $probe ? {
|
notify => $probe ? {
|
||||||
true => Service["probe-${name}"],
|
true => Service["probe-${name}"],
|
||||||
false => undef,
|
false => undef,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
service { "probe-${name}":
|
service { "probe-${name}":
|
||||||
ensure => $probe ? {
|
ensure => $probe ? {
|
||||||
true => running,
|
true => running,
|
||||||
false => stopped,
|
false => stopped,
|
||||||
},
|
},
|
||||||
provider => "base",
|
provider => 'base',
|
||||||
start => "/etc/clarified/probe.d/${name} start",
|
start => "/etc/clarified/probe.d/${name} start",
|
||||||
restart => "/etc/clarified/probe.d/${name} restart",
|
restart => "/etc/clarified/probe.d/${name} restart",
|
||||||
stop => "pkill -f /var/run/probe/${name}.pid",
|
stop => "pkill -f /var/run/probe/${name}.pid",
|
||||||
status => "pgrep -f /var/run/probe/${name}.pid",
|
status => "pgrep -f /var/run/probe/${name}.pid",
|
||||||
subscribe => Exec["/usr/local/src/clarified-recorder-linux.sh"],
|
subscribe => Exec['/usr/local/src/clarified-recorder-linux.sh'],
|
||||||
}
|
}
|
||||||
|
|
||||||
file { "/etc/clarified/remote.d/${name}":
|
file { "/etc/clarified/remote.d/${name}":
|
||||||
ensure => $remote ? {
|
ensure => $remote ? {
|
||||||
true => present,
|
true => present,
|
||||||
false => absent,
|
false => absent,
|
||||||
},
|
},
|
||||||
mode => "0755",
|
mode => '0755',
|
||||||
owner => "root",
|
owner => 'root',
|
||||||
group => "root",
|
group => 'root',
|
||||||
content => template("clarified/remote.erb"),
|
content => template('clarified/remote.erb'),
|
||||||
require => File["/var/lib/recorder/${name}"],
|
require => File["/var/lib/recorder/${name}"],
|
||||||
notify => $remote ? {
|
notify => $remote ? {
|
||||||
true => Service["remote-${name}"],
|
true => Service["remote-${name}"],
|
||||||
false => undef,
|
false => undef,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
service { "remote-${name}":
|
service { "remote-${name}":
|
||||||
ensure => $remote ? {
|
ensure => $remote ? {
|
||||||
true => running,
|
true => running,
|
||||||
false => stopped,
|
false => stopped,
|
||||||
},
|
},
|
||||||
provider => "base",
|
provider => 'base',
|
||||||
start => "/etc/clarified/remote.d/${name} start",
|
start => "/etc/clarified/remote.d/${name} start",
|
||||||
restart => "/etc/clarified/remote.d/${name} restart",
|
restart => "/etc/clarified/remote.d/${name} restart",
|
||||||
stop => "pkill -f /var/run/remote/${name}.pid",
|
stop => "pkill -f /var/run/remote/${name}.pid",
|
||||||
status => "pgrep -f /var/run/remote/${name}.pid",
|
status => "pgrep -f /var/run/remote/${name}.pid",
|
||||||
require => Service["probe-${name}"],
|
require => Service["probe-${name}"],
|
||||||
subscribe => Exec["/usr/local/src/clarified-recorder-linux.sh"],
|
subscribe => Exec['/usr/local/src/clarified-recorder-linux.sh'],
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue