Puppet Class: dynatrace::role::start_all_processes

Inherits:
dynatrace
Defined in:
manifests/role/start_all_processes.pp

Overview

start_all_processes

Parameters:

  • ensure (Any) (defaults to: 'present')
  • role_name (Any) (defaults to: 'Dynatrace Server start all services')
  • installer_bitsize (Any) (defaults to: $dynatrace::server_installer_bitsize)
  • installer_prefix_dir (Any) (defaults to: $dynatrace::server_installer_prefix_dir)
  • installer_file_name (Any) (defaults to: $dynatrace::server_installer_file_name)
  • installer_file_url (Any) (defaults to: $dynatrace::server_installer_file_url)
  • license_file_name (Any) (defaults to: $dynatrace::server_license_file_name)
  • license_file_url (Any) (defaults to: $dynatrace::server_license_file_url)
  • collector_port (Any) (defaults to: $dynatrace::server_collector_port)
  • pwh_connection_hostname (Any) (defaults to: $dynatrace::server_pwh_connection_hostname)
  • pwh_connection_port (Any) (defaults to: $dynatrace::server_pwh_connection_port)
  • pwh_connection_dbms (Any) (defaults to: $dynatrace::server_pwh_connection_dbms)
  • pwh_connection_database (Any) (defaults to: $dynatrace::server_pwh_connection_database)
  • pwh_connection_username (Any) (defaults to: $dynatrace::server_pwh_connection_username)
  • pwh_connection_password (Any) (defaults to: $dynatrace::server_pwh_connection_password)
  • dynatrace_owner (Any) (defaults to: $dynatrace::dynatrace_owner)
  • dynatrace_group (Any) (defaults to: $dynatrace::dynatrace_group)


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
# File 'manifests/role/start_all_processes.pp', line 2

class dynatrace::role::start_all_processes (
  $ensure                  = 'present',
  $role_name               = 'Dynatrace Server start all services',
  $installer_bitsize       = $dynatrace::server_installer_bitsize,
  $installer_prefix_dir    = $dynatrace::server_installer_prefix_dir,
  $installer_file_name     = $dynatrace::server_installer_file_name,
  $installer_file_url      = $dynatrace::server_installer_file_url,
  $license_file_name       = $dynatrace::server_license_file_name,
  $license_file_url        = $dynatrace::server_license_file_url,
  $collector_port          = $dynatrace::server_collector_port,
  $pwh_connection_hostname = $dynatrace::server_pwh_connection_hostname,
  $pwh_connection_port     = $dynatrace::server_pwh_connection_port,
  $pwh_connection_dbms     = $dynatrace::server_pwh_connection_dbms,
  $pwh_connection_database = $dynatrace::server_pwh_connection_database,
  $pwh_connection_username = $dynatrace::server_pwh_connection_username,
  $pwh_connection_password = $dynatrace::server_pwh_connection_password,
  $dynatrace_owner         = $dynatrace::dynatrace_owner,
  $dynatrace_group         = $dynatrace::dynatrace_group
) inherits dynatrace {

  case $::kernel {
    'Linux': {
      $services_to_start_array = [
        $dynatrace::dynaTraceServer,
        $dynatrace::dynaTraceCollector,
        $dynatrace::dynaTraceAnalysis,
        $dynatrace::dynaTraceWebServerAgent,
        $dynatrace::dynaTraceHostagent,
#        'dynaTraceBackendServer',
#        'dynaTraceFrontendServer'
        ]
    }
    default: {}
  }

  $services_to_start_array.each |$x| {
#    if ("test -L /etc/init.d/${x}") {
#      notify {"Service ${x} exists and will be stopped.": }
#    }
#
#    #TODO cannot use service resource because of duplicated name in stop_all_processes
#    service { "${role_name}: Service ${x} exists and will be started.":
#      title  => "start_all_processes ${x}",
#      ensure => 'running',
#      name   => $x,
#      enable => true
#    }

#    puts "Start the service: '${x}'"

    exec {"Start the service: '${x}'":    #hack to ensure restart service (stop service then start it) [there is no possibility in puppet to use the same name of service in different stauses because of error 'Cannot alias Service']
      command => "service ${x} start",
      path    => ['/usr/bin', '/usr/sbin', '/bin', '/sbin'],
      onlyif  => ["test -L /etc/init.d/${x}"],
    }
  }

  if $collector_port != '6699' {
    wait_until_port_is_open { '6699':
      ensure  => $ensure,
    }
  }

  wait_until_port_is_open { $collector_port:
    ensure  => $ensure,
  }

  -> wait_until_port_is_open { '2021':
    ensure  => $ensure,
  }

  -> wait_until_port_is_open { '8021':
    ensure  => $ensure,
  }

  -> wait_until_port_is_open { '9911':
    ensure  => $ensure,
  }

}