From 692c92e092226edcbbbf45466fd31ac09323d526 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Thu, 3 Sep 2009 14:28:44 -0700 Subject: [PATCH] xenserver: Install /etc/sysconfig/vswitch by default. Until now, the vswitch RPM has installed /etc/sysconfig/vswitch.example and made the system administrator copy it to /etc/sysconfig/vswitch if he desires. This is slightly inconvenient, since it is slightly easier for the admin if he can just edit /etc/sysconfig/vswitch directly. This commit changes to the latter behavior. Bug #1810. --- xenserver/README | 9 ++++---- xenserver/automake.mk | 2 +- ...> root_vswitch_scripts_sysconfig.template} | 0 xenserver/vswitch-xen.spec | 21 ++++++++++++++++--- 4 files changed, 24 insertions(+), 8 deletions(-) rename xenserver/{etc_sysconfig_vswitch.example => root_vswitch_scripts_sysconfig.template} (100%) diff --git a/xenserver/README b/xenserver/README index b940e3f7..276cd6c2 100644 --- a/xenserver/README +++ b/xenserver/README @@ -30,10 +30,6 @@ files are: vswitch-related shell functions for the administrator's convenience. - etc_sysconfig_vswitch.example - - Example configuration options for vswitch. - etc_xapi.d_plugins_vswitch-cfg-update xapi plugin script to update the cache of configuration items @@ -54,6 +50,11 @@ files are: needed by the controller. This is called by the "vif" script, which is run when virtual interfaces are added and removed. + root_vswitch_scripts_sysconfig.template + + Template for vswitch's /etc/sysconfig/vswitch configuration + file. + usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py xsconsole plugin to configure the pool-wide configuration keys diff --git a/xenserver/automake.mk b/xenserver/automake.mk index ceebb9d9..deb79bc8 100644 --- a/xenserver/automake.mk +++ b/xenserver/automake.mk @@ -11,10 +11,10 @@ EXTRA_DIST += \ xenserver/etc_init.d_vswitch-xapi-update \ xenserver/etc_logrotate.d_vswitch \ xenserver/etc_profile.d_vswitch.sh \ - xenserver/etc_sysconfig_vswitch.example \ xenserver/etc_xapi.d_plugins_vswitch-cfg-update \ xenserver/etc_xensource_scripts_vif \ xenserver/opt_xensource_libexec_interface-reconfigure \ + xenserver/root_vswitch_scripts_sysconfig.template \ xenserver/root_vswitch_scripts_dump-vif-details \ xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py \ xenserver/usr_sbin_brctl \ diff --git a/xenserver/etc_sysconfig_vswitch.example b/xenserver/root_vswitch_scripts_sysconfig.template similarity index 100% rename from xenserver/etc_sysconfig_vswitch.example rename to xenserver/root_vswitch_scripts_sysconfig.template diff --git a/xenserver/vswitch-xen.spec b/xenserver/vswitch-xen.spec index fda211af..a9c3402a 100644 --- a/xenserver/vswitch-xen.spec +++ b/xenserver/vswitch-xen.spec @@ -51,8 +51,6 @@ install -m 755 xenserver/etc_init.d_vswitch \ install -m 755 xenserver/etc_init.d_vswitch-xapi-update \ $RPM_BUILD_ROOT/etc/init.d/vswitch-xapi-update install -d -m 755 $RPM_BUILD_ROOT/etc/sysconfig -install -m 755 xenserver/etc_sysconfig_vswitch.example \ - $RPM_BUILD_ROOT/etc/sysconfig/vswitch.example install -d -m 755 $RPM_BUILD_ROOT/etc/logrotate.d install -m 755 xenserver/etc_logrotate.d_vswitch \ $RPM_BUILD_ROOT/etc/logrotate.d/vswitch @@ -73,6 +71,8 @@ install -m 755 xenserver/usr_sbin_xen-bugtool \ $RPM_BUILD_ROOT%{_prefix}/scripts/xen-bugtool install -m 755 xenserver/usr_sbin_brctl \ $RPM_BUILD_ROOT%{_prefix}/scripts/brctl +install -m 755 xenserver/root_vswitch_scripts_sysconfig.template \ + $RPM_BUILD_ROOT/root/vswitch/scripts/sysconfig.template install -m 644 \ xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py \ $RPM_BUILD_ROOT%{_prefix}/scripts/XSFeatureVSwitch.py @@ -207,6 +207,21 @@ fi # Ensure ovs-vswitchd.conf exists touch /etc/ovs-vswitchd.conf +# Create default or update existing /etc/sysconfig/vswitch. +SYSCONFIG=/etc/sysconfig/vswitch +TEMPLATE=/root/vswitch/scripts/sysconfig.template +if [ ! -e $SYSCONFIG ]; then + cp $TEMPLATE $SYSCONFIG +else + for var in $(awk -F'[ :]' '/^# [_A-Z0-9]+:/{print $2}' $TEMPLATE) + do + if ! grep $var $SYSCONFIG >/dev/null 2>&1; then + echo >> $SYSCONFIG + sed -n "/$var:/,/$var=/p" $TEMPLATE >> $SYSCONFIG + fi + done +fi + # Replace XenServer files by our versions. mkdir -p %{_prefix}/xs-original \ || printf "Could not create script backup directory.\n" @@ -307,7 +322,6 @@ fi /etc/init.d/vswitch /etc/init.d/vswitch-xapi-update /etc/xapi.d/plugins/vswitch-cfg-update -/etc/sysconfig/vswitch.example /etc/logrotate.d/vswitch /etc/profile.d/vswitch.sh /root/vswitch/kernel_modules/brcompat_mod.ko @@ -319,6 +333,7 @@ fi /root/vswitch/scripts/xen-bugtool /root/vswitch/scripts/XSFeatureVSwitch.py /root/vswitch/scripts/brctl +/root/vswitch/scripts/sysconfig.template # Following two files are generated automatically by rpm. We don't # really need them and they won't be used on the XenServer, but there # isn't an obvious place to get rid of them since they are generated -- 2.30.2