Puppet Class: dynatrace::role::start_all_processes
- Inherits:
- dynatrace
- Defined in:
- manifests/role/start_all_processes.pp
Overview
start_all_processes
| 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,
  }
} |