Ori.livneh has submitted this change and it was merged. Change subject: redis: Make redis::instance use base::service_unit ......................................................................
redis: Make redis::instance use base::service_unit - So we get a different systemd service for each redis instance rather than a 'instance' of the same systemd service - Makes it easier to add upstart support in a followup commit Bug: T118704 Change-Id: I15c1aeeb41f2bb6b2af5d8916380febc5908c450 --- D modules/redis/files/[email protected] M modules/redis/manifests/init.pp M modules/redis/manifests/instance.pp A modules/redis/templates/initscripts/redis-instance.systemd.erb 4 files changed, 18 insertions(+), 32 deletions(-) Approvals: Ori.livneh: Looks good to me, approved jenkins-bot: Verified diff --git a/modules/redis/files/[email protected] b/modules/redis/files/[email protected] deleted file mode 100644 index d30ad7e..0000000 --- a/modules/redis/files/[email protected] +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Advanced key-value store -After=network.target - -[Service] -Type=forking -ExecStart=/usr/bin/redis-server /etc/redis/%i.conf -Restart=always -User=redis -Group=redis diff --git a/modules/redis/manifests/init.pp b/modules/redis/manifests/init.pp index 45478ad..c7f2049 100644 --- a/modules/redis/manifests/init.pp +++ b/modules/redis/manifests/init.pp @@ -11,17 +11,4 @@ group => 'redis', mode => '0755', } - - # Hosts that use systemd are able to manage multiple redis - # instances. Individual instances are managed by interpolating - # the instance name in a systemd unit template file. - # See <http://0pointer.de/blog/projects/instances.html>. - if $::initsystem == 'systemd' { - file { '/lib/systemd/system/[email protected]': - source => 'puppet:///modules/redis/[email protected]', - owner => 'root', - group => 'root', - mode => '0444', - } -> Redis::Instance <| |> - } } diff --git a/modules/redis/manifests/instance.pp b/modules/redis/manifests/instance.pp index e05f845..cf62bc3 100644 --- a/modules/redis/manifests/instance.pp +++ b/modules/redis/manifests/instance.pp @@ -77,14 +77,10 @@ mode => '0444', } - file { "/etc/systemd/system/multi-user.target.wants/redis-instance@${instance_name}.service": - ensure => ensure_link($ensure), - target => '/lib/systemd/system/[email protected]', - } - - service { "redis-instance@${instance_name}": - ensure => ensure_service($ensure), - provider => 'systemd', - subscribe => File["/etc/redis/${instance_name}.conf"], + base::service_unit { "redis-instance-${instance_name}": + ensure => $ensure, + template_name => 'redis-instance', + systemd => true, + subscribe => File["/etc/redis/${instance_name}.conf"], } } diff --git a/modules/redis/templates/initscripts/redis-instance.systemd.erb b/modules/redis/templates/initscripts/redis-instance.systemd.erb new file mode 100644 index 0000000..cdacdf7 --- /dev/null +++ b/modules/redis/templates/initscripts/redis-instance.systemd.erb @@ -0,0 +1,13 @@ +[Unit] +Description=Advanced key-value store +After=network.target + +[Service] +Type=forking +ExecStart=/usr/bin/redis-server /etc/redis/<%= @instance_name %>.conf +Restart=always +User=redis +Group=redis + +[Install] +WantedBy=multi-user.target -- To view, visit https://gerrit.wikimedia.org/r/253294 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I15c1aeeb41f2bb6b2af5d8916380febc5908c450 Gerrit-PatchSet: 3 Gerrit-Project: operations/puppet Gerrit-Branch: production Gerrit-Owner: Yuvipanda <[email protected]> Gerrit-Reviewer: Ori.livneh <[email protected]> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
