File: config.pp

package info (click to toggle)
puppet-module-deric-zookeeper 0.8.4-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 392 kB
  • sloc: ruby: 1,734; sh: 224; makefile: 10
file content (91 lines) | stat: -rw-r--r-- 2,742 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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
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
# Class: zookeeper::config
#
# This module manages the configuration directories
#
# PRIVATE CLASS - do not use directly (use main `zookeeper` class).
class zookeeper::config inherits zookeeper {
  require ::zookeeper::install

  file { $::zookeeper::cfg_dir:
    ensure  => directory,
    owner   => $::zookeeper::user,
    group   => $::zookeeper::group,
    recurse => true,
    mode    => '0644',
  }

  file { $::zookeeper::log_dir:
    ensure  => directory,
    owner   => $::zookeeper::user,
    group   => $::zookeeper::group,
    recurse => false,
    mode    => '0644',
  }

  file { $::zookeeper::datastore:
    ensure  => directory,
    owner   => $::zookeeper::user,
    group   => $::zookeeper::group,
    mode    => '0644',
    recurse => false, # intentionally, puppet run would take too long #41
  }

  if $::zookeeper::datalogstore {
    file { $::zookeeper::datalogstore:
      ensure  => directory,
      owner   => $::zookeeper::user,
      group   => $::zookeeper::group,
      mode    => '0644',
      recurse => false, # intentionally, puppet run would take too long #41
    }
  }

  if $::zookeeper::service_provider != 'exhibitor' {
    file { "${::zookeeper::cfg_dir}/zoo.cfg":
      owner   => $::zookeeper::user,
      group   => $::zookeeper::group,
      mode    => '0644',
      content => template("${module_name}/conf/zoo.cfg.erb"),
    }

    # we should notify Class['::zookeeper::service'] however it's not configured
    # at this point (first run), so we have to subscribe from service declaration
    file { "${::zookeeper::cfg_dir}/myid":
      ensure  => file,
      content => template("${module_name}/conf/myid.erb"),
      owner   => $::zookeeper::user,
      group   => $::zookeeper::group,
      mode    => '0644',
      require => File[$::zookeeper::cfg_dir],
    }
  }

  file { "${::zookeeper::datastore}/myid":
    ensure => 'link',
    target => "${::zookeeper::cfg_dir}/myid",
  }

  file { "${::zookeeper::cfg_dir}/${::zookeeper::environment_file}":
    owner   => $::zookeeper::user,
    group   => $::zookeeper::group,
    mode    => '0644',
    content => template("${module_name}/conf/environment.erb"),
  }

  file { "${::zookeeper::cfg_dir}/log4j.properties":
    owner   => $::zookeeper::user,
    group   => $::zookeeper::group,
    mode    => '0644',
    content => template("${module_name}/conf/log4j.properties.erb"),
  }

  # Initialize the datastore if required
  if $::zookeeper::initialize_datastore {
    exec { 'initialize_datastore':
      command => "/usr/bin/zookeeper-server-initialize --myid=${::zookeeper::id}",
      user    => $::zookeeper::user,
      creates => "${::zookeeper::datastore}/version-2",
      require => File[$::zookeeper::datastore],
    }
  }
}