Puppet Class: dmlite::gridftp

Defined in:
manifests/gridftp.pp

Overview

Parameters:

  • detach (Integer[0,1]) (defaults to: 1)
  • disable_usage_stats (Integer[0,1]) (defaults to: 1)
  • log_single (Stdlib::Unixpath) (defaults to: '/var/log/dpm-gsiftp/gridftp.log')
  • log_transfer (Stdlib::Unixpath) (defaults to: '/var/log/dpm-gsiftp/dpm-gsiftp.log')
  • log_level (String) (defaults to: 'ERROR,WARN,INFO')
  • port (Stdlib::Port) (defaults to: 2811)
  • dpmhost (Stdlib::Host) (defaults to: $::fqdn)
  • nshost (Stdlib::Host) (defaults to: $::fqdn)
  • user (String) (defaults to: $dmlite::params::user)
  • group (String) (defaults to: $dmlite::params::group)
  • enable_hdfs (Boolean) (defaults to: false)
  • data_node (Integer[0,1]) (defaults to: 0)
  • remote_nodes (Optional[String]) (defaults to: undef)
  • enable_dome_checksum (Boolean) (defaults to: false)
  • legacy (Boolean) (defaults to: true)
  • dsi_package_name (String) (defaults to: 'dmlite-dpm-dsi')


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
92
93
94
95
# File 'manifests/gridftp.pp', line 1

class dmlite::gridftp (
  Integer[0,1] $detach = 1,
  Integer[0,1] $disable_usage_stats = 1,
  Stdlib::Unixpath $log_single = '/var/log/dpm-gsiftp/gridftp.log',
  Stdlib::Unixpath $log_transfer = '/var/log/dpm-gsiftp/dpm-gsiftp.log',
  String $log_level = 'ERROR,WARN,INFO',
  Stdlib::Port $port = 2811,
  Stdlib::Host $dpmhost = $::fqdn,
  Stdlib::Host $nshost = $::fqdn,
  String $user = $dmlite::params::user,
  String $group = $dmlite::params::group,
  Boolean $enable_hdfs = false,
  Integer[0,1] $data_node = 0,
  Optional[String] $remote_nodes = undef,
  Boolean $enable_dome_checksum = false,
  Boolean $legacy = true,
  String $dsi_package_name = 'dmlite-dpm-dsi'
) {
  File['/var/log/dpm-gsiftp'] -> Class[gridftp::config]
  Package[$dsi_package_name] -> Class[gridftp::config]
  Package[$dsi_package_name] -> File['/etc/sysconfig/dpm-gsiftp']
  Class['gridftp::config'] -> Exec['remove_globus-gridftp-server_init_management']
  Class[dmlite::gridftp] ~> Class['gridftp::service']

  if !$legacy {
    Class[dmlite::base::config] -> Class[dmlite::gridftp]
  }
  else {
    Class[lcgdm::base::config] -> Class[dmlite::gridftp]
  }
  if $enable_hdfs {
    include dmlite::plugins::hdfs::params
    $java_home = $dmlite::plugins::hdfs::params::java_home
  }
  
  #if gridftp redirection is enabled ( so remote_nodes is set to 1) configure epsv_ip
  case $remote_nodes {
    undef: {
      $epsv_ip = false
    }
    default: {
      $epsv_ip = true
    }
  }
  package{$dsi_package_name: ensure => present}

  file {
    '/etc/sysconfig/dpm-gsiftp':
      ensure  => present,
      owner   => $user,
      group   => $group,
      content => template('dmlite/gridftp/sysconfig.erb')
  }

  # gridftp configuration
  file {
    '/var/log/dpm-gsiftp':
      ensure => directory,
      owner  => $user,
      group  => $group,
  }
  class{'gridftp::install':}
  class{'gridftp::config':
    user                => $user,
    group               => $group,
    auth_level          => 0,
    detach              => $detach,
    disable_usage_stats => $disable_usage_stats,
    load_dsi_module     => 'dmlite',
    log_single          => $log_single,
    log_transfer        => $log_transfer,
    log_level           => $log_level,
    login_msg           => 'Disk Pool Manager (dmlite)',
    port                => $port,
    service             => 'dpm-gsiftp',
    sysconfigfile       => '/etc/sysconfig/globus',
    thread_model        => 'pthread',
    data_node           => $data_node,
    remote_nodes        => $remote_nodes,
    epsv_ip             => $epsv_ip,
  }
  exec{'remove_globus-gridftp-server_init_management':
    command => '/sbin/chkconfig globus-gridftp-server off',
    onlyif  => '/sbin/chkconfig globus-gridftp-server'
  }

  include dmlite::gaiconfig

  class{'gridftp::service':
    service                 => 'dpm-gsiftp',
    certificate             => "/etc/grid-security/${dmlite::gridftp::user}/dpmcert.pem",
    key                     => "/etc/grid-security/${dmlite::gridftp::user}/dpmkey.pem",
    restart_on_cert_renewal => true
  }
}