6 SCRIPT_NAME=$(basename $0)
8 for dir in /lib/udev /sbin; do
9 if [ -f $dir/vol_id -a -x $dir/vol_id ]; then
14 if [ -z "$VOL_ID" ]; then
15 log_error "vol_id not found, please install udev"
19 get_api5_arguments() {
21 # Note the quotes around `$TEMP': they are essential!
22 eval set -- "$GETOPT_RESULT"
25 -i|-n) instance=$2; shift 2;;
27 -o) old_name=$2; shift 2;;
29 -b) blockdev=$2; shift 2;;
31 -s) swapdev=$2; shift 2;;
35 *) log_error "Internal error!" >&2; exit 1;;
38 if [ -z "$instance" -o -z "$blockdev" ]; then
39 log_error "Missing OS API Argument (-i, -n, or -b)"
42 if [ "$SCRIPT_NAME" != "export" -a -z "$swapdev" ]; then
43 log_error "Missing OS API Argument -s (swapdev)"
46 if [ "$SCRIPT_NAME" = "rename" -a -z "$old_name" ]; then
47 log_error "Missing OS API Argument -o (old_name)"
52 get_api10_arguments() {
53 if [ -z "$INSTANCE_NAME" -o -z "$HYPERVISOR" -o -z "$DISK_COUNT" ]; then
54 log_error "Missing OS API Variable:"
55 log_error "(INSTANCE_NAME HYPERVISOR or DISK_COUNT)"
58 instance=$INSTANCE_NAME
59 if [ $DISK_COUNT -lt 1 -o -z "$DISK_0_PATH" ]; then
60 log_error "At least one disk is needed"
63 if [ "$SCRIPT_NAME" = "export" ]; then
64 if [ -z "$EXPORT_DEVICE" ]; then
65 log_error "Missing OS API Variable EXPORT_DEVICE"
67 blockdev=$EXPORT_DEVICE
68 elif [ "$SCRIPT_NAME" = "import" ]; then
69 if [ -z "$IMPORT_DEVICE" ]; then
70 log_error "Missing OS API Variable IMPORT_DEVICE"
72 blockdev=$IMPORT_DEVICE
76 if [ "$SCRIPT_NAME" = "rename" -a -z "$OLD_INSTANCE_NAME" ]; then
77 log_error "Missing OS API Variable OLD_INSTANCE_NAME"
79 old_name=$OLD_INSTANCE_NAME
82 if [ -z "$OS_API_VERSION" -o "$OS_API_VERSION" = "5" ]; then
84 GETOPT_RESULT=`getopt -o o:n:i:b:s: -n '$0' -- "$@"`
85 if [ $? != 0 ] ; then log_error "Terminating..."; exit 1 ; fi
86 get_api5_arguments $GETOPT_RESULT
87 elif [ "$OS_API_VERSION" = "10" ]; then
90 log_error "Unknown OS API VERSION $OS_API_VERSION"