Changeset View
Changeset View
Standalone View
Standalone View
site-modules/profile/manifests/swh/deploy/worker/instance.pp
# Instance of a worker | # Instance of a worker | ||||
define profile::swh::deploy::worker::instance ( | define profile::swh::deploy::worker::instance ( | ||||
$ensure = present, | $ensure = present, | ||||
$instance_name = $title, | $instance_name = $title, | ||||
$sentry_name = $title, | $sentry_name = $title, | ||||
$limit_no_file = undef, | $limit_no_file = undef, | ||||
$private_tmp = undef, | $private_tmp = undef, | ||||
$merge_policy = 'deep', | $merge_policy = 'deep', | ||||
$send_task_events = false, | |||||
) | ) | ||||
{ | { | ||||
include ::profile::swh::deploy::worker::base | include ::profile::swh::deploy::worker::base | ||||
ardumont: That currently does not work since the $send_task_events is not propagated in that base profile… | |||||
Done Inline Actionsfor older version of the diff (no longer relevant now) ardumont: for older version of the diff (no longer relevant now) | |||||
$service_basename = "swh-worker@${instance_name}" | if $send_task_events { | ||||
$prefix_unit_name = "swh-worker-events" # traditional workers sends events | |||||
} else { | |||||
$prefix_unit_name = "swh-worker" # recurring workers no longer send events | |||||
} | |||||
$service_basename = "${prefix_unit_name}@${instance_name}" | |||||
$unit_file_target = "/etc/systemd/system/${prefix_unit_name}@.service" | |||||
$service_name = "${service_basename}.service" | $service_name = "${service_basename}.service" | ||||
$concurrency = lookup("swh::deploy::worker::${instance_name}::concurrency") | $concurrency = lookup("swh::deploy::worker::${instance_name}::concurrency") | ||||
$max_tasks_per_child = lookup("swh::deploy::worker::${instance_name}::max_tasks_per_child", Integer, first, 5) | $max_tasks_per_child = lookup("swh::deploy::worker::${instance_name}::max_tasks_per_child", Integer, first, 5) | ||||
$loglevel = lookup("swh::deploy::worker::${instance_name}::loglevel") | $loglevel = lookup("swh::deploy::worker::${instance_name}::loglevel") | ||||
$config_file = lookup("swh::deploy::worker::${instance_name}::config_file") | $config_file = lookup("swh::deploy::worker::${instance_name}::config_file") | ||||
$config = lookup("swh::deploy::worker::${instance_name}::config", Hash, $merge_policy) | $config = lookup("swh::deploy::worker::${instance_name}::config", Hash, $merge_policy) | ||||
$sentry_dsn = lookup("swh::deploy::${sentry_name}::sentry_dsn", Optional[String], 'first', undef) | $sentry_dsn = lookup("swh::deploy::${sentry_name}::sentry_dsn", Optional[String], 'first', undef) | ||||
Show All 26 Lines | 'present', 'running': { | ||||
} | } | ||||
if $ensure == 'running' { | if $ensure == 'running' { | ||||
$service_ensure = 'running' | $service_ensure = 'running' | ||||
} else { | } else { | ||||
$service_ensure = undef | $service_ensure = undef | ||||
} | } | ||||
::systemd::unit_file {$service_name: | |||||
ensure => $service_ensure, | |||||
enable => true, | |||||
target => $unit_file_target, | |||||
} | |||||
service {$service_basename: | service {$service_basename: | ||||
ensure => $service_ensure, | ensure => $service_ensure, | ||||
enable => true, | enable => true, | ||||
require => [ | require => [ | ||||
File[$config_file], | File[$config_file], | ||||
] | Systemd::Unit_file[$service_name], | ||||
], | |||||
} | } | ||||
profile::cron::d {"swh-worker-${instance_name}-autorestart": | profile::cron::d {"swh-worker-${instance_name}-autorestart": | ||||
command => "chronic /usr/local/sbin/swh-worker-ping-restart ${instance_name}@${celery_hostname} ${instance_name}", | command => "chronic /usr/local/sbin/swh-worker-ping-restart ${instance_name}@${celery_hostname} ${instance_name}", | ||||
target => 'swh-worker', | target => 'swh-worker', | ||||
minute => 'fqdn_rand/15', | minute => 'fqdn_rand/15', | ||||
require => File['/usr/local/sbin/swh-worker-ping-restart'], | require => File['/usr/local/sbin/swh-worker-ping-restart'], | ||||
} | } | ||||
Show All 15 Lines |
That currently does not work since the $send_task_events is not propagated in that base profile ^.