diff --git a/site-modules/profile/manifests/swh/deploy/worker/base.pp b/site-modules/profile/manifests/swh/deploy/worker/base.pp --- a/site-modules/profile/manifests/swh/deploy/worker/base.pp +++ b/site-modules/profile/manifests/swh/deploy/worker/base.pp @@ -11,6 +11,14 @@ ensure => installed, } + # Parametrize the celery worker to actually send task events if required + if $send_task_events { + $extra_command_flag = "--events" + } else { + $extra_command_flag = "" + } + # template uses + # $extra_command_flag ::systemd::unit_file {$systemd_template_unit_name: ensure => 'present', content => template("profile/swh/deploy/worker/${systemd_template_unit_name}.erb"), diff --git a/site-modules/profile/manifests/swh/deploy/worker/indexer_content_mimetype.pp b/site-modules/profile/manifests/swh/deploy/worker/indexer_content_mimetype.pp --- a/site-modules/profile/manifests/swh/deploy/worker/indexer_content_mimetype.pp +++ b/site-modules/profile/manifests/swh/deploy/worker/indexer_content_mimetype.pp @@ -4,9 +4,10 @@ include ::profile::swh::deploy::indexer Package[$::profile::swh::deploy::base_indexer::packages] ~> ::profile::swh::deploy::worker::instance {'indexer_content_mimetype': - ensure => present, - sentry_name => 'indexer', - require => [ + ensure => present, + sentry_name => 'indexer', + send_task_events => true, + require => [ Class['profile::swh::deploy::indexer'] ], } diff --git a/site-modules/profile/manifests/swh/deploy/worker/indexer_fossology_license.pp b/site-modules/profile/manifests/swh/deploy/worker/indexer_fossology_license.pp --- a/site-modules/profile/manifests/swh/deploy/worker/indexer_fossology_license.pp +++ b/site-modules/profile/manifests/swh/deploy/worker/indexer_fossology_license.pp @@ -10,9 +10,10 @@ } Package[$::profile::swh::deploy::base_indexer::packages] ~> ::profile::swh::deploy::worker::instance {'indexer_fossology_license': - ensure => present, - sentry_name => 'indexer', - require => [ + ensure => present, + sentry_name => 'indexer', + send_task_events => true, + require => [ Class['profile::swh::deploy::indexer'], Package[$packages], ], diff --git a/site-modules/profile/manifests/swh/deploy/worker/indexer_origin_intrinsic_metadata.pp b/site-modules/profile/manifests/swh/deploy/worker/indexer_origin_intrinsic_metadata.pp --- a/site-modules/profile/manifests/swh/deploy/worker/indexer_origin_intrinsic_metadata.pp +++ b/site-modules/profile/manifests/swh/deploy/worker/indexer_origin_intrinsic_metadata.pp @@ -4,9 +4,10 @@ include ::profile::swh::deploy::indexer Package[$::profile::swh::deploy::base_indexer::packages] ~> ::profile::swh::deploy::worker::instance {'indexer_origin_intrinsic_metadata': - ensure => present, - sentry_name => 'indexer', - require => [ + ensure => present, + sentry_name => 'indexer', + send_task_events => true, + require => [ Class['profile::swh::deploy::indexer'], ], } diff --git a/site-modules/profile/manifests/swh/deploy/worker/instance.pp b/site-modules/profile/manifests/swh/deploy/worker/instance.pp --- a/site-modules/profile/manifests/swh/deploy/worker/instance.pp +++ b/site-modules/profile/manifests/swh/deploy/worker/instance.pp @@ -1,13 +1,15 @@ # Instance of a worker define profile::swh::deploy::worker::instance ( - $ensure = present, - $instance_name = $title, - $sentry_name = $title, - $limit_no_file = undef, - $private_tmp = undef, - $merge_policy = 'deep', + $ensure = present, + $instance_name = $title, + $sentry_name = $title, + $limit_no_file = undef, + $private_tmp = undef, + $merge_policy = 'deep', + $send_task_events = false, ) { + # Use $send_task_events include ::profile::swh::deploy::worker::base $service_basename = "swh-worker@${instance_name}" diff --git a/site-modules/profile/manifests/swh/deploy/worker/lister.pp b/site-modules/profile/manifests/swh/deploy/worker/lister.pp --- a/site-modules/profile/manifests/swh/deploy/worker/lister.pp +++ b/site-modules/profile/manifests/swh/deploy/worker/lister.pp @@ -7,11 +7,12 @@ } ::profile::swh::deploy::worker::instance {'lister': - ensure => present, - require => [ + ensure => present, + task_send_events => true, + require => [ Package['python3-swh.lister'], ], - merge_policy => 'first', # do not merge configuration, take the first - # encountered configuration + merge_policy => 'first', # do not merge configuration, take the first + # encountered configuration } } diff --git a/site-modules/profile/manifests/swh/deploy/worker/loader_high_priority.pp b/site-modules/profile/manifests/swh/deploy/worker/loader_high_priority.pp --- a/site-modules/profile/manifests/swh/deploy/worker/loader_high_priority.pp +++ b/site-modules/profile/manifests/swh/deploy/worker/loader_high_priority.pp @@ -7,8 +7,9 @@ $packages = $::profile::swh::deploy::base_loader_git::packages + $::profile::swh::deploy::base_loader_mercurial::packages + $::profile::swh::deploy::base_loader_svn::packages ::profile::swh::deploy::worker::instance {'loader_high_priority': - ensure => present, - require => Package[$packages], + ensure => present, + task_send_events => true, + require => Package[$packages], } } diff --git a/site-modules/profile/manifests/swh/deploy/worker/loader_oneshot.pp b/site-modules/profile/manifests/swh/deploy/worker/loader_oneshot.pp --- a/site-modules/profile/manifests/swh/deploy/worker/loader_oneshot.pp +++ b/site-modules/profile/manifests/swh/deploy/worker/loader_oneshot.pp @@ -7,8 +7,8 @@ $packages = $::profile::swh::deploy::base_loader_git::packages + $::profile::swh::deploy::base_loader_mercurial::packages + $::profile::swh::deploy::base_loader_svn::packages ::profile::swh::deploy::worker::instance {'loader_oneshot': - ensure => present, - require => Package[$packages], + ensure => present, + require => Package[$packages], } } diff --git a/site-modules/profile/manifests/swh/deploy/worker/vault_cooker.pp b/site-modules/profile/manifests/swh/deploy/worker/vault_cooker.pp --- a/site-modules/profile/manifests/swh/deploy/worker/vault_cooker.pp +++ b/site-modules/profile/manifests/swh/deploy/worker/vault_cooker.pp @@ -15,9 +15,10 @@ } ::profile::swh::deploy::worker::instance {$instance_name: - ensure => present, - sentry_name => 'vault', - require => [ + ensure => present, + sentry_name => 'vault', + task_send_events => true, + require => [ Package[$extra_packages], Package[$::profile::swh::deploy::base_vault::packages], ], diff --git a/site-modules/profile/templates/swh/deploy/worker/swh-worker@.service.erb b/site-modules/profile/templates/swh/deploy/worker/swh-worker@.service.erb --- a/site-modules/profile/templates/swh/deploy/worker/swh-worker@.service.erb +++ b/site-modules/profile/templates/swh/deploy/worker/swh-worker@.service.erb @@ -13,7 +13,7 @@ Environment=MAX_TASKS_PER_CHILD=5 Environment=LOGLEVEL=info Environment=CELERY_HOSTNAME=<%= @celery_hostname %> -ExecStart=/usr/bin/python3 -m celery worker -n %i@${CELERY_HOSTNAME} --app=swh.scheduler.celery_backend.config.app --pool=prefork --events --concurrency=${CONCURRENCY} --maxtasksperchild=${MAX_TASKS_PER_CHILD} -Ofair --loglevel=${LOGLEVEL} --without-gossip --without-mingle --without-heartbeat +ExecStart=/usr/bin/python3 -m celery worker -n %i@${CELERY_HOSTNAME} --app=swh.scheduler.celery_backend.config.app --pool=prefork <%= @extra_command_flag %> --concurrency=${CONCURRENCY} --maxtasksperchild=${MAX_TASKS_PER_CHILD} -Ofair --loglevel=${LOGLEVEL} --without-gossip --without-mingle --without-heartbeat KillMode=process KillSignal=SIGTERM