--- a/pkvlm-create Thu Jan 05 14:45:31 2012 +0200
+++ b/pkvlm-create Thu Jan 05 14:57:37 2012 +0200
@@ -6,6 +6,7 @@
TESTING=
+DO_SHOWSPEC=y
DO_VIRTINSTALL=
scripts=$(dirname $0)/scripts
@@ -61,6 +62,7 @@
q)
LOG_CMD=
LOG_INFO=
+ DO_SHOWSPEC=
log_debug "log: Quiet"
;;
@@ -96,8 +98,9 @@
esac
done
+
# forget them
-shift $(( $OPTIND - 1 ))
+[ $OPTIND -gt 1 ] && shift $(( $OPTIND - 1 ))
## Command-line arguments
# Name
@@ -134,7 +137,7 @@
define_opt hostname $opt_name
define_opt bridge br-lan
define_opt dns_domain paivola.fi
-define_opt ip $(resolve_name ${opt_name}.${opt_dns_domain})
+define_opt ip
log_info "Processing ${#@} parameters:"
for param in "$@"; do
@@ -147,6 +150,11 @@
define_opt ${name} "${value}"
done
+# resolve defaults
+if [ -z $opt_ip ]; then
+ define_opt ip $(resolve_name ${opt_name}.${opt_dns_domain})
+fi
+
### State
## Guest info
GUEST_NAME=$opt_name
@@ -230,7 +238,8 @@
#RESTORECON=/sbin/restorecon
### Prepare
-cat <<END
+if [ $DO_SHOWSPEC ]; then
+ cat <<END
Guest:
Name: $GUEST_NAME
CPUs: $GUEST_VCPUS
@@ -275,7 +284,7 @@
Includes: $PRESEED_INCLUDES
END
-
+fi
[ $TESTING ] && exit 0
@@ -284,7 +293,7 @@
[ -z $NET_IPADDR ] && die "net: No IP-address given: ip"
# VM exists?
-if cmd virsh domid ${GUEST_NAME} 2> /dev/null; then
+if cmd virsh domid ${GUEST_NAME} > /dev/null 2> /dev/null; then
die "Virtual machine already exists: ${GUEST_NAME}"
fi
--- a/scripts/lib.sh Thu Jan 05 14:45:31 2012 +0200
+++ b/scripts/lib.sh Thu Jan 05 14:57:37 2012 +0200
@@ -8,29 +8,40 @@
function log_debug () {
[ $LOG_DEBUG ] && echo "... $@" >&2
+
+ return 0
}
function log_debugf () {
local fmt=$1; shift 1
[ $LOG_DEBUG ] && printf "... $fmt\n" "$@" >&2
+
+ return 0
}
-
function log_info () {
[ $LOG_INFO ] && echo "--- $@" >&2
+
+ return 0
}
function log_cmd () {
[ $LOG_CMD ] && echo ">>> $@" >&2
+
+ return 0
}
function log_warn () {
[ $LOG_WARN ] && echo "XXX $@" >&2
+
+ return 0
}
function log_error () {
[ $LOG_ERROR ] && echo "!!! $@" >&2
+
+ return 0
}
function die () {
@@ -52,7 +63,7 @@
}
function cmd_confirm () {
- [ $CMD_PROMPT ] && read -p "Confirm: $1"
+ [ $CMD_PROMPT ] && read -p "Confirm: $@ ? "
cmd "$@"
}