Page MenuHomeSoftware Heritage

D8190.id29557.diff
No OneTemporary

D8190.id29557.diff

diff --git a/data/hostname/indexer-worker01.euwest.azure.internal.softwareheritage.org.yaml b/data/hostname/indexer-worker01.euwest.azure.internal.softwareheritage.org.yaml
--- a/data/hostname/indexer-worker01.euwest.azure.internal.softwareheritage.org.yaml
+++ b/data/hostname/indexer-worker01.euwest.azure.internal.softwareheritage.org.yaml
@@ -4,6 +4,9 @@
- indexer_content_mimetype
- indexer_fossology_license
+swh::deploy::indexer_journal_client::content_mimetype::nb_instances: 2
+swh::deploy::indexer_journal_client::content_fossology_license::nb_instances: 2
+
mountpoints:
/tmp:
device: tmpfs
diff --git a/data/hostname/indexer-worker02.euwest.azure.internal.softwareheritage.org.yaml b/data/hostname/indexer-worker02.euwest.azure.internal.softwareheritage.org.yaml
--- a/data/hostname/indexer-worker02.euwest.azure.internal.softwareheritage.org.yaml
+++ b/data/hostname/indexer-worker02.euwest.azure.internal.softwareheritage.org.yaml
@@ -4,6 +4,9 @@
- indexer_content_mimetype
- indexer_fossology_license
+swh::deploy::indexer_journal_client::content_mimetype::nb_instances: 2
+swh::deploy::indexer_journal_client::content_fossology_license::nb_instances: 2
+
mountpoints:
/tmp:
device: tmpfs
diff --git a/data/hostname/indexer-worker03.euwest.azure.internal.softwareheritage.org.yaml b/data/hostname/indexer-worker03.euwest.azure.internal.softwareheritage.org.yaml
--- a/data/hostname/indexer-worker03.euwest.azure.internal.softwareheritage.org.yaml
+++ b/data/hostname/indexer-worker03.euwest.azure.internal.softwareheritage.org.yaml
@@ -4,6 +4,9 @@
- indexer_content_mimetype
- indexer_fossology_license
+swh::deploy::indexer_journal_client::content_mimetype::nb_instances: 2
+swh::deploy::indexer_journal_client::content_fossology_license::nb_instances: 2
+
mountpoints:
/tmp:
device: tmpfs
diff --git a/site-modules/profile/manifests/swh/deploy/indexer_journal_client.pp b/site-modules/profile/manifests/swh/deploy/indexer_journal_client.pp
--- a/site-modules/profile/manifests/swh/deploy/indexer_journal_client.pp
+++ b/site-modules/profile/manifests/swh/deploy/indexer_journal_client.pp
@@ -1,8 +1,8 @@
# Deployment of the swh.indexer.journal_client
define profile::swh::deploy::indexer_journal_client (
- $ensure = present,
+ $ensure = present,
$instance_name = $title,
- $sentry_name = $title,
+ $sentry_name = $title,
)
{
include ::profile::swh::deploy::base_indexer
@@ -13,8 +13,6 @@
$config_path = "${config_directory}/${config_file}"
$service_basename = $::profile::swh::deploy::base_indexer::service_basename
- $service_name = "${service_basename}@${instance_name}.service"
- $parameters_conf_path = "${service_name}/parameters.conf"
case $ensure {
'present', 'running': {
@@ -30,47 +28,82 @@
owner => "root",
group => $::profile::swh::deploy::base_indexer::group,
mode => "0640",
- content => inline_template("<%= @config.to_yaml %>\n"),
+ content => inline_yaml($config),
notify => Service[$service_name],
require => File[$config_directory],
}
- # Template uses variables
- # - $config_path
- # - $sentry_dsn
- # - $sentry_environment
- # - $sentry_swh_package
- # - $loglevel
- ::systemd::dropin_file {$parameters_conf_path:
- ensure => present,
- unit => $service_name,
- filename => 'parameters.conf',
- content => template('profile/swh/deploy/journal/parameters.conf.erb'),
+ $nb_instances = lookup("swh::deploy::indexer_journal_client::${instance_name}::nb_instances", {
+ default_value => 1,
+ value_type => Integer
+ })
+
+
+ Integer[1, $nb_instances].each | $instance_id | {
+ $service_name = "${service_basename}@${instance_name}_${instance_id}.service"
+ $parameters_conf_path = "${service_name}/parameters.conf"
+
+ # Template uses variables
+ # - $config_path
+ # - $sentry_dsn
+ # - $sentry_environment
+ # - $sentry_swh_package
+ # - $loglevel
+ ::systemd::dropin_file {$parameters_conf_path:
+ ensure => present,
+ unit => $service_name,
+ filename => 'parameters.conf',
+ content => template('profile/swh/deploy/journal/parameters.conf.erb'),
+ }
+
+ service {$service_name:
+ ensure => running,
+ enable => true,
+ require => [
+ File[$config_path],
+ ],
+ }
}
+ # clean up old service names
+
+ $service_name = "${service_basename}@${instance_name}.service"
+ $parameters_conf_path = "${service_name}/parameters.conf"
service {$service_name:
- ensure => running,
- enable => true,
- require => [
- File[$config_path],
- ],
+ ensure => stopped,
}
- }
-
- # Otherwise, clean up everything
- default: {
::systemd::dropin_file {$parameters_conf_path:
ensure => absent,
unit => $service_name,
filename => 'parameters.conf',
}
- service {$service_basename:
- ensure => stopped,
- }
+ }
- file {$config_path:
- ensure => absent,
+ # Otherwise, clean up everything
+ default: {
+ $nb_instances = lookup("swh::deploy::indexer_journal_client::${instance_name}::nb_instances", {
+ default_value => 1,
+ value_type => Integer
+ })
+
+ Integer[1, $nb_instances].each | $instance_id | {
+ $service_name = "${service_basename}@${instance_name}_${instance_id}.service"
+ $parameters_conf_path = "${service_name}/parameters.conf"
+
+ ::systemd::dropin_file {$parameters_conf_path:
+ ensure => absent,
+ unit => $service_name,
+ filename => 'parameters.conf',
+ }
+
+ service {$service_basename:
+ ensure => stopped,
+ }
+
+ file {$config_path:
+ ensure => absent,
+ }
}
}
}

File Metadata

Mime Type
text/plain
Expires
Thu, Jul 3, 3:19 PM (6 d, 19 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3233656

Event Timeline