[Ovirt-devel] [PATCH node] Adds NTP support to the o-c-networking.
Darryl L. Pierce
dpierce at redhat.com
Tue Feb 17 15:16:07 UTC 2009
In interactive mode, the user can enter one or more NTP servers and the
script will update /etc/ntp.conf accordingly. It will not overwrite any
existing servers, but will instead replace any that were defined
previously using o-c-networking.
In automated mode, if the user passes in the kernel argument "ovirt_ntp"
then those values will be used.
Signed-off-by: Darryl L. Pierce <dpierce at redhat.com>
---
scripts/ovirt-config-networking | 36 +++++++++++++++++++++++++++++++++++-
scripts/ovirt-early | 8 +++++++-
2 files changed, 42 insertions(+), 2 deletions(-)
diff --git a/scripts/ovirt-config-networking b/scripts/ovirt-config-networking
index 5940d80..d296f44 100755
--- a/scripts/ovirt-config-networking
+++ b/scripts/ovirt-config-networking
@@ -17,6 +17,7 @@ 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"
+NTP_CONFIG_FILE="/etc/ntp.conf"
function configure_interface
{
@@ -197,6 +198,37 @@ function configure_dns
fi
}
+function configure_ntp
+{
+ local NTP=$1
+ local AUTO=$2
+ if [[ "$AUTO" == "AUTO" && -n "$OVIRT_NTP" ]]; then
+ NTP=$OVIRT_NTP
+ else
+ NTP=""
+ fi
+
+ if [ -z "$AUTO" ]; then
+ while true; do
+ read -ep "Enter an NTP server (hit return when finished): "
+
+ if [ -z "$REPLY" ]; then break; fi
+
+ NTP="$NTP $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
+ done
+ cp -f $BACKUP $NTP_CONFIG_FILE
+ fi
+}
+
function setup_menu
{
NICS=""
@@ -217,17 +249,19 @@ function setup_menu
if [ "$1" == "AUTO" ]; then
configure_interface "$OVIRT_BOOTIF" AUTO
configure_dns "$OVIRT_DNS" AUTO
+ configure_ntp "$OVIRT_NTP" AUTO
else
setup_menu
while true; do
printf "\n\n oVirt Node Networking Configuration\n\n" >&2
- select NIC in $NICS "DNS" "Save & Exit"
+ select NIC in $NICS "DNS" "NTP" "Save & Exit"
do
printf "\n"
case "$NIC" in
"DNS") configure_dns "$OVIRT_DNS"; break ;;
+ "NTP") configure_ntp "$OVIRT_NTP"; break ;;
"Save & Exit") break 2;;
*) configure_interface $NIC $IFACE_NUMBER; break ;;
esac
diff --git a/scripts/ovirt-early b/scripts/ovirt-early
index 37f5c6e..b757614 100755
--- a/scripts/ovirt-early
+++ b/scripts/ovirt-early
@@ -125,6 +125,7 @@ start() {
# anaconda format: ip=<client-ip> netmask=<netmask> gateway=<gw-ip>
# ipv6=dhcp|auto
# dns=server[,server]
+ # ntp=server[,server]
# syslog=server[:port]
# collectd=server[:port]
# hostname=fqdn
@@ -184,6 +185,7 @@ start() {
# anaconda format: ip=<client-ip> netmask=<netmask> gateway=<gw-ip>
# ipv6=dhcp|auto
# dns=server[,server]
+ # ntp=server[,server]
# static network configuration
ip_address=
ip_gateway=
@@ -192,6 +194,7 @@ start() {
gateway=
ipv6=
dns=
+ ntp=
# hostname=fqdn
# hostname
@@ -307,6 +310,9 @@ start() {
dns=*)
dns=${i#dns=}
;;
+ ntp=*)
+ ntp=$(i#ntp=}
+ ;;
hostname=*)
hostname=${i#hostname=}
;;
@@ -331,7 +337,7 @@ start() {
ip_gateway=$gateway
fi
# save boot parameters as defaults for ovirt-config-*
- params="bootif init vol_boot_size vol_swap_size vol_root_size vol_config_size vol_logging_size vol_data_size local_boot standalone overcommit ip_address ip_netmask ip_gateway ipv6 dns syslog_server syslog_port collectd_server collectd_port bootparams hostname firstboot"
+ params="bootif init vol_boot_size vol_swap_size vol_root_size vol_config_size vol_logging_size vol_data_size local_boot standalone overcommit ip_address ip_netmask ip_gateway ipv6 dns ntp syslog_server syslog_port collectd_server collectd_port bootparams hostname firstboot"
mount_config
log "Updating $OVIRT_DEFAULTS"
tmpaug=$(mktemp)
--
1.6.0.6
More information about the ovirt-devel
mailing list