summaryrefslogtreecommitdiff
path: root/puppet/modules/site_config/templates/reload_dhclient.erb
diff options
context:
space:
mode:
authormicah <micah@leap.se>2013-06-19 21:53:51 +0200
committermicah <micah@leap.se>2013-06-19 21:53:51 +0200
commit16b2a5593ce4ced4a21635b0638147bff250d13f (patch)
tree4f8ff484d30f76fb76470d9f6148ed844b3715f2 /puppet/modules/site_config/templates/reload_dhclient.erb
parentcd9f0dc7d3fed744ea9bf695a497845a7297e1ca (diff)
parentd9614163ed327fc17d27ac623dfd639ce00a43ce (diff)
Merge branch 'feature/2842' of /home/git/repositories/micah/leap_platform into develop
Diffstat (limited to 'puppet/modules/site_config/templates/reload_dhclient.erb')
-rw-r--r--puppet/modules/site_config/templates/reload_dhclient.erb13
1 files changed, 13 insertions, 0 deletions
diff --git a/puppet/modules/site_config/templates/reload_dhclient.erb b/puppet/modules/site_config/templates/reload_dhclient.erb
new file mode 100644
index 00000000..882c985a
--- /dev/null
+++ b/puppet/modules/site_config/templates/reload_dhclient.erb
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# Get the PID
+PIDFILE='/var/run/dhclient.<%= scope.lookupvar('site_config::params::interface') %>.pid
+
+# Capture how dhclient is currently running so we can relaunch it
+dhclient=`/bin/ps --no-headers --pid $(cat $PIDFILE) -f | /usr/bin/awk '{for(i=8;i<=NF;++i) printf("%s ", $i) }'`
+
+# Kill the current dhclient
+/usr/bin/pkill -F $PIDFILE
+
+# Restart dhclient with the arguments it had previously
+$dhclient