[ovs-dev] [PATCH] xenserver: Install /etc/sysconfig/vswitch by default.

Justin Pettit jpettit at nicira.com
Thu Sep 3 22:32:17 UTC 2009


Looks good.  It's always nice when you can use awk and sed within 4  
lines of each other.

--Justin


On Sep 3, 2009, at 2:43 PM, Ben Pfaff wrote:

> 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 +-
> ...ple => 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 b940e3f..276cd6c 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 ceebb9d..deb79bc 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 fda211a..a9c3402 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
> -- 
> 1.6.3.3
>
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev_openvswitch.org





More information about the dev mailing list