diff options
| author | Micah Anderson <micah@riseup.net> | 2013-06-28 11:28:13 -0400 | 
|---|---|---|
| committer | Micah Anderson <micah@riseup.net> | 2013-07-01 12:11:39 -0400 | 
| commit | 9a522267068a1bcede55ba388d526ddc263d155f (patch) | |
| tree | eb1e643dffb67b196089fb5b9495b49600ea0fa0 | |
| parent | a2b1fc25dc363a99284711f67a2577f90fda6b14 (diff) | |
restart stunnels if /etc/hosts is changed (#3031)
Due to the fact that /etc/hosts is modified in the early stage setup.pp run and
the stunnel service is not deployed on an initial puppet run, we cannot simply
override the Service['stunnel'] but instead need to trigger a restart through
an exec calling the init script that first tests to see if it is present.
Change-Id: I6bf5dfece9ecbdb8319747774185dec50d5a55f6
| -rw-r--r-- | puppet/modules/site_config/manifests/hosts.pp | 11 | 
1 files changed, 11 insertions, 0 deletions
| diff --git a/puppet/modules/site_config/manifests/hosts.pp b/puppet/modules/site_config/manifests/hosts.pp index 83a1040d..ccedf036 100644 --- a/puppet/modules/site_config/manifests/hosts.pp +++ b/puppet/modules/site_config/manifests/hosts.pp @@ -14,6 +14,17 @@ class site_config::hosts() {      refreshonly => true;    } +  # we depend on reliable hostnames from /etc/hosts for the stunnel services +  # so restart stunnel service when /etc/hosts is modified +  # because this is done in an early stage, the stunnel module may not +  # have been deployed and will not be available for overriding, so +  # this is handled in an unorthodox manner +  exec { '/etc/init.d/stunnel4 restart': +    subscribe   => File['/etc/hosts'], +    refreshonly => true, +    onlyif      => 'test -f /etc/init.d/stunnel4'; +  } +    file { '/etc/hosts':      content => template('site_config/hosts'),      mode    => '0644', | 
