Puppet Class: swift::ringserver

Inherits:
swift::params
Defined in:
manifests/ringserver.pp

Overview

Class: swift::ringserver

Used to create an rsync server to serve up the ring databases via rsync

Parameters

local_net_ip

(required) ip address that the swift servers should bind to.

max_connections

(optional) maximum connections to rsync server Defaults to 5

rsync_use_xinetd

(optional) Override whether to use xinetd to manage rsync service Defaults to swift::params::xinetd_available

Dependencies

Class['swift']

Examples

Authors

Dan Bode dan@puppetlabs.com

Copyright 2011 Puppetlabs Inc, unless otherwise noted.

Parameters:

  • local_net_ip (Any)
  • max_connections (Any) (defaults to: 5)
  • rsync_use_xinetd (Any) (defaults to: $::swift::params::xinetd_available)


32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'manifests/ringserver.pp', line 32

class swift::ringserver(
  $local_net_ip,
  $max_connections = 5,
  $rsync_use_xinetd = $::swift::params::xinetd_available,
) inherits swift::params {

  include swift::deps
  Class['swift::ringbuilder'] -> Class['swift::ringserver']

  if $rsync_use_xinetd and ! $::swift::params::xinetd_available {
    fail('xinetd is not available in this distro')
  }

  if !defined(Class['rsync::server']) {
    class { 'rsync::server':
      use_xinetd => $rsync_use_xinetd,
      address    => $local_net_ip,
      use_chroot => 'no',
    }
  }

  rsync::server::module { 'swift_server':
    path            => '/etc/swift',
    lock_file       => '/var/lock/swift_server.lock',
    uid             => $::swift::params::user,
    gid             => $::swift::params::group,
    max_connections => $max_connections,
    read_only       => true,
  }
}