summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorAnthony Young <sleepsonthefloor@gmail.com>2010-12-21 22:01:51 -0800
committerAnthony Young <sleepsonthefloor@gmail.com>2010-12-21 22:01:51 -0800
commit17f25cf4faf95297177bb71b2825202a1f997180 (patch)
tree53b3623ce18e0b56093d5ec9dd7f50695f5fed9e /tools
parenta84e2b9131e4c8b212c9de0b9ad4931f7743ff75 (diff)
parent41b5e4a12d23308f2143dfb5a059c43a931370e2 (diff)
downloadnova-17f25cf4faf95297177bb71b2825202a1f997180.tar.gz
merging in trunk
Diffstat (limited to 'tools')
-rwxr-xr-xtools/iscsidev.sh41
-rwxr-xr-xtools/nova-debug92
-rw-r--r--tools/pip-requires4
3 files changed, 136 insertions, 1 deletions
diff --git a/tools/iscsidev.sh b/tools/iscsidev.sh
new file mode 100755
index 0000000000..6f5b572df8
--- /dev/null
+++ b/tools/iscsidev.sh
@@ -0,0 +1,41 @@
+#!/bin/sh
+
+# Copyright 2010 United States Government as represented by the
+# Administrator of the National Aeronautics and Space Administration.
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+# NOTE(vish): This script helps udev create common names for discovered iscsi
+# volumes under /dev/iscsi. To use it, create /dev/iscsi and add
+# a file to /etc/udev/rules.d like so:
+# mkdir /dev/iscsi
+# echo 'KERNEL=="sd*", BUS=="scsi", PROGRAM="/path/to/iscsidev.sh
+# %b",SYMLINK+="iscsi/%c%n"' > /etc/udev/rules.d/55-openiscsi.rules
+
+BUS=${1}
+HOST=${BUS%%:*}
+
+if [ ! -e /sys/class/iscsi_host ]; then
+ exit 1
+fi
+
+file="/sys/class/iscsi_host/host${HOST}/device/session*/iscsi_session*/session*/targetname"
+
+target_name=$(cat ${file})
+
+if [ -z "${target_name}" ]; then
+ exit 1
+fi
+
+echo "${target_name##*:}"
diff --git a/tools/nova-debug b/tools/nova-debug
new file mode 100755
index 0000000000..3ff68ca356
--- /dev/null
+++ b/tools/nova-debug
@@ -0,0 +1,92 @@
+#!/usr/bin/env bash
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
+
+# Copyright 2010 United States Government as represented by the
+# Administrator of the National Aeronautics and Space Administration.
+# All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+INSTANCES_PATH=${INSTANCES_PATH:-/var/lib/nova/instances}
+if [ -z "$1" ]; then echo "specify an instance id to debug"; exit; fi
+
+if [ -n "$3" ]; then DEVICE=$3; fi
+
+CMD="all"
+if [ -n "$2" ]; then CMD=$2; fi
+
+cd $INSTANCES_PATH/$1
+
+if [ $CMD != "umount" ] && [ $CMD != "launch" ]; then
+# destroy the instance
+virsh destroy $1
+
+# mount the filesystem
+mkdir t
+DEVICE=`losetup --show -f disk`
+echo $DEVICE
+kpartx -a $DEVICE
+mount /dev/mapper/${DEVICE:4}p1 t
+
+fi
+if [ $CMD != "mount" ] && [ $CMD != "umount" ]; then
+
+# make serial console listen on ttyS0
+cat >t/etc/init/ttyS0.conf <<TTY_EOF
+# ttyS0 - getty
+#
+# This service maintains a getty on ttyS0 from the point the system is
+# started until it is shut down again.
+
+start on stopped rc RUNLEVEL=[2345]
+stop on runlevel [!2345]
+
+respawn
+exec /sbin/getty -L 115200 ttyS0 xterm
+TTY_EOF
+
+echo
+# set debug root password
+chroot t passwd -u root
+# TODO(vish): automate this with expect
+chroot t passwd root
+
+tr -d '\n' < libvirt.xml > debug.xml
+sed -i "s/<serial type=\"file\">.*<\/serial>/<serial type=\"pty\"><source path=\"\/dev\/pts\/1\"\/><target port=\"0\"\/><\/serial>/g" debug.xml
+
+umount t
+
+virsh create debug.xml
+virsh console $1
+virsh destroy $1
+
+mount /dev/mapper/${DEVICE:4}p1 t
+
+# clear debug root password
+chroot t passwd -l root
+
+# remove the serial console conf
+rm -f t/etc/init/ttyS0.conf
+
+fi
+if [ $CMD != "mount" ] && [ $CMD != "launch" ]; then
+
+# unmount the filesystem
+umount t
+kpartx -d $DEVICE
+losetup -d $DEVICE
+rmdir t
+
+# recreate the instance
+virsh create libvirt.xml
+fi
diff --git a/tools/pip-requires b/tools/pip-requires
index c76fad86f5..e9559521b5 100644
--- a/tools/pip-requires
+++ b/tools/pip-requires
@@ -2,6 +2,7 @@ SQLAlchemy==0.6.3
pep8==0.5.0
pylint==0.19
IPy==0.70
+Cheetah==2.4.2.1
M2Crypto==0.20.2
amqplib==0.6.1
anyjson==0.2.4
@@ -13,7 +14,6 @@ python-daemon==1.5.5
python-gflags==1.3
redis==2.0.0
routes==1.12.3
-tornado==1.0
WebOb==0.9.8
wsgiref==0.1.2
zope.interface==3.6.1
@@ -21,3 +21,5 @@ mox==0.5.0
-f http://pymox.googlecode.com/files/mox-0.5.0.tar.gz
greenlet==0.3.1
nose
+bzr
+Twisted>=10.1.0 \ No newline at end of file