From d6859330338d382c7aecd59e026c8d9feb93ee7b Mon Sep 17 00:00:00 2001 From: Colleen Murphy Date: Sun, 11 Jun 2017 22:12:30 +0200 Subject: [PATCH] Add support for xenial Add a systemd unit file for the paste service instead of relying on upstart. Change-Id: I9f43ca88fba5fd41c9a8aaf2e14ffa3f6b307619 Depends-On: If25da754ec107b8dba2d9343f16b54b99cc88e01 --- manifests/site.pp | 28 +++++++++++++++++++--------- templates/systemd.erb | 9 +++++++++ 2 files changed, 28 insertions(+), 9 deletions(-) create mode 100644 templates/systemd.erb diff --git a/manifests/site.pp b/manifests/site.pp index b34d975..13aef52 100644 --- a/manifests/site.pp +++ b/manifests/site.pp @@ -22,12 +22,22 @@ define lodgeit::site( docroot => "/srv/www/${name}/" } - file { "/etc/init/${name}-paste.conf": - ensure => present, - content => template('lodgeit/upstart.erb'), - replace => true, - require => Class['httpd'], - notify => Service["${name}-paste"], + if versioncmp($::operatingsystemmajrelease, '16.04') >= 0 { + file { "/etc/systemd/system/${name}-paste.service": + ensure => present, + content => template('lodgeit/systemd.erb'), + replace => true, + require => Class['httpd'], + notify => Service["${name}-paste"], + } + } else { + file { "/etc/init/${name}-paste.conf": + ensure => present, + content => template('lodgeit/upstart.erb'), + replace => true, + require => Class['httpd'], + notify => Service["${name}-paste"], + } } file { "/srv/lodgeit/${name}": @@ -83,8 +93,8 @@ define lodgeit::site( } service { "${name}-paste": - ensure => running, - provider => upstart, - require => Class['httpd'], + ensure => running, + enable => true, + require => Class['httpd'], } } diff --git a/templates/systemd.erb b/templates/systemd.erb new file mode 100644 index 0000000..e0af90d --- /dev/null +++ b/templates/systemd.erb @@ -0,0 +1,9 @@ +[Unit] +Description="<%= @name %> Lodgeit server" +# Author "Andrew Hutchings " + +[Service] +ExecStart=/usr/bin/python /srv/lodgeit/<%= @name %>/manage.py runserver -h 127.0.0.1 -p <%= @port %> + +[Install] +WantedBy=multi-user.target