summaryrefslogtreecommitdiff
path: root/puppet/modules/site_config/manifests/dhclient.pp
diff options
context:
space:
mode:
authorMicah Anderson <micah@riseup.net>2013-06-19 15:54:59 -0400
committerMicah Anderson <micah@riseup.net>2013-06-19 15:54:59 -0400
commit8259e18e06fe1535ad931e4c45dfe2583443f162 (patch)
tree4f8ff484d30f76fb76470d9f6148ed844b3715f2 /puppet/modules/site_config/manifests/dhclient.pp
parente66040d2180546541bd075ebc40548f3c8de87f4 (diff)
parent16b2a5593ce4ced4a21635b0638147bff250d13f (diff)
Merge branch 'develop' into leap
Diffstat (limited to 'puppet/modules/site_config/manifests/dhclient.pp')
-rw-r--r--puppet/modules/site_config/manifests/dhclient.pp30
1 files changed, 30 insertions, 0 deletions
diff --git a/puppet/modules/site_config/manifests/dhclient.pp b/puppet/modules/site_config/manifests/dhclient.pp
new file mode 100644
index 00000000..7ac0caf3
--- /dev/null
+++ b/puppet/modules/site_config/manifests/dhclient.pp
@@ -0,0 +1,30 @@
+class site_config::dhclient {
+
+ # Unfortunately, there does not seem to be a way to reload the dhclient.conf
+ # config file, or a convenient way to disable the modifications to
+ # /etc/resolv.conf. So the following makes the functions involved noops and
+ # ships a script to kill and restart dhclient. See the debian bugs:
+ # #681698, #712796
+
+ include site_config::params
+
+ file { '/usr/local/sbin/reload_dhclient':
+ owner => 0,
+ group => 0,
+ mode => '0755',
+ content => template('site_config/reload_dhclient.erb');
+ }
+
+ exec { 'reload_dhclient':
+ refreshonly => true,
+ command => '/usr/local/sbin/reload_dhclient';
+ }
+
+ file { '/etc/dhcp/dhclient-enter-hooks.d/disable_resolvconf':
+ content => 'make_resolv_conf() { : ; } ; set_hostname() { : ; }',
+ mode => '0644',
+ owner => 'root',
+ group => 'root',
+ notify => Exec['reload_dhclient'];
+ }
+}