fix refresh_stunnel.sh sometimes never running.
authorMicah Anderson <micah@riseup.net>
Tue, 7 Jun 2016 19:12:05 +0000 (15:12 -0400)
committerMicah Anderson <micah@riseup.net>
Tue, 7 Jun 2016 19:24:57 +0000 (15:24 -0400)
It turns out that in some corner-cases, the script is not called:

(1) start the deploy, create files in /var/lib/puppet/stunnel4/config
(2) halt puppet before apply finishes
(3) re-run deploy

in this scenario, next time you run deploy, refresh_stunnel will never get called to populate /etc/stunnel, because the files in /var/lib/puppet/stunnel4/config haven't changed.

This problem can be really confusing when it happens.

To fix this, we just run refresh_stunnel every, it is pretty fast and
the script has more complete logic for what to do than puppet, which has
only an asymmetrical view on the situation.

manifests/init.pp

index c5ad70b..f38a202 100644 (file)
@@ -58,9 +58,6 @@ class stunnel (
   }
 
   exec { 'refresh_stunnel':
-    refreshonly => true,
-    require     => [ Service['stunnel'], Package['stunnel'], File[$stunnel_compdir] ],
-    subscribe   => File[$stunnel_compdir],
     command     => "${stunnel_staging}/bin/refresh_stunnel.sh"
   }
 }