aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Pfaff <blp@nicira.com>2009-09-03 14:28:44 -0700
committerBen Pfaff <blp@nicira.com>2009-09-03 14:28:44 -0700
commit692c92e092226edcbbbf45466fd31ac09323d526 (patch)
tree80401cec81f87ddd5f16368c2402548eaf11c28f
parentb1bdd85cab85bf7936685f7402e5b5b3df1d3df8 (diff)
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.
-rw-r--r--xenserver/README9
-rw-r--r--xenserver/automake.mk2
-rw-r--r--xenserver/root_vswitch_scripts_sysconfig.template (renamed from xenserver/etc_sysconfig_vswitch.example)0
-rw-r--r--xenserver/vswitch-xen.spec21
4 files changed, 24 insertions, 8 deletions
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
index 4bc4b190..4bc4b190 100644
--- a/xenserver/etc_sysconfig_vswitch.example
+++ b/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