From 675e99a7b5c05f13d5569b076265dfafaf672ec0 Mon Sep 17 00:00:00 2001
From: Jordi Prats <jprats@systemadmin.es>
Date: Wed, 17 Jan 2018 18:50:51 +0100
Subject: [PATCH 1/4] lint

---
 manifests/service.pp | 1 -
 1 file changed, 1 deletion(-)

diff --git a/manifests/service.pp b/manifests/service.pp
index 73d2334..0a6442a 100644
--- a/manifests/service.pp
+++ b/manifests/service.pp
@@ -97,7 +97,6 @@
     include ::systemd
   }
 
-
   file { "/etc/systemd/system/${servicename}.service":
     ensure  => 'present',
     owner   => 'root',

From 91e7abeff4403eede43d73bf06a9a80801213f95 Mon Sep 17 00:00:00 2001
From: Jordi Prats <jprats@systemadmin.es>
Date: Thu, 18 Jan 2018 12:21:35 +0100
Subject: [PATCH 2/4] drop in dir management

---
 CHANGELOG.md                |  5 +++++
 manifests/service.pp        | 13 ++++++++++++-
 manifests/service/dropin.pp | 14 +++++---------
 metadata.json               |  2 +-
 4 files changed, 23 insertions(+), 11 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index d506440..1634ab6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,10 @@
 # CHANGELOG
 
+## 0.1.37
+
+* Modified **systemd::service::dropin** to allow multiple drop in files per service as suggested in [Issue 49](https://github.com/NTTCom-MS/eyp-systemd/issues/49) by [cedef](https://github.com/cedef)
+* Drop in directory created by default in **systemd::service**
+
 ## 0.1.36
 
 * added ability to **systemd::service** to use OnFailure  - thanks to [TuningYourCode](https://github.com/TuningYourCode) for this [PR-65](https://github.com/NTTCom-MS/eyp-systemd/pull/65)
diff --git a/manifests/service.pp b/manifests/service.pp
index 0a6442a..d2bb6dd 100644
--- a/manifests/service.pp
+++ b/manifests/service.pp
@@ -1,5 +1,6 @@
 # puppet2sitepp @systemdservices
 define systemd::service (
+                          $servicename                 = $name,
                           $execstart                   = undef,
                           $execstop                    = undef,
                           $execreload                  = undef,
@@ -8,7 +9,6 @@
                           $restart                     = undef,
                           $user                        = 'root',
                           $group                       = 'root',
-                          $servicename                 = $name,
                           $forking                     = false,
                           $pid_file                    = undef,
                           $description                 = undef,
@@ -49,6 +49,7 @@
                           $killmode                    = undef,
                           $successexitstatus           = [],
                           $killsignal                  = undef,
+                          $purge_dropin_dir            = true,
                         ) {
 
   if ($env_vars != undef )
@@ -106,4 +107,14 @@
     notify  => Exec['systemctl daemon-reload'],
   }
 
+  file { "/etc/systemd/system/${servicename}.service.d/":
+    ensure  => 'directory',
+    owner   => 'root',
+    group   => 'root',
+    mode    => '0755',
+    purge   => $purge_dropin_dir,
+    recurse => $purge_dropin_dir,
+    notify  => Exec['systemctl daemon-reload'],
+  }
+
 }
diff --git a/manifests/service/dropin.pp b/manifests/service/dropin.pp
index 3096380..2c0280e 100644
--- a/manifests/service/dropin.pp
+++ b/manifests/service/dropin.pp
@@ -1,4 +1,7 @@
 define systemd::service::dropin (
+                                  $dropin_order                = '99',
+                                  $dropin_name                 = 'override',
+                                  $servicename                 = $name,
                                   $execstart                   = undef,
                                   $execstop                    = undef,
                                   $execreload                  = undef,
@@ -7,7 +10,6 @@
                                   $restart                     = undef,
                                   $user                        = undef,
                                   $group                       = undef,
-                                  $servicename                 = $name,
                                   $pid_file                    = undef,
                                   $description                 = undef,
                                   $after                       = undef,
@@ -75,19 +77,13 @@
     include ::systemd
   }
 
-  file { "/etc/systemd/system/${servicename}.service.d/":
-    ensure => 'directory',
-    owner  => 'root',
-    group  => 'root',
-    mode   => '0755',
-  }
-
-  file { "/etc/systemd/system/${servicename}.service.d/override.conf":
+  file { "/etc/systemd/system/${servicename}.service.d/${dropin_order}-${dropin_name}.conf":
     ensure  => 'present',
     owner   => 'root',
     group   => 'root',
     mode    => '0644',
     content => template("${module_name}/service.erb"),
     notify  => Exec['systemctl daemon-reload'],
+    require => Systemd::Service[$servicename],
   }
 }
diff --git a/metadata.json b/metadata.json
index b46df09..9ba4748 100644
--- a/metadata.json
+++ b/metadata.json
@@ -1,6 +1,6 @@
 {
   "name": "eyp-systemd",
-  "version": "0.1.36",
+  "version": "0.1.37",
   "author": "eyp",
   "summary": "management of systemd services (/etc/systemd/system/...), basic socket management",
   "license": "Apache-2.0",

From 335a0b5bc0c2df6cfc7f936d1225eab77def5eab Mon Sep 17 00:00:00 2001
From: Jordi Prats <jprats@systemadmin.es>
Date: Thu, 18 Jan 2018 12:21:49 +0100
Subject: [PATCH 3/4] typo

---
 CHANGELOG.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1634ab6..5d66ae1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,7 +3,7 @@
 ## 0.1.37
 
 * Modified **systemd::service::dropin** to allow multiple drop in files per service as suggested in [Issue 49](https://github.com/NTTCom-MS/eyp-systemd/issues/49) by [cedef](https://github.com/cedef)
-* Drop in directory created by default in **systemd::service**
+* Drop-in directory created by default in **systemd::service**
 
 ## 0.1.36
 

From 0ec1365756a41d9480af3e368dd4008a49cc15fb Mon Sep 17 00:00:00 2001
From: Jordi Prats <jprats@systemadmin.es>
Date: Thu, 18 Jan 2018 12:37:57 +0100
Subject: [PATCH 4/4] dropin dir to dropin.pp

---
 CHANGELOG.md                |  1 -
 manifests/service.pp        | 12 ------------
 manifests/service/dropin.pp | 15 ++++++++++++++-
 3 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5d66ae1..398d368 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,7 +3,6 @@
 ## 0.1.37
 
 * Modified **systemd::service::dropin** to allow multiple drop in files per service as suggested in [Issue 49](https://github.com/NTTCom-MS/eyp-systemd/issues/49) by [cedef](https://github.com/cedef)
-* Drop-in directory created by default in **systemd::service**
 
 ## 0.1.36
 
diff --git a/manifests/service.pp b/manifests/service.pp
index d2bb6dd..e73a449 100644
--- a/manifests/service.pp
+++ b/manifests/service.pp
@@ -49,7 +49,6 @@
                           $killmode                    = undef,
                           $successexitstatus           = [],
                           $killsignal                  = undef,
-                          $purge_dropin_dir            = true,
                         ) {
 
   if ($env_vars != undef )
@@ -106,15 +105,4 @@
     content => template("${module_name}/service.erb"),
     notify  => Exec['systemctl daemon-reload'],
   }
-
-  file { "/etc/systemd/system/${servicename}.service.d/":
-    ensure  => 'directory',
-    owner   => 'root',
-    group   => 'root',
-    mode    => '0755',
-    purge   => $purge_dropin_dir,
-    recurse => $purge_dropin_dir,
-    notify  => Exec['systemctl daemon-reload'],
-  }
-
 }
diff --git a/manifests/service/dropin.pp b/manifests/service/dropin.pp
index 2c0280e..5301865 100644
--- a/manifests/service/dropin.pp
+++ b/manifests/service/dropin.pp
@@ -49,6 +49,7 @@
                                   $successexitstatus           = [],
                                   $killsignal                  = undef,
                                   $syslogidentifier            = undef,
+                                  $purge_dropin_dir            = true,
                                 ) {
 
   if ($env_vars != undef )
@@ -84,6 +85,18 @@
     mode    => '0644',
     content => template("${module_name}/service.erb"),
     notify  => Exec['systemctl daemon-reload'],
-    require => Systemd::Service[$servicename],
+  }
+
+  if(!defined(File["/etc/systemd/system/${servicename}.service.d/"]))
+  {
+    file { "/etc/systemd/system/${servicename}.service.d/":
+      ensure  => 'directory',
+      owner   => 'root',
+      group   => 'root',
+      mode    => '0755',
+      purge   => $purge_dropin_dir,
+      recurse => $purge_dropin_dir,
+      notify  => Exec['systemctl daemon-reload'],
+    }
   }
 }