add a service to erase udev rules files when hardware is different
authorLaurent Mazet <laurent.mazet@thalesgroup.com>
Tue, 16 Dec 2014 19:03:18 +0000 (20:03 +0100)
committerLaurent Mazet <laurent.mazet@thalesgroup.com>
Tue, 16 Dec 2014 19:03:18 +0000 (20:03 +0100)
install_debian.txt
master/etc/init.d/checkudevrules [new file with mode: 0755]

index 15adb9e0e893a4430ffa68767455b037392694ef..43c780c0559a3c4a57c6ff5e9e0b72f2be974563 100644 (file)
@@ -52,5 +52,7 @@ Step 3:
   update-rc.d wakeonlan enable
   update-rc.d waitslaves defaults
   update-rc.d shutdownallblades defaults
+  update-rc.d checkudevrules enable
+  update-rc.d checkudevrules defaults
   chown webconfig /etc/webconfig/alias.csv /etc/dhcp/dhcpd.conf
   reboot
diff --git a/master/etc/init.d/checkudevrules b/master/etc/init.d/checkudevrules
new file mode 100755 (executable)
index 0000000..62cd844
--- /dev/null
@@ -0,0 +1,62 @@
+#!/bin/bash
+VER=1.0
+# ============================================================================
+#
+# Copyright (C) THALES. All rights reserved
+# Author: Laurent Mazet
+# Date : 15/12/2014
+# ============================================================================
+
+### BEGIN INIT INFO
+# Provides:          checkudevrules
+# Required-Start:    udev
+# Required-Stop:
+# Should-Start:
+# Default-Start:     S
+# Default-Stop:
+# Short-Description: Check udev rules
+# Description:       Check udev rules files (70-persistent-*.rules) and reboot if necessary
+### END INIT INFO
+
+FILES="/etc/udev/rules.d/70-persistent-{cd,net}.rules"
+ENABLE="yes"
+ETHx=eth0
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+
+[ -f /etc/default/checkudevrules ] && . /etc/default/checkudevrules
+[ "$ENABLE" = "yes" ] || exit 0
+
+. /lib/lsb/init-functions
+
+do_check () {
+
+    log_action_msg "Check if $ETHx exists..."
+
+    if ip link show $ETHx >&/dev/null; then
+        log_action_msg "Continue booting"
+    else
+        log_action_msg "Erase udev rules and reboot"
+        rm -f $FILES
+        reboot
+    fi
+}
+
+case "$1" in
+    -v)
+        echo "$(basename $0), version $VER"
+       ;;
+    start)
+        do_check
+        ;;
+    restart|reload|force-reload|stop)
+        echo "Error: argument '$1' not supported" >&2
+        exit 3
+        ;;
+    *)
+        echo "Usage: $0 start" >&2
+        exit 3
+        ;;
+esac
+
+# vim:set tabstop=4 expandtab shiftwidth=4: