summaryrefslogtreecommitdiff
path: root/scripts/sol_tabs
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/sol_tabs')
-rwxr-xr-xscripts/sol_tabs57
1 files changed, 57 insertions, 0 deletions
diff --git a/scripts/sol_tabs b/scripts/sol_tabs
new file mode 100755
index 0000000..c5cb9fe
--- /dev/null
+++ b/scripts/sol_tabs
@@ -0,0 +1,57 @@
+#!/bin/bash
+
+# Copyright (c) 2012, Calxeda Inc.
+#
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# * Neither the name of Calxeda Inc. nor the names of its contributors
+# may be used to endorse or promote products derived from this software
+# without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
+# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
+# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+# DAMAGE.
+
+node_0_ip=$1
+
+# check for hostname arg
+if [ $# -eq 0 ] ; then
+ echo "Please specify a host, I.E. \"sol_tabs 192.168.100.100\""
+ exit 1
+fi
+
+# check for xdotool, wmctrl commands
+command -v xdotool &>/dev/null || { echo >&2 "xdotool is required but not installed. Aborting."; exit 1; }
+command -v wmctrl &>/dev/null || { echo >&2 "wmctrl is required but not installed. Aborting."; exit 1; }
+
+for ip in `cxmanage ipinfo $node_0_ip | grep '\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}' | grep -v from | awk {'print $3'}`
+do
+ echo $ip
+ WID=$(xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)"| awk '{print $5}')
+ xdotool windowfocus $WID
+ xdotool key ctrl+shift+t
+ wmctrl -i -a $WID
+ sleep 3
+ xdotool type "
+ipmitool -I lanplus -U admin -P admin -H $ip sol deactivate
+ipmitool -I lanplus -U admin -P admin -H $ip sol activate
+"
+done