Puppet Class: fhgfs::storage

Inherits:
fhgfs
Defined in:
manifests/storage.pp

Overview

Class: fhgfs::storage

This module manages FhGFS storage service

Parameters:

  • enable (Any) (defaults to: true)
  • storage_directory (Any) (defaults to: hiera('fhgfs::storage_directory', $fhgfs::storage_directory))
  • mgmtd_host (Any) (defaults to: hiera('fhgfs::mgmtd_host', $fhgfs::mgmtd_host))
  • log_dir (Any) (defaults to: hiera('fhgfs::log_dir', $fhgfs::log_dir))
  • log_level (Any) (defaults to: 3)
  • user (Any) (defaults to: hiera('fhgfs::user', $fhgfs::user))
  • group (Any) (defaults to: hiera('fhgfs::group', $fhgfs::group))
  • package_ensure (Any) (defaults to: hiera('fhgfs::package_ensure', $fhgfs::package_ensure))
  • interfaces (Any) (defaults to: ['eth0'])
  • interfaces_file (Any) (defaults to: '/etc/fhgfs/storage.interfaces')
  • mgmtd_tcp_port (Any) (defaults to: 8008)
  • mgmtd_udp_port (Any) (defaults to: 8008)


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
# File 'manifests/storage.pp', line 5

class fhgfs::storage (
  $enable            = true,
  $storage_directory = hiera('fhgfs::storage_directory', $fhgfs::storage_directory),
  $mgmtd_host        = hiera('fhgfs::mgmtd_host', $fhgfs::mgmtd_host),
  $log_dir           = hiera('fhgfs::log_dir', $fhgfs::log_dir),
  $log_level         = 3,
  $user              = hiera('fhgfs::user', $fhgfs::user),
  $group             = hiera('fhgfs::group', $fhgfs::group),
  $package_ensure    = hiera('fhgfs::package_ensure', $fhgfs::package_ensure),
  $interfaces        = ['eth0'],
  $interfaces_file   = '/etc/fhgfs/storage.interfaces',
  $mgmtd_tcp_port    = 8008,
  $mgmtd_udp_port    = 8008,
) inherits fhgfs {

  require fhgfs::install
  validate_array($interfaces)

  package { 'fhgfs-storage':
    ensure => $package_ensure,
  }

  file { $storage_directory:
    ensure  => directory,
    owner   => $user,
    group   => $group,
    recurse => true,
  }

  file { $interfaces_file:
    ensure => present,
    owner   => $user,
    group   => $group,
    mode    => '0755',
    content => template('fhgfs/interfaces.erb'),
  }

  file { '/etc/fhgfs/fhgfs-storage.conf':
    ensure  => present,
    owner   => $user,
    group   => $group,
    mode    => '0755',
    content => template('fhgfs/fhgfs-storage.conf.erb'),
    require => [
      File["$interfaces_file"],
      Package['fhgfs-storage'],
    ],
  }

  service { 'fhgfs-storage':
    ensure    => running,
    enable    => $enable,
    hasstatus  => true,
    hasrestart => true,
    require   => Package['fhgfs-storage'],
    subscribe => [
      File['/etc/fhgfs/fhgfs-storage.conf'],
      File["$interfaces_file"],
    ],
  }
}