Puppet Class: storm::backend::install

Defined in:
manifests/backend/install.pp

Summary

StoRM Backend install class

Overview



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
# File 'manifests/backend/install.pp', line 3

class storm::backend::install (

) {

  ## MySQL
  $basearch = 'x86_64'
  $el = $::operatingsystemmajrelease

  ## MySQL Repo
  yumrepo { 'repo.mysql.com':
    ensure   => present,
    descr    => 'repo.mysql.com',
    baseurl  => "http://repo.mysql.com/yum/mysql-5.6-community/el/${el}/${basearch}/",
    enabled  => 1,
    gpgcheck => true,
    gpgkey   => 'http://repo.mysql.com/RPM-GPG-KEY-mysql',
  }

  ## MySQL Client
  class { 'mysql::client':
    package_name => 'mysql-community-client',
    require      => Yumrepo['repo.mysql.com'],
  }

  if $storm::backend::mysql_server_install {

    ## MySQL Server (optional)
    class { 'mysql::server':
      package_name       => 'mysql-community-server',
      root_password      => $storm::backend::mysql_server_root_password,
      manage_config_file => true,
      service_name       => 'mysqld',
      require            => Yumrepo['repo.mysql.com'],
      override_options   => $storm::backend::mysql_server_override_options,
    }
  }

  ## StoRM Backend
  package { 'storm-backend-mp':
    ensure  => installed,
    require => Yumrepo['repo.mysql.com'],
  }

  if $storm::backend::install_native_libs_gpfs {

    ## Native libs GPFS
    package { 'storm-native-libs-gpfs' :
      ensure  => installed,
      require => [Package['storm-backend-mp']],
    }

  } else {

    # fail in case native libs gfps are needed
    if $storm::backend::fs_type == 'gpfs' {
      fail("You have declared fs_type as 'gpfs' but 'install_native_libs_gpfs' is false. Check your configuration.")
    } else {
      $storm::backend::storage_areas.each | $sa | {
        if $sa[fs_type] == 'gpfs' {
          fail("Storage area ${sa[name]} is 'gpfs' but 'install_native_libs_gpfs' is false. Check your configuration.")
        }
      }
    }
  }

  ## StoRM Info Provider
  package { 'storm-dynamic-info-provider':
    ensure  => installed,
    require => [Package['storm-backend-mp']],
  }
}