Puppet Class: dynatrace::role::server_update
- Inherits:
- dynatrace
- Defined in:
- manifests/role/server_update.pp
Overview
server_update
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 96 97 98 99 100 101 102 103 104 105 106 107 |
# File 'manifests/role/server_update.pp', line 2
class dynatrace::role::server_update (
$ensure = 'present',
$role_name = 'Dynatrace Server update',
$collector_port = $dynatrace::server_collector_port,
$update_file_url = $dynatrace::update_file_url,
$update_rest_url = $dynatrace::update_rest_url,
$update_user = $dynatrace::update_user,
$update_passwd = $dynatrace::update_passwd,
$dynatrace_owner = $dynatrace::dynatrace_owner,
$dynatrace_group = $dynatrace::dynatrace_group
) inherits dynatrace {
case $::kernel {
'Linux': {
$installer_script_name = 'install-server.sh'
$service = $dynatrace::dynaTraceServer
$collectorService = $dynatrace::dynaTraceCollector
$dynaTraceAnalysis = $dynatrace::dynaTraceAnalysis
$dynaTraceWebServerAgent = $dynatrace::dynaTraceWebServerAgent
$dynaTraceHostagent = $dynatrace::dynaTraceHostagent
$installer_cache_dir = "${dynatrace::installer_cache_dir}/dynatrace"
$installer_cache_dir_tree = dirtree($installer_cache_dir)
$update_file_path = $installer_cache_dir
$services_to_stop_array = $dynatrace::services_to_manage_array
$services_to_start_array = [
$dynatrace::dynaTraceServer,
$dynatrace::dynaTraceCollector,
$dynatrace::dynaTraceAnalysis,
$dynatrace::dynaTraceWebServerAgent,
$dynatrace::dynaTraceHostagent,
# 'dynaTraceBackendServer',
# 'dynaTraceFrontendServer'
]
}
default: {}
}
$directory_ensure = $ensure ? {
'present' => 'directory',
'absent' => 'absent',
default => 'directory',
}
include dynatrace::role::dynatrace_user
ensure_resource(file, $installer_cache_dir_tree, {
ensure => $directory_ensure,
require => Class['dynatrace::role::dynatrace_user']
})
file { "${installer_cache_dir}/server_update":
ensure => 'directory',
mode => '1777',
owner => $dynatrace_owner,
group => $dynatrace_group,
}
# introducing order (archive then update and stop then start services)
archive { 'dynaTrace-update':
ensure => present,
url => $update_file_url,
target => "${installer_cache_dir}/server_update",
follow_redirects => true,
extension => 'zip',
checksum => false,
src_target => '/tmp',
}
-> make_server_update { $update_file_path:
ensure => present,
update_file_path => $update_file_path,
rest_update_url => $update_rest_url,
user => $update_user,
passwd => $update_passwd,
notify => Wait_until_port_is_open[ $collector_port ]
}
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,
}
if $collector_port != '6699' {
wait_until_port_is_open { '6699':
ensure => $ensure,
}
}
}
|