Puppet Class: varnish::params

Defined in:
manifests/params.pp

Overview

Class varnish::params

This class is meant to be called from varnish It sets variables according to platform



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

class varnish::params {

  case $::osfamily {
    'RedHat': {

      $sysconfig  = '/etc/sysconfig/varnish'

      case $::operatingsystemmajrelease {

        '6': {
          $os_service_provider = 'sysvinit'
          $vcl_reload          = $::varnish::version_major ? {
            '6' => '/usr/sbin/varnishreload',
            '5' => '/usr/sbin/varnish_reload_vcl',
            '4' => '/usr/sbin/varnish_reload_vcl',
            '3' => '/usr/bin/varnish_reload_vcl',
          }
        }

        '7': {
          $os_service_provider = 'systemd'
          $vcl_reload          = $::varnish::version_major ? {
            '6' => '/usr/sbin/varnishreload',
            '5' => '/sbin/varnish_reload_vcl',
            '4' => '/usr/sbin/varnish_reload_vcl',
            '3' => '/usr/bin/varnish_reload_vcl',
          }
        }

        default: {
          $os_service_provider = 'systemd'
          $vcl_reload          = '/usr/sbin/varnish_reload_vcl'
        }
      }
    }

    'Debian': {
      $vcl_reload = $::varnish::version_major ? {
        '6' => '/usr/sbin/varnishreload',
        '5' => '/usr/share/varnish/reload-vcl -q',
        '4' => '/usr/share/varnish/reload-vcl -q',
        '3' => '/usr/share/varnish/reload-vcl -q',
      }
      $sysconfig  = '/etc/default/varnish'

      case $::operatingsystem {
        'Ubuntu': {
          $systemd_version = '16.04'
        }
        'Debian': {
          $systemd_version = '8'
        }
        default: {
          fail("Unsupported Debian OS: ${::operatingsystem}")
        }
      }

      if versioncmp($::lsbdistrelease,$systemd_version) >= 0 {
        $os_service_provider = 'systemd'
      } else {
        $os_service_provider = 'sysvinit'
      }
    }

    default: {
      fail("${::osfamily} not supported")
    }
  }

  # == Service provider depends on Varnish version and OS

  if $::varnish::version_major == '3' {
    if $::operatingsystem == 'Debian' {
      if versioncmp($::lsbdistrelease,'8.0') >= 0 {
        $service_provider = 'systemd'
      } else {
        $service_provider = 'sysvinit'
      }
    } else {
      $service_provider = 'sysvinit'
    }
  } else {
    $service_provider = $os_service_provider
  }

}