[Ovirt-devel] [PATCH ovirt-node] auto-install for standalone mode

Alan Pevec apevec at redhat.com
Tue Nov 18 00:02:46 UTC 2008


each ovirt-config-* module is called with AUTO argument
when all required boot parameters are specified
---
 scripts/ovirt-config-logging    |    5 ++---
 scripts/ovirt-config-networking |    6 +++---
 scripts/ovirt-early             |   13 ++++++++-----
 scripts/ovirt-firstboot         |    6 ++++--
 scripts/ovirt-functions         |   13 +++++++++++++
 5 files changed, 30 insertions(+), 13 deletions(-)

diff --git a/scripts/ovirt-config-logging b/scripts/ovirt-config-logging
index 2dd9d9c..4d75be7 100755
--- a/scripts/ovirt-config-logging
+++ b/scripts/ovirt-config-logging
@@ -129,9 +129,8 @@ function prompt_user {
 
 }
 
-# check if we were called to attempt to default
-# to remote logging
-if [ "$1" = "default" ]; then
+# AUTO for auto-install
+if [ "$1" = "AUTO" ]; then
     if [ -z "$OVIRT_SYSLOG_SERVER" -o -z "$OVIRT_SYSLOG_PORT" ]; then
         printf "\nAttempting to locate remote syslog server..."
         find_srv syslog udp
diff --git a/scripts/ovirt-config-networking b/scripts/ovirt-config-networking
index 4ad8af0..0306bfb 100755
--- a/scripts/ovirt-config-networking
+++ b/scripts/ovirt-config-networking
@@ -92,8 +92,8 @@ function setup_menu
     PS3="Please select a network interface to configure:"
 }
 
-if [ "$1" == "AUTO" ]; then
-    configure_interface $OVIRT_MGMT_IFACE AUTO
+if [ "$1" == "AUTO" -a -n "$OVIRT_BOOTIF" ]; then
+    configure_interface $OVIRT_BOOTIF AUTO
     RESTART="Y"
 else
     setup_menu
@@ -104,7 +104,7 @@ else
         case "$NIC" in
             "Save") RESTART="Y"; break ;;
             "Quit") exit 0; break ;;
-            *) configure_interface $NIC $IFACE_NUMBER ;;
+            *) configure_interface $NIC ;;
         esac
         setup_menu
     done
diff --git a/scripts/ovirt-early b/scripts/ovirt-early
index 394fce5..d405de6 100755
--- a/scripts/ovirt-early
+++ b/scripts/ovirt-early
@@ -315,7 +315,7 @@ start() {
     # oVirt boot parameters
     #   BOOTIF=<MAC> (appended by pxelinux)
     #   ovirt_init=usb|scsi[:serial#]
-    #   ovirt_vol=BOOT_GB:SWAP_GB:INSTALL_GB:CONFIG_GB:LOGGING_GB
+    #   ovirt_vol=BOOT_MB:SWAP_MB:ROOT_MB:CONFIG_MB:LOGGING_MB
     #   ovirt_local_boot
     #   ovirt_standalone
     #   pxelinux format: ip=<client-ip>:<boot-server-ip>:<gw-ip>:<netmask>
@@ -339,10 +339,11 @@ start() {
     # e.g. ovirt_init=usb:Generic_STORAGE_DEVICE_0000145418-0:0
     ovirt_init=
 
-    #   ovirt_vol=BOOT_GB:SWAP_GB:INSTALL_GB:CONFIG_GB:LOGGING_GB
+    #   ovirt_vol=BOOT_MB:SWAP_MB:ROOT_MB:CONFIG_MB:LOGGING_MB
     # local partition sizes in GB
     ovirt_vol_boot=
-    ovirt_vol_install=
+    ovirt_vol_swap=
+    ovirt_vol_root=
     ovirt_vol_config=
     ovirt_vol_logging=
 
@@ -387,7 +388,7 @@ start() {
             ;;
             ovirt_vol=*)
             i=${i#ovirt_vol=}
-            eval $(printf $i|awk -F: '{print "ovirt_vol_boot="$1; print "ovirt_vol_install="$2; print "ovirt_vol_config="$3; print "ovirt_vol_logging="$4;}')
+            eval $(printf $i|awk -F: '{print "ovirt_vol_boot="$1; ovirt_vol_swap="$2; print "ovirt_vol_root="$3; print "ovirt_vol_config="$4; print "ovirt_vol_logging="$5;}')
             ;;
             ovirt_local_boot*)
             ovirt_local_boot=1
@@ -424,12 +425,14 @@ start() {
     if [ -z "$ip_gateway" ]; then
         ip_gateway=$gateway
     fi
+
     cat > $OVIRT_DEFAULTS <<EOF
 # configuration defaults from oVirt Node boot parameters
 OVIRT_BOOTIF=$bootif
 OVIRT_INIT=$ovirt_init
 OVIRT_VOL_BOOT=$ovirt_vol_boot
-OVIRT_VOL_INSTALL=$ovirt_vol_install
+OVIRT_VOL_SWAP=$ovirt_vol_swap
+OVIRT_VOL_ROOT=$ovirt_vol_root
 OVIRT_VOL_CONFIG=$ovirt_vol_config
 OVIRT_VOL_LOGGING=$ovirt_vol_logging
 OVIRT_LOCAL_BOOT=$ovirt_local_boot
diff --git a/scripts/ovirt-firstboot b/scripts/ovirt-firstboot
index 72f0557..39d5c86 100755
--- a/scripts/ovirt-firstboot
+++ b/scripts/ovirt-firstboot
@@ -31,9 +31,11 @@ start ()
 {
     INTERACTIVE="Y"
 
-    if [ -n "$OVIRT_MGMT_IFACE" ]; then
+    if is_auto_install; then
         INTERACTIVE="N"
-       ./ovirt-config-networking AUTO
+        ovirt-config-networking AUTO
+        ovirt-config-storage AUTO
+        ovirt-config-logging AUTO
     fi
 
     if [ "$INTERACTIVE" == "Y" ]; then
diff --git a/scripts/ovirt-functions b/scripts/ovirt-functions
index bdb0629..5826933 100644
--- a/scripts/ovirt-functions
+++ b/scripts/ovirt-functions
@@ -26,6 +26,19 @@ is_standalone() {
     if is_managed; then return 1; else return 0; fi
 }
 
+# is_auto_install
+# return 0 if all required oVirt boot parameters are present
+is_auto_install() {
+    test -n "$OVIRT_BOOTIF" \
+        -a -n "$OVIRT_OVIRT_STANDALONE" \
+        -a -n "$OVIRT_INIT" \
+        -a -n "$OVIRT_VOL_BOOT" \
+        -a -n "$OVIRT_VOL_SWAP" \
+        -a -n "$OVIRT_VOL_ROOT" \
+        -a -n "$OVIRT_VOL_CONFIG" \
+        -a -n "$OVIRT_VOL_LOGGING"
+}
+
 # find_srv SERVICE PROTO
 #
 # reads DNS SRV record
-- 
1.5.6.5




More information about the ovirt-devel mailing list