[Ovirt-devel] [PATCH node] Rerunning network config resets all network config. bz#507393

Darryl L. Pierce dpierce at redhat.com
Mon Jun 29 13:23:31 UTC 2009


When the user runs o-c-networking then it ensures that all features of
networking that we configure are reset and only those settings touched
are applied.

Signed-off-by: Darryl L. Pierce <dpierce at redhat.com>
---
 scripts/ovirt-config-networking |   46 +++++++++++++++++++++++++-------------
 1 files changed, 30 insertions(+), 16 deletions(-)

diff --git a/scripts/ovirt-config-networking b/scripts/ovirt-config-networking
index d29bd12..81f017c 100755
--- a/scripts/ovirt-config-networking
+++ b/scripts/ovirt-config-networking
@@ -16,8 +16,10 @@ WORKDIR=$(mktemp -d) || exit 1
 trap '__st=$?; rm -rf "$WORKDIR"; stop_log; exit $__st' 0
 trap 'exit $?' 1 2 13 15
 
-CONFIG_FILE_ROOT="/files/etc/sysconfig/network-scripts/ifcfg"
+IFCONFIG_FILE_ROOT="/files/etc/sysconfig/network-scripts/ifcfg"
+NTPCONF_FILE_ROOT="/files/etc/ntp"
 NTP_CONFIG_FILE="/etc/ntp.conf"
+NTPSERVERS=""
 CONFIGURED_NIC=""
 
 # if local storage is not configured, then exit the script
@@ -55,10 +57,10 @@ function configure_interface
 
     printf "\nConfigure $BRIDGE for use by $NIC..\n\n"
 
-    local IF_ROOT="$CONFIG_FILE_ROOT-$NIC"
+    local IF_ROOT="$IFCONFIG_FILE_ROOT-$NIC"
     local IF_CONFIG="rm $IF_ROOT\nset $IF_ROOT/DEVICE $NIC"
 
-    local BR_ROOT="$CONFIG_FILE_ROOT-$BRIDGE"
+    local BR_ROOT="$IFCONFIG_FILE_ROOT-$BRIDGE"
     local BR_CONFIG="rm $BR_ROOT\nset $BR_ROOT/DEVICE $BRIDGE"
     BR_CONFIG="$BR_CONFIG\nset $BR_ROOT/TYPE Bridge"
     BR_CONFIG="$BR_CONFIG\nset $BR_ROOT/PEERNTP yes"
@@ -202,7 +204,7 @@ function configure_dns
     fi
 
     local IF_FILENAME="$WORKDIR/augtool-br${CONFIGURED_NIC}"
-    local IF_ROOT="$CONFIG_FILE_ROOT-br${CONFIGURED_NIC}"
+    local IF_ROOT="$IFCONFIG_FILE_ROOT-br${CONFIGURED_NIC}"
     local IF_CONFIG=
 
     if [ -z "$AUTO" ]; then
@@ -241,12 +243,11 @@ function configure_dns
 
 function configure_ntp
 {
-    local NTP=$1
     local AUTO=$2
     if [[ "$AUTO" == "AUTO" && -n "$OVIRT_NTP" ]]; then
-	NTP=$OVIRT_NTP
+	NTPSERVERS=$OVIRT_NTP
     else
-	NTP=""
+	NTPSERVERS=""
     fi
 
     if [ -z "$AUTO" ]; then
@@ -255,18 +256,29 @@ function configure_ntp
 
 	    if [ -z "$REPLY" ]; then break; fi
 
-	    NTP="$NTP $REPLY"
+	    NTPSERVERS="$NTPSERVERS $REPLY"
 	done
     fi
+}
 
-    if [ -n "$NTP" ]; then
-	# strip out all current servers from /etc/npt.conf and insert our own
-	BACKUP="${WORKDIR}/ntp.conf-backup"
-	egrep -v '^server .* # added by ovirt-config-network' < $NTP_CONFIG_FILE > $BACKUP
-	for server in $NTP; do
-	    echo "server $server # added by ovirt-config-network" >> $BACKUP
+function save_ntp_configuration
+{
+    local ntpconf="$WORKDIR/augtool-ntp"
+    local ntproot="/files/etc/ntp.conf"
+
+    printf "\
+rm ${ntproot}\n\n
+set ${ntproot}/driftfile /var/lib/ntp/drift\n\
+set ${ntproot}/includefile /etc/ntp/crypto/pw\n\
+set ${ntproot}/keys /etc/ntp/keys\n\
+save\n" > $ntpconf
+
+    if [ -n "$NTPSERVERS" ]; then
+        offset=1
+	for server in $NTPSERVERS; do
+            printf "set /files/etc/ntp.conf/server[${offset}] ${server}\n" >> $ntpconf
+            offset=$(echo "$offset+1" | bc)
 	done
-	cp -f $BACKUP $NTP_CONFIG_FILE
     fi
 }
 
@@ -317,7 +329,9 @@ else
                 "$DNS") configure_dns "$OVIRT_DNS"; break ;;
                 "$NTP") configure_ntp "$OVIRT_NTP"; break ;;
                 "$Abort") rm -f "${WORKDIR}"/augtool-*; exit 99;;
-                "$Save") break 2;;
+                "$Save")
+                    save_ntp_configuration
+                    break 2;;
                 *)
                     if [[ -n "${NIC}" ]] && [[ "${NICS}" =~ "${NIC}" ]]; then
                         configure_interface $NIC $IFACE_NUMBER
-- 
1.6.0.6




More information about the ovirt-devel mailing list