networker: Added networker::server class.

This commit is contained in:
Timo Mkinen 2013-06-11 09:47:40 +03:00
parent ff77ca8cf1
commit 7d4948c379

View file

@ -1,25 +1,19 @@
class networker::client {
package { [ "lgtoclnt", "lgtoman" ]:
ensure => installed,
}
# Install common parts of Legato Networker
#
class networker::common {
file { [ "/nsr", "/nsr/res" ]:
require portmap::server
file { [ "/nsr", "/nsr/res", ]:
ensure => directory,
mode => "0755",
owner => root,
group => root,
require => Package["lgtoclnt"],
owner => "root",
group => "root",
}
file { "/nsr/res/servers":
ensure => present,
content => template("networker/servers.erb"),
mode => "0644",
owner => root,
group => root,
require => File["/nsr/res"],
notify => Service["networker"],
package { "lgtoman":
ensure => installed,
}
service { "networker":
@ -28,9 +22,81 @@ class networker::client {
hasstatus => true,
}
exec { "nsrports -S 7937-7940":
path => "/bin:/usr/bin:/sbin:/usr/sbin",
unless => "nsrports | egrep '^Service ports: 7937-7940[[:space:]]$'",
exec { "nsrports":
command => "nsrports -S 7937-7940",
path => "/bin:/usr/bin:/sbin:/usr/sbin",
unless => "nsrports | egrep '^Service ports: ${range}[[:space:]]$'",
require => Service["networker"],
}
}
# Install Legato Networker client
#
# === Global variables
#
# $networker_servers:
# Array containing networker servers allowed to backup this host.
#
class networker::client {
include networker::common
package { "lgtoclnt":
ensure => installed,
before => File["/nsr"],
}
file { "/nsr/res/servers":
ensure => present,
content => template("networker/servers.erb"),
mode => "0644",
owner => "root",
group => "root",
require => File["/nsr/res"],
notify => Service["networker"],
}
}
# Install Legato Networker server
#
# === Parameters:
#
# $datadir:
# Datadirectory for indexes.
# $ports:
# Number of ports to reserve for networker use. Defaults to 8.
# See nsrports man page.
#
class networker::server($datadir="/nsr", $ports=8) inherits networker::common {
$networker_server = [ $::homename, ]
include networker::client
package { [ "lgtolicm", "lgtonode", "lgtoserv", ]:
ensure => installed,
before => Service["networker"],
}
if $datadir != "/nsr" {
file { $datadir:
ensure => directory,
mode => "0755",
owner => "root",
group => "root",
}
File["/nsr"] {
ensure => link,
target => $datadir,
require => File[$datadir],
}
}
Exec["nsrports"] {
command => inline_template('nsrports -S 7937-<%= 7936 + @ports.to_i %>'),
}
}