diff --git a/manifests/swh/deploy/worker/instance.pp b/manifests/swh/deploy/worker/instance.pp index 1cef01a5..bf163622 100644 --- a/manifests/swh/deploy/worker/instance.pp +++ b/manifests/swh/deploy/worker/instance.pp @@ -1,70 +1,71 @@ # Instance of a worker define profile::swh::deploy::worker::instance ( $ensure = present, $task_broker = '', $task_modules = [], $task_queues = [], $task_soft_time_limit = 0, $concurrency = 10, $loglevel = 'info', $max_tasks_per_child = 5, - $instance_name = $title) + $instance_name = $title, + $limit_no_file='None') { include ::profile::swh::deploy::worker::base include ::systemd $service_basename = "swh-worker@${instance_name}" $service_name = "${service_basename}.service" $systemd_dir = "/etc/systemd/system/${service_name}.d" $systemd_snippet = "${systemd_dir}/parameters.conf" $config_directory = '/etc/softwareheritage/worker' $instance_config = "${config_directory}/${instance_name}.ini" case $ensure { 'present': { file {$systemd_dir: ensure => directory, owner => 'root', group => 'root', mode => '0755', } # Uses variables # - $concurrency # - $loglevel # - $max_tasks_per_child file {$systemd_snippet: ensure => present, owner => 'root', group => 'root', mode => '0644', content => template('profile/swh/deploy/worker/parameters.conf.erb'), notify => [ Exec['systemd-daemon-reload'], ], } # Uses variables # - $task_broker # - $task_modules # - $task_queues # - $task_soft_time_limit file {$instance_config: ensure => present, owner => 'swhworker', group => 'swhdev', # contains a password for the broker mode => '0640', content => template('profile/swh/deploy/worker/instance_config.ini.erb'), } } default: { file {[ $systemd_dir, $instance_config, ]: ensure => absent, } } } } diff --git a/templates/swh/deploy/worker/parameters.conf.erb b/templates/swh/deploy/worker/parameters.conf.erb index f1a4d550..a5c8d63b 100644 --- a/templates/swh/deploy/worker/parameters.conf.erb +++ b/templates/swh/deploy/worker/parameters.conf.erb @@ -1,7 +1,10 @@ # Managed by puppet - modifications will be overwritten # In defined class profile::swh::deploy::worker::instance [Service] Environment=CONCURRENCY=<%= @concurrency %> Environment=MAX_TASKS_PER_CHILD=<%= @max_tasks_per_child %> Environment=LOGLEVEL=<%= @loglevel %> +<% if limit_no_file != 'None' %> +LimitNOFILE=<%= @limit_no_file %> +<% end %>