Puppet Class: daq

Defined in:
manifests/init.pp

Summary

Installs and configures LSST DAQ software

Overview

Parameters:

  • base_path (Stdlib::Absolutepath) (defaults to: '/opt/lsst')

    LSST software base install directory. Default: ‘/opt/lsst’

  • conf_path (Stdlib::Absolutepath) (defaults to: '/etc/sysconfig')

    Service config (systemd EnvironmentFile) path. Default: ‘/etc/sysconfig’

  • backingdir (Stdlib::Absolutepath) (defaults to: '/var/lib/vrce')

    Service backing / cache directory. Default: ‘/var/lib/vrce’

  • interface (String) (defaults to: 'lsst-daq')

    Network interface services should listen on. Default: ‘lsst-daq`



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

class daq (
  Stdlib::Absolutepath $base_path  = '/opt/lsst',
  Stdlib::Absolutepath $conf_path  = '/etc/sysconfig',
  Stdlib::Absolutepath $backingdir = '/var/lib/vrce',
  String $interface                = 'lsst-daq',
) {
  $env_file = "${conf_path}/daq"

  ensure_resources('file', {
      $base_path => {
        ensure => directory,
        owner  => 'root',
        group  => 'root',
        mode   => '0755',
        backup => false,
      },
  })

  # XXX The current dsid/rce service binaries are linked against
  # libreadline.so.6, which does not exist in EL8+. error while loading shared
  # libraries: libreadline.so.6: cannot open shared object file: No such file or
  # directory
  if fact('os.family') == 'RedHat' and versioncmp(fact('os.release.major'), '8') >= 0 {
    $readline = fact('os.release.major') ? {
      '8'     => 'libreadline.so.7.0',
      '9'     => 'libreadline.so.8.1',
      default => 'libreadline.so.8.1',
    }

    file { '/usr/lib64/libreadline.so.6':
      ensure => link,
      owner  => 'root',
      group  => 'root',
      target => $readline,
    }
  }
}