# /etc/sudoers.d/trc6500
-trc6500 ALL = (root)NOPASSWD: /opt/script/check_network.sh *
-trc6500 ALL = (root)NOPASSWD: /opt/trc6500/script/check_network.sh *
+trc6500 ALL = (root)NOPASSWD: /opt/script/check_network *
+trc6500 ALL = (root)NOPASSWD: /opt/trc6500/script/check_network *
trc6500 ALL = (root)NOPASSWD: /sbin/halt
trc6500 ALL = (root)NOPASSWD: /usr/sbin/service ammwake *
trc6500 ALL = (root)NOPASSWD: /usr/sbin/service ipmiwake *
# /etc/sudoers.d/webconfig
-webconfig ALL = (root)NOPASSWD: /opt/script/check_network.sh *
-webconfig ALL = (root)NOPASSWD: /opt/trc6500/script/check_network.sh *
+webconfig ALL = (root)NOPASSWD: /opt/script/check_network *
+webconfig ALL = (root)NOPASSWD: /opt/trc6500/script/check_network *
webconfig ALL = (root)NOPASSWD: /sbin/halt
webconfig ALL = (root)NOPASSWD: /usr/sbin/service ammwake *
webconfig ALL = (root)NOPASSWD: /usr/sbin/service ipmiwake *
swg2-restart;/usr/share/webconfig;;Restart switch SWG2;/opt/script/connect_switch -c reload swg2
swm-restart;/usr/share/webconfig;;Restart switch SWM;/opt/script/connect_switch -c reload swm
;;;Blade maintenance actions;
-bios;/usr/share/webconfig;;Configure BIOS for all Supermicro blades;sudo /opt/script/check_network.sh -c '/opt/bios/update_bios_cfg.sh -y -Y' -o
-ipmi;/usr/share/webconfig;;Configure IPMI for all Supermicro blades;sudo /opt/script/check_network.sh -c '/opt/ipmi/update_blade_cfg.sh -y -Y' -o
+bios;/usr/share/webconfig;;Configure BIOS for all Supermicro blades;sudo /opt/script/check_network -c '/opt/bios/update_bios_cfg.sh -y -Y' -o
+ipmi;/usr/share/webconfig;;Configure IPMI for all Supermicro blades;sudo /opt/script/check_network -c '/opt/ipmi/update_blade_cfg.sh -y -Y' -o
/dce;/usr/share/dce;/etc/dhcp/dhcpd.conf;DHCPD Configuration Editor;sudo service isc-dhcp-server restart
-ntp;/usr/share/webconfig;;Synchronize time and date on all blades;sudo /opt/script/check_network.sh -c 'service chrony stop; ntpdate-debian; service chrony start' -o
+ntp;/usr/share/webconfig;;Synchronize time and date on all blades;sudo /opt/script/check_network -c 'service chrony stop; ntpdate-debian; service chrony start' -o
;;;Internal equipements;
http://10.133.26.160:8110;/usr/share/webconfig;;FE306-1;:goto:
http://10.133.26.160:8120;/usr/share/webconfig;;FE306-2;:goto:
--- /dev/null
+#!/bin/bash
+#
+# ============================================================================
+#
+# Copyright (C) THALES. All rights reserved
+# Author: Alexandre Cazalis
+#
+# Gestion attente lames esclaves au boot (ping,ssh)
+#
+# 2013-11-20 : V1.2 LMa
+# - Ajout de la personalisation de la commande a executer
+# par defaut (uptime). Ajout attente montage nfs avant demarrage
+# 2014-05-28 : V1.3 LMa
+# - Ajout d'un mode foreground pour ne tenter qu'une fois chaque commande
+# - Ajout d'une commande pour exclude la lame maitre
+#
+# 2014-10-28 : Change owner
+# ============================================================================
+
+# TODO
+# *
+
+CMD="uptime"
+MODE="iter"
+PROGNAME=$(basename $0)
+VER=1.3
+EXCLUDE="___"
+
+function usage () {
+ echo "usage: $PROGNAME [-c command] [-h] [-i] [-o] [-t seconds] [-v] [-w] [-x] host1 host2..."
+ echo " -c: set command (default '$CMD')"
+ echo " -h: help message"
+ echo " -i: infinity loop mode [default]"
+ echo " -o: only try ones"
+ echo " -t: timeout"
+ echo " -v: version message"
+ echo " -w: wait mode"
+ echo " -x: avoid master blade"
+ exit $@
+}
+
+while [ $# -gt 0 ]; do
+ case "$1" in
+ -c) shift; CMD=$1;;
+ -h) usage 0;;
+ -i) MODE="iter";;
+ -o) MODE="ones";;
+ -t) shift; [[ "$1" =~ [^0-9] ]] && { echo "incorrect timeout ($1)"; exit 1;}; TIMEOUT=$1;;
+ -v) echo "$PROGNAME: version $VER"; exit;;
+ -w) MODE="wait";;
+ -x) EXCLUDE="trc00";;
+ *) list+=" "$1;;
+ esac
+ shift
+done
+
+# list
+[ "$list" ] || list=$(awk '{sub(/#.*/, "")} /trc[0-9][0-9]/ && ! /-rf/ {print $2}' /etc/hosts)
+list=$(echo $list" "|sed s/$EXCLUDE//)
+
+# timeout
+if [ "$TIMEOUT" ]; then
+ trap "echo 'timeout expired (${TIMEOUT}s)'; exit 0;" SIGVTALRM
+ ( sleep $TIMEOUT; kill -SIGVTALRM $$ 2>/dev/null; [ $? -eq 0 ] && rc=1 || rc=0; exit $rc) &
+fi
+trap "exit 0;" SIGINT
+
+# main loop
+while true; do
+ for host in $list; do
+ stat=0
+ echo -n ${host}:" "
+ ping -c 1 $host >&/dev/null && { ssh -t -o ConnectTimeout=1 root@$host "$CMD" 2>/dev/null && stat=1 || echo "soon..."; } || echo
+ [ "$MODE" = "wait" -a $stat -eq 1 ] && list=${list/$host }
+ done
+ [ "$MODE" = "ones" ] && break;
+ [[ "$list" =~ [a-zA-Z0-9_-] ]] && sleep 1 || break;
+done
+++ /dev/null
-#!/bin/bash
-#
-# ============================================================================
-#
-# Copyright (C) THALES. All rights reserved
-# Author: Alexandre Cazalis
-#
-# Gestion attente lames esclaves au boot (ping,ssh)
-#
-# 2013-11-20 : V1.2 LMa
-# - Ajout de la personalisation de la commande a executer
-# par defaut (uptime). Ajout attente montage nfs avant demarrage
-# 2014-05-28 : V1.3 LMa
-# - Ajout d'un mode foreground pour ne tenter qu'une fois chaque commande
-# - Ajout d'une commande pour exclude la lame maitre
-#
-# 2014-10-28 : Change owner
-# ============================================================================
-
-# TODO
-# *
-
-CMD="uptime"
-MODE="iter"
-PROGNAME=$(basename $0)
-VER=1.3
-EXCLUDE="___"
-
-function usage () {
- echo "usage: $PROGNAME [-c command] [-h] [-i] [-o] [-t seconds] [-v] [-w] [-x] host1 host2..."
- echo " -c: set command (default '$CMD')"
- echo " -h: help message"
- echo " -i: infinity loop mode [default]"
- echo " -o: only try ones"
- echo " -t: timeout"
- echo " -v: version message"
- echo " -w: wait mode"
- echo " -x: avoid master blade"
- exit $@
-}
-
-while [ $# -gt 0 ]; do
- case "$1" in
- -c) shift; CMD=$1;;
- -h) usage 0;;
- -i) MODE="iter";;
- -o) MODE="ones";;
- -t) shift; [[ "$1" =~ [^0-9] ]] && { echo "incorrect timeout ($1)"; exit 1;}; TIMEOUT=$1;;
- -v) echo "$PROGNAME: version $VER"; exit;;
- -w) MODE="wait";;
- -x) EXCLUDE="trc00";;
- *) list+=" "$1;;
- esac
- shift
-done
-
-# list
-[ "$list" ] || list=$(awk '{sub(/#.*/, "")} /trc[0-9][0-9]/ && ! /-rf/ {print $2}' /etc/hosts)
-list=$(echo $list" "|sed s/$EXCLUDE//)
-
-# timeout
-if [ "$TIMEOUT" ]; then
- trap "echo 'timeout expired (${TIMEOUT}s)'; exit 0;" SIGVTALRM
- ( sleep $TIMEOUT; kill -SIGVTALRM $$ 2>/dev/null; [ $? -eq 0 ] && rc=1 || rc=0; exit $rc) &
-fi
-trap "exit 0;" SIGINT
-
-# main loop
-while true; do
- for host in $list; do
- stat=0
- echo -n ${host}:" "
- ping -c 1 $host >&/dev/null && { ssh -t -o ConnectTimeout=1 root@$host "$CMD" 2>/dev/null && stat=1 || echo "soon..."; } || echo
- [ "$MODE" = "wait" -a $stat -eq 1 ] && list=${list/$host }
- done
- [ "$MODE" = "ones" ] && break;
- [[ "$list" =~ [a-zA-Z0-9_-] ]] && sleep 1 || break;
-done