From 38d1b0332c145b8e6f642c393d2922bbbcc8ef438a113d0c16ed740a3c0f7adb Mon Sep 17 00:00:00 2001 From: Marcus Rueckert Date: Wed, 9 Mar 2016 17:19:55 +0000 Subject: [PATCH 1/6] Accepting request 368475 from home:k_mroz:branches:network - Add additional install requirements for python-openvswitch-test package. - Add support for building both 2.4.0 and 2.5.0 from the same spec file. Needed to fix SLE11 builds as OVS-2.5.0 no longer supports python < 2.7. SLE11 SP3 and SP4 use python 2.6. - Added: openvswitch-2.4.0.tar.gz - New upstream version 2.5.0 (LTS) - Dropped support for Python older than version 2.7. As a consequence, using Open vSwitch 2.5 or later on XenServer 6.5 or earlier (which have Python 2.4) requires first installing Python 2.7. - OpenFlow: * Group chaining (where one OpenFlow group triggers another) is now supported. * OpenFlow 1.4+ "importance" is now considered for flow eviction. * OpenFlow 1.4+ OFPTC_EVICTION is now implemented. * OpenFlow 1.4+ OFPTC_VACANCY_EVENTS is now implemented. * OpenFlow 1.4+ OFPMP_TABLE_DESC is now implemented. * Allow modifying the ICMPv4/ICMPv6 type and code fields. * OpenFlow 1.4+ OFPT_SET_ASYNC_CONFIG and OFPT_GET_ASYNC_CONFIG are now implemented. - ovs-ofctl: * New "out_group" keyword for OpenFlow 1.1+ matching on output group. - Tunnels: * Geneve tunnels can now match and set options and the OAM bit. * The nonstandard GRE64 tunnel extension has been dropped. - Support Multicast Listener Discovery (MLDv1 and MLDv2). - Add 'symmetric_l3l4' and 'symmetric_l3l4+udp' hash functions. - sFlow agent now reports tunnel and MPLS structures. OBS-URL: https://build.opensuse.org/request/show/368475 OBS-URL: https://build.opensuse.org/package/show/network/openvswitch?expand=0&rev=79 --- openvswitch-2.5.0.tar.gz | 3 + openvswitch-testcontroller.init | 278 ++++++++++++++++++++++++++++++++ openvswitch.changes | 71 ++++++++ openvswitch.spec | 116 +++++++++++++ ovn-controller-vtep.service | 30 ++++ ovn-controller.service | 22 +++ ovn-northd.service | 12 ++ 7 files changed, 532 insertions(+) create mode 100644 openvswitch-2.5.0.tar.gz create mode 100644 openvswitch-testcontroller.init create mode 100644 ovn-controller-vtep.service create mode 100644 ovn-controller.service create mode 100644 ovn-northd.service diff --git a/openvswitch-2.5.0.tar.gz b/openvswitch-2.5.0.tar.gz new file mode 100644 index 0000000..b6fee9f --- /dev/null +++ b/openvswitch-2.5.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34da54fbad503205b1a66b48ca4312679e1ce5b04763a9fb86050b2b25d66f21 +size 4603077 diff --git a/openvswitch-testcontroller.init b/openvswitch-testcontroller.init new file mode 100644 index 0000000..b2aa0e6 --- /dev/null +++ b/openvswitch-testcontroller.init @@ -0,0 +1,278 @@ +#!/bin/sh +# +# Copyright (c) 2011, 2014 Nicira, Inc. +# Copyright (c) 2007, 2009 Javier Fernandez-Sanguino +# +# This is free software; you may redistribute it and/or modify +# it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2, +# or (at your option) any later version. +# +# This is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License with +# the Debian operating system, in /usr/share/common-licenses/GPL; if +# not, write to the Free Software Foundation, Inc., 59 Temple Place, +# Suite 330, Boston, MA 02111-1307 USA +# +### BEGIN INIT INFO +# Provides: openvswitch-testcontroller +# Required-Start: $network $local_fs $remote_fs +# Required-Stop: $remote_fs +# Should-Start: $named +# Should-Stop: $null +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Simple OpenFlow controller for testing +# Description: This controller enables OpenFlow switches that connect to +# it to act as MAC-learning Ethernet switches. +### END INIT INFO + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin + +DAEMON=/usr/bin/ovs-testcontroller # Introduce the server's location here +NAME=ovs-testcontroller # Introduce the short server's name here +DESC=ovs-testcontroller # Introduce a short description here +LOGDIR=/var/log/openvswitch # Log directory to use + +PIDFILE=/var/run/openvswitch/$NAME.pid + +test -x $DAEMON || exit 0 + +. /lib/lsb/init-functions + +# Default options, these can be overriden by the information +# at /etc/default/openvswitch-testcontroller +DAEMON_OPTS="" # Additional options given to the server + +DODTIME=10 # Time to wait for the server to die, in seconds + # If this value is set too low you might not + # let some servers to die gracefully and + # 'restart' will not work + +LOGFILE=$LOGDIR/$NAME.log # Server logfile +#DAEMONUSER= # User to run the daemons as. If this value + # is set start-stop-daemon will chuid the server + +# Include defaults if available +default=/etc/default/openvswitch-testcontroller +if [ -f $default ] ; then + . $default +fi + +# Check that the user exists (if we set a user) +# Does the user exist? +if [ -n "$DAEMONUSER" ] ; then + if getent passwd | grep -q "^$DAEMONUSER:"; then + # Obtain the uid and gid + DAEMONUID=`getent passwd |grep "^$DAEMONUSER:" | awk -F : '{print $3}'` + DAEMONGID=`getent passwd |grep "^$DAEMONUSER:" | awk -F : '{print $4}'` + else + log_failure_msg "The user $DAEMONUSER, required to run $NAME does not exist." + exit 1 + fi +fi + + +set -e + +running_pid() { +# Check if a given process pid's cmdline matches a given name + pid=$1 + name=$2 + [ -z "$pid" ] && return 1 + [ ! -d /proc/$pid ] && return 1 + cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1` + # Is this the expected server + [ "$cmd" != "$name" ] && return 1 + return 0 +} + +running() { +# Check if the process is running looking at /proc +# (works for all users) + + # No pidfile, probably no daemon present + [ ! -f "$PIDFILE" ] && return 1 + pid=`cat $PIDFILE` + running_pid $pid $DAEMON || return 1 + return 0 +} + +start_server() { + if [ -z "$LISTEN" ]; then + echo "$default: No connection methods configured, controller disabled" >&2 + exit 0 + fi + + if [ ! -d /var/run/openvswitch ]; then + install -d -m 755 -o root -g root /var/run/openvswitch + fi + + SSL_OPTS= + case $LISTEN in + *ssl*) + : ${PRIVKEY:=/etc/openvswitch-testcontroller/privkey.pem} + : ${CERT:=/etc/openvswitch-testcontroller/cert.pem} + : ${CACERT:=/etc/openvswitch-testcontroller/cacert.pem} + if test ! -e "$PRIVKEY" || test ! -e "$CERT" || + test ! -e "$CACERT"; then + if test ! -e "$PRIVKEY"; then + echo "$PRIVKEY: private key missing" >&2 + fi + if test ! -e "$CERT"; then + echo "$CERT: certificate for private key missing" >&2 + fi + if test ! -e "$CACERT"; then + echo "$CACERT: CA certificate missing" >&2 + fi + exit 1 + fi + SSL_OPTS="--private-key=$PRIVKEY --certificate=$CERT --ca-cert=$CACERT" + ;; + esac + +# Start the process using the wrapper + if [ -z "$DAEMONUSER" ] ; then + start-stop-daemon --start --pidfile $PIDFILE \ + --exec $DAEMON -- --detach --pidfile=$PIDFILE \ + $LISTEN $DAEMON_OPTS $SSL_OPTS + errcode=$? + else +# if we are using a daemonuser then change the user id + start-stop-daemon --start --quiet --pidfile $PIDFILE \ + --chuid $DAEMONUSER --exec $DAEMON -- \ + --detach --pidfile=$PIDFILE $LISTEN $DAEMON_OPTS \ + $SSL_OPTS + errcode=$? + fi + return $errcode +} + +stop_server() { +# Stop the process using the wrapper + if [ -z "$DAEMONUSER" ] ; then + start-stop-daemon --stop --quiet --pidfile $PIDFILE \ + --exec $DAEMON + errcode=$? + else +# if we are using a daemonuser then look for process that match + start-stop-daemon --stop --quiet --pidfile $PIDFILE \ + --user $DAEMONUSER --exec $DAEMON + errcode=$? + fi + + return $errcode +} + +reload_server() { + [ ! -f "$PIDFILE" ] && return 1 + pid=`cat $PIDFILE` # This is the daemon's pid + # Send a SIGHUP + kill -1 $pid + return $? +} + +force_stop() { +# Force the process to die killing it manually + [ ! -e "$PIDFILE" ] && return + if running ; then + kill -15 $pid + # Is it really dead? + sleep "$DODTIME" + if running ; then + kill -9 $pid + sleep "$DODTIME" + if running ; then + echo "Cannot kill $NAME (pid=$pid)!" + exit 1 + fi + fi + fi + rm -f $PIDFILE +} + + +case "$1" in + start) + log_daemon_msg "Starting $DESC " "$NAME" + # Check if it's running first + if running ; then + log_progress_msg "apparently already running" + log_end_msg 0 + exit 0 + fi + if start_server && running ; then + # It's ok, the server started and is running + log_end_msg 0 + else + # Either we could not start it or it is not running + # after we did + # NOTE: Some servers might die some time after they start, + # this code does not try to detect this and might give + # a false positive (use 'status' for that) + log_end_msg 1 + fi + ;; + stop) + log_daemon_msg "Stopping $DESC" "$NAME" + if running ; then + # Only stop the server if we see it running + stop_server + log_end_msg $? + else + # If it's not running don't do anything + log_progress_msg "apparently not running" + log_end_msg 0 + exit 0 + fi + ;; + force-stop) + # First try to stop gracefully the program + $0 stop + if running; then + # If it's still running try to kill it more forcefully + log_daemon_msg "Stopping (force) $DESC" "$NAME" + force_stop + log_end_msg $? + fi + ;; + restart|force-reload) + log_daemon_msg "Restarting $DESC" "$NAME" + if running; then + stop_server + # Wait some sensible amount, some server need this. + [ -n "$DODTIME" ] && sleep $DODTIME + fi + start_server + running + log_end_msg $? + ;; + status) + + log_daemon_msg "Checking status of $DESC" "$NAME" + if running ; then + log_progress_msg "running" + log_end_msg 0 + else + log_progress_msg "apparently not running" + log_end_msg 1 + exit 1 + fi + ;; + # Use this if the daemon cannot reload + reload) + log_warning_msg "Reloading $NAME daemon: not implemented, as the daemon" + log_warning_msg "cannot re-read the config file (use restart)." + ;; + *) + N=/etc/init.d/openvswitch-testcontroller + echo "Usage: $N {start|stop|force-stop|restart|force-reload|status}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/openvswitch.changes b/openvswitch.changes index 1ba3731..8877662 100644 --- a/openvswitch.changes +++ b/openvswitch.changes @@ -1,3 +1,74 @@ +------------------------------------------------------------------- +Tue Mar 8 13:16:03 UTC 2016 - kmroz@suse.com + +- Add additional install requirements for python-openvswitch-test + package. + +------------------------------------------------------------------- +Fri Mar 4 14:38:16 UTC 2016 - kmroz@suse.com + +- Add support for building both 2.4.0 and 2.5.0 from the same spec + file. Needed to fix SLE11 builds as OVS-2.5.0 no longer supports + python < 2.7. SLE11 SP3 and SP4 use python 2.6. +- Added: openvswitch-2.4.0.tar.gz + +------------------------------------------------------------------- +Thu Mar 3 13:47:04 UTC 2016 - kmroz@suse.com + +- New upstream version 2.5.0 (LTS) + - Dropped support for Python older than version 2.7. As a consequence, + using Open vSwitch 2.5 or later on XenServer 6.5 or earlier (which + have Python 2.4) requires first installing Python 2.7. + - OpenFlow: + * Group chaining (where one OpenFlow group triggers another) is + now supported. + * OpenFlow 1.4+ "importance" is now considered for flow eviction. + * OpenFlow 1.4+ OFPTC_EVICTION is now implemented. + * OpenFlow 1.4+ OFPTC_VACANCY_EVENTS is now implemented. + * OpenFlow 1.4+ OFPMP_TABLE_DESC is now implemented. + * Allow modifying the ICMPv4/ICMPv6 type and code fields. + * OpenFlow 1.4+ OFPT_SET_ASYNC_CONFIG and OFPT_GET_ASYNC_CONFIG are + now implemented. + - ovs-ofctl: + * New "out_group" keyword for OpenFlow 1.1+ matching on output group. + - Tunnels: + * Geneve tunnels can now match and set options and the OAM bit. + * The nonstandard GRE64 tunnel extension has been dropped. + - Support Multicast Listener Discovery (MLDv1 and MLDv2). + - Add 'symmetric_l3l4' and 'symmetric_l3l4+udp' hash functions. + - sFlow agent now reports tunnel and MPLS structures. + - New 'check-system-userspace', 'check-kmod' and 'check-kernel' Makefile + targets to run a new system testsuite. These tests can be run inside + a Vagrant box. See INSTALL.md for details + - Mark --syslog-target argument as deprecated. It will be removed in + the next OVS release. + - Added --user option to all daemons + - Add support for connection tracking through the new "ct" action + and "ct_state"/"ct_zone"/"ct_mark"/"ct_label" match fields. Only + available on Linux kernels with the connection tracking module loaded. + - Add experimental version of OVN. OVN, the Open Virtual Network, is a + system to support virtual network abstraction. OVN complements the + existing capabilities of OVS to add native support for virtual network + abstractions, such as virtual L2 and L3 overlays and security groups. + - RHEL packaging: + * DPDK ports may now be created via network scripts (see README.RHEL). + - DPDK: + * Requires DPDK 2.2 + * Added multiqueue support to vhost-user + * Note: QEMU 2.5+ required for multiqueue support + - SELinux: + * Introduced SELinux policy package. + +- New package: openvswitch-ovn +- Removed: openvswitch-2.4.0.tar.gg +- Added: openvswitch-2.5.0.tar.gg +- Added: openvswitch-testcontroller.init +- Added: ovn-controller-vtep.service +- Added: ovn-controller.service +- Added: ovn-northd.service +- TODO: Explicit DPDK support not yet added to spec. +- Spec file work and cleanup. + ------------------------------------------------------------------- Tue Mar 1 08:43:19 UTC 2016 - kmroz@suse.com diff --git a/openvswitch.spec b/openvswitch.spec index f3405b1..8c7104c 100644 --- a/openvswitch.spec +++ b/openvswitch.spec @@ -24,8 +24,13 @@ %bcond_with gui Name: openvswitch +%if 0%{?suse_version} > 1110 +Version: 2.5.0 +Release: 0 +%else Version: 2.4.0 Release: 0 +%endif Summary: An open source, production quality, multilayer virtual switch License: Apache-2.0 Group: Productivity/Networking/System @@ -37,8 +42,14 @@ Source4: openvswitch-switch.logrotate Source5: openvswitch-vtep.init Source6: openvswitch-ipsec.init Source7: openvswitch.service +Source8: openvswitch-testcontroller.init Source10: Module.supported Source11: Module.supported.updates +%if 0%{?suse_version} > 1110 +Source12: ovn-controller.service +Source13: ovn-controller-vtep.service +Source14: ovn-northd.service +%endif Source99: README.packager Patch2: log-check-module-loop.patch BuildRequires: autoconf @@ -146,6 +157,22 @@ the Open vSwitch kernel-based switch. Open vSwitch is a full-featured software-based Ethernet switch. +%if 0%{?suse_version} > 1110 +%package ovn +Summary: Open vSwitch - Open Virtual Network support +License: Apache-2.0 +Group: Productivity/Networking/System +Requires: openvswitch = %{version} +Requires: openvswitch-switch = %{version} +Requires: openvswitch-vtep = %{version} + +%description ovn +OVN, the Open Virtual Network, is a system to support virtual network +abstraction. OVN complements the existing capabilities of OVS to add +native support for virtual network abstractions, such as virtual L2 and L3 +overlays and security groups. +%endif + %package pki Summary: Open vSwitch public key infrastructure dependency package License: Apache-2.0 @@ -164,6 +191,7 @@ Summary: Open vSwitch VTEP emulator License: Apache-2.0 Group: Productivity/Networking/System Requires: openvswitch = %{version} +Requires: openvswitch-switch = %{version} # Since openvswitch/scripts/ovs-vtep requires various ovs python modules. Requires: python-openvswitch = %{version} @@ -195,6 +223,7 @@ Open vSwitch is a full-featured software-based Ethernet switch. Summary: Python bindings for Open vSwitch License: Python-2.0 Group: Productivity/Networking/System +Requires: openvswitch = %{version} Requires: python %description -n python-openvswitch @@ -204,7 +233,10 @@ This package contains the full Python bindings for Open vSwitch database. Summary: Python bindings for Open vSwitch License: Python-2.0 Group: Productivity/Networking/System +Requires: openvswitch = %{version} Requires: python +Requires: python-openvswitch = %{version} +Requires: python-twisted %description -n python-openvswitch-test This package contains the full Python bindings for Open vSwitch database. @@ -240,6 +272,7 @@ Open vSwitch is a full-featured software-based Ethernet switch. Summary: Open vSwitch test package License: Apache-2.0 Group: Productivity/Networking/System +Requires: openvswitch = %{version} Requires: python Requires: python-argparse Requires: python-openvswitch-test = %{version} @@ -329,15 +362,25 @@ install -m 755 %{SOURCE2} \ %{buildroot}/%{_sysconfdir}/init.d/%{name}-switch install -m 755 %{SOURCE5} \ %{buildroot}/%{_sysconfdir}/init.d/%{name}-vtep +install -m 755 %{SOURCE8} \ + %{buildroot}/%{_sysconfdir}/init.d/%{name}-testcontroller %if 0%{?suse_version} > 1230 ln -sf %_sbindir/service %{buildroot}%{_sbindir}/rc%{name}-switch ln -sf %_sbindir/service %{buildroot}%{_sbindir}/rc%{name}-vtep +ln -sf %_sbindir/service %{buildroot}%{_sbindir}/rc%{name}-testcontroller install -D -m 644 %{SOURCE7} \ %{buildroot}%{_unitdir}/openvswitch.service +install -D -m 644 %{SOURCE12} \ + %{buildroot}%{_unitdir}/ovn-controller.service +install -D -m 644 %{SOURCE13} \ + %{buildroot}%{_unitdir}/ovn-controller-vtep.service +install -D -m 644 %{SOURCE14} \ + %{buildroot}%{_unitdir}/ovn-northd.service %else ln -sf %{_sysconfdir}/init.d/%{name}-switch %{buildroot}%{_sbindir}/rc%{name}-switch ln -sf %{_sysconfdir}/init.d/%{name}-vtep %{buildroot}%{_sbindir}/rc%{name}-vtep +ln -sf %{_sysconfdir}/init.d/%{name}-testcontroller %{buildroot}%{_sbindir}/rc%{name}-testcontroller %endif install -d -m 755 %{buildroot}/%{_sysconfdir}/sysconfig @@ -395,6 +438,44 @@ rmdir %{buildroot}%{_datadir}/%{name}/python %endif %insserv_cleanup +%if 0%{?suse_version} > 1110 +%pre ovn +%if 0%{?suse_version} > 1230 +%service_add_pre ovn-controller.service +%service_add_pre ovn-controller-vtep.service +%service_add_pre ovn-northd.service +%endif + +%post ovn +/sbin/ldconfig +%if 0%{?suse_version} > 1230 +%service_add_post ovn-controller.service +%service_add_post ovn-controller-vtep.service +%service_add_post ovn-northd.service +%endif + +%preun ovn +%if 0%{?suse_version} > 1230 +%service_del_preun ovn-controller.service +%service_del_preun ovn-controller-vtep.service +%service_del_preun ovn-northd.service +%endif + +%postun ovn +%if 0%{?suse_version} > 1230 +%service_del_postun ovn-controller.service +%service_del_postun ovn-controller-vtep.service +%service_del_postun ovn-northd.service +%endif +/sbin/ldconfig +%endif + +%preun test +%stop_on_removal openvswitch-testcontroller + +%postun test +%restart_on_update openvswitch-testcontroller + %post vtep -p /sbin/ldconfig %preun vtep @@ -513,6 +594,35 @@ rmdir %{buildroot}%{_datadir}/%{name}/python %endif %dir /var/log/openvswitch +%if 0%{?suse_version} > 1110 +%files ovn +%{_bindir}/ovn-controller +%{_bindir}/ovn-controller-vtep +%{_bindir}/ovn-docker-overlay-driver +%{_bindir}/ovn-docker-underlay-driver +%{_bindir}/ovn-nbctl +%{_bindir}/ovn-northd +%{_bindir}/ovn-sbctl +%{_datadir}/openvswitch/scripts/ovn-ctl +%{_libdir}/libovn.so.* +%{_mandir}/man5/ovn-nb.5* +%{_mandir}/man5/ovn-sb.5* +%{_mandir}/man7/ovn-architecture.7* +%{_mandir}/man8/ovn-controller.8* +%{_mandir}/man8/ovn-controller-vtep.8* +%{_mandir}/man8/ovn-ctl.8* +%{_mandir}/man8/ovn-nbctl.8* +%{_mandir}/man8/ovn-northd.8* +%{_mandir}/man8/ovn-sbctl.8* +%config %{_datadir}/openvswitch/ovn-nb.ovsschema +%config %{_datadir}/openvswitch/ovn-sb.ovsschema +%if 0%{?suse_version} > 1230 +%{_unitdir}/ovn-controller.service +%{_unitdir}/ovn-controller-vtep.service +%{_unitdir}/ovn-northd.service +%endif +%endif + %files test %defattr(-,root,root) %{_bindir}/ovs-test @@ -523,6 +633,8 @@ rmdir %{buildroot}%{_datadir}/%{name}/python %{_mandir}/man8/ovs-l3ping.8.gz %{_mandir}/man8/ovs-vlan-test.8.gz %{_mandir}/man8/ovs-testcontroller.8.gz +%{_sysconfdir}/init.d/openvswitch-testcontroller +%{_sbindir}/rc%{name}-testcontroller %files devel %defattr(-,root,root) @@ -530,6 +642,10 @@ rmdir %{buildroot}%{_datadir}/%{name}/python %{_libdir}/libofproto.la %{_libdir}/libopenvswitch.so %{_libdir}/libopenvswitch.la +%if 0%{?suse_version} > 1110 +%{_libdir}/libovn.so +%{_libdir}/libovn.la +%endif %{_libdir}/libovsdb.so %{_libdir}/libovsdb.la %{_libdir}/libsflow.so diff --git a/ovn-controller-vtep.service b/ovn-controller-vtep.service new file mode 100644 index 0000000..aecee9f --- /dev/null +++ b/ovn-controller-vtep.service @@ -0,0 +1,30 @@ +# +# You may override the following variables to customize ovn-controller-vtep +# behavior: +# +# OVN_DB - Set this variable to the location of the ovsdb server that is +# serving the OVN_Southbound database. See the manpage for +# ovn-controller-vtep for more details on the format for the db +# location. +# +# VTEP_DB - Set this variable to the location of the ovsdb server that is +# serving the hardware_vtep database. See the manpage for +# ovn-controller-vtep for more details on the format for the db +# location. +# + +[Unit] +Description=OVN VTEP gateway controller daemon +After=syslog.target +Requires=openvswitch.service +After=openvswitch.service + +[Service] +Type=simple +Environment=OVS_RUNDIR=%t/openvswitch +Environment=OVN_DB=unix:%t/openvswitch/db.sock +Environment=VTEP_DB=unix:%t/openvswitch/db.sock +ExecStart=/usr/bin/ovn-controller-vtep -vconsole:emer -vsyslog:err -vfile:info \ + --log-file=/var/log/openvswitch/ovn-controller-vtep.log \ + --no-chdir --pidfile=${OVS_RUNDIR}/ovn-controller-vtep.pid \ + --ovnsb-db=${OVN_DB} --vtep-db=${VTEP_DB} diff --git a/ovn-controller.service b/ovn-controller.service new file mode 100644 index 0000000..3ce772b --- /dev/null +++ b/ovn-controller.service @@ -0,0 +1,22 @@ +# +# You may override the following variables to customize ovn-controller behavior: +# +# OVS_DB - Set this variable to the location of the ovsdb server that is +# serving the Open_vSwitch database for the local ovs-vswitchd. +# See the manpage for ovn-controller for more details on the +# format for the db location. +# + +[Unit] +Description=OVN controller daemon +After=syslog.target +Requires=openvswitch.service +After=openvswitch.service + +[Service] +Type=simple +Environment=OVS_RUNDIR=%t/openvswitch +Environment=OVS_DB=unix:%t/openvswitch/db.sock +ExecStart=/usr/bin/ovn-controller -vconsole:emer -vsyslog:err -vfile:info \ + --log-file=/var/log/openvswitch/ovn-controller.log \ + --no-chdir --pidfile=${OVS_RUNDIR}/ovn-controller.pid ${OVS_DB} diff --git a/ovn-northd.service b/ovn-northd.service new file mode 100644 index 0000000..d692206 --- /dev/null +++ b/ovn-northd.service @@ -0,0 +1,12 @@ +[Unit] +Description=OVN northd management daemon +After=syslog.target +Requires=openvswitch.service +After=openvswitch.service + +[Service] +Type=oneshot +RemainAfterExit=yes +Environment=OVS_RUNDIR=%t/openvswitch OVS_DBDIR=/var/lib/openvswitch +ExecStart=/usr/share/openvswitch/scripts/ovn-ctl start_northd +ExecStop=/usr/share/openvswitch/scripts/ovn-ctl stop_northd From 6ad6021b5b9a6a1cc5af606a941c62a3da520a09dcfa5c22eca88bf92efd87b6 Mon Sep 17 00:00:00 2001 From: Lars Vogdt Date: Tue, 22 Mar 2016 14:18:08 +0000 Subject: [PATCH 2/6] Accepting request 375057 from home:k_mroz:branches:network - Add missing %defattr to ovn files section. OBS-URL: https://build.opensuse.org/request/show/375057 OBS-URL: https://build.opensuse.org/package/show/network/openvswitch?expand=0&rev=80 --- openvswitch.changes | 5 +++++ openvswitch.spec | 1 + 2 files changed, 6 insertions(+) diff --git a/openvswitch.changes b/openvswitch.changes index 8877662..d3fcd0c 100644 --- a/openvswitch.changes +++ b/openvswitch.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Mar 18 10:20:02 UTC 2016 - kmroz@suse.com + +- Add missing %defattr to ovn files section. + ------------------------------------------------------------------- Tue Mar 8 13:16:03 UTC 2016 - kmroz@suse.com diff --git a/openvswitch.spec b/openvswitch.spec index 8c7104c..84b7c86 100644 --- a/openvswitch.spec +++ b/openvswitch.spec @@ -596,6 +596,7 @@ rmdir %{buildroot}%{_datadir}/%{name}/python %if 0%{?suse_version} > 1110 %files ovn +%defattr(-,root,root) %{_bindir}/ovn-controller %{_bindir}/ovn-controller-vtep %{_bindir}/ovn-docker-overlay-driver From fa62e902578f9e9e1e3ace4d952441112157786488c0b10f14b5ab52097b0d0c Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Tue, 29 Mar 2016 19:50:45 +0000 Subject: [PATCH 3/6] OBS-URL: https://build.opensuse.org/package/show/network/openvswitch?expand=0&rev=81 --- openvswitch-2.4.0.tar.gz | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 openvswitch-2.4.0.tar.gz diff --git a/openvswitch-2.4.0.tar.gz b/openvswitch-2.4.0.tar.gz deleted file mode 100644 index 8ea48eb..0000000 --- a/openvswitch-2.4.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:424c5a8dea1c5b153e8c1803bb041d0495e81379fb6f386dd58ee903a7681b9a -size 4182154 From f3ed9feaf70002cb14943e174fde7b5e48dd2a799010c430f284fd43f427f559 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Tue, 29 Mar 2016 19:53:05 +0000 Subject: [PATCH 4/6] Accepting request 378276 from home:markoschandras:network - Prevent systemd from autogenerating a service file for openvswitch-switch which conflicts with the opevswitch one. (bsc#966762) OBS-URL: https://build.opensuse.org/request/show/378276 OBS-URL: https://build.opensuse.org/package/show/network/openvswitch?expand=0&rev=82 --- openvswitch.changes | 7 +++++++ openvswitch.service | 4 ++-- openvswitch.spec | 15 +++++++++++---- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/openvswitch.changes b/openvswitch.changes index d3fcd0c..4bc62d9 100644 --- a/openvswitch.changes +++ b/openvswitch.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Mar 22 18:06:40 UTC 2016 - mchandras@suse.de + +- Prevent systemd from autogenerating a service file for + openvswitch-switch which conflicts with the opevswitch + one. (bsc#966762) + ------------------------------------------------------------------- Fri Mar 18 10:20:02 UTC 2016 - kmroz@suse.com diff --git a/openvswitch.service b/openvswitch.service index ab2412d..c351d00 100644 --- a/openvswitch.service +++ b/openvswitch.service @@ -5,8 +5,8 @@ Before=network.service [Service] Type=oneshot -ExecStart=/etc/init.d/openvswitch-switch start -ExecStop=/etc/init.d/openvswitch-switch stop +ExecStart=/usr/share/openvswitch/scripts/openvswitch-switch start +ExecStop=/usr/share/openvswitch/scripts/openvswitch-switch stop RemainAfterExit=yes [Install] diff --git a/openvswitch.spec b/openvswitch.spec index 84b7c86..f8c6f5f 100644 --- a/openvswitch.spec +++ b/openvswitch.spec @@ -355,6 +355,7 @@ done pushd source %makeinstall +install -d -m 755 %{buildroot}/%{_datadir}/%{name}/scripts install -d -m 755 %{buildroot}/%{_sysconfdir}/init.d install -d -m 755 %{buildroot}%{_localstatedir}/adm/fillup-templates @@ -366,9 +367,13 @@ install -m 755 %{SOURCE8} \ %{buildroot}/%{_sysconfdir}/init.d/%{name}-testcontroller %if 0%{?suse_version} > 1230 -ln -sf %_sbindir/service %{buildroot}%{_sbindir}/rc%{name}-switch +ln -sf %_sbindir/service %{buildroot}%{_sbindir}/rc%{name} ln -sf %_sbindir/service %{buildroot}%{_sbindir}/rc%{name}-vtep ln -sf %_sbindir/service %{buildroot}%{_sbindir}/rc%{name}-testcontroller +# Move the openvswitch-switch rc file to the scripts directory +# to prevent systemd from autogenerating a unit file for us (bsc#966762) +mv %{buildroot}/%{_sysconfdir}/init.d/%{name}-switch \ + %{buildroot}/%{_datadir}/%{name}/scripts/%{name}-switch install -D -m 644 %{SOURCE7} \ %{buildroot}%{_unitdir}/openvswitch.service install -D -m 644 %{SOURCE12} \ @@ -391,7 +396,6 @@ install -m 644 %{SOURCE4} \ %{buildroot}/%{_sysconfdir}/logrotate.d/%{name}-switch install -d -m 755 %{buildroot}/%{_sysconfdir}/profile.d -install -d -m 755 %{buildroot}/%{_datadir}/%{name}/scripts install -m 644 vswitchd/vswitch.ovsschema \ %{buildroot}/%{_datadir}/%{name}/vswitch.ovsschema @@ -577,8 +581,6 @@ rmdir %{buildroot}%{_datadir}/%{name}/python %{_datadir}/openvswitch/scripts/ovs-save %{_datadir}/openvswitch/vswitch.ovsschema %{_sysconfdir}/bash_completion.d/ovs-vsctl-bashcomp.bash -%{_sysconfdir}/init.d/openvswitch-switch -%{_sbindir}/rc%{name}-switch %config(noreplace) %{_sysconfdir}/logrotate.d/openvswitch-switch %{_mandir}/man8/ovs-dpctl.8.gz %{_mandir}/man1/ovs-tcpundump.1.gz @@ -590,7 +592,12 @@ rmdir %{buildroot}%{_datadir}/%{name}/python %{_mandir}/man5/ovs-vswitchd.conf.db.5.gz %{_mandir}/man8/ovs-ctl.8.gz %if 0%{?suse_version} > 1230 +%{_sbindir}/rc%{name} %{_unitdir}/openvswitch.service +%{_datadir}/openvswitch/scripts/openvswitch-switch +%else +%{_sbindir}/rc%{name}-switch +%{_sysconfdir}/init.d/openvswitch-switch %endif %dir /var/log/openvswitch From 503e4a8fe854f9d6194cc14d95b02ff90e6512ae33e19bd86d36fcf03d51c07d Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Fri, 1 Apr 2016 10:39:37 +0000 Subject: [PATCH 5/6] - address dimstars concerns OBS-URL: https://build.opensuse.org/package/show/network/openvswitch?expand=0&rev=83 --- openvswitch.changes | 5 +++++ openvswitch.spec | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/openvswitch.changes b/openvswitch.changes index 4bc62d9..0a66f4a 100644 --- a/openvswitch.changes +++ b/openvswitch.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Apr 1 10:39:26 UTC 2016 - dmueller@suse.com + +- address dimstars concerns + ------------------------------------------------------------------- Tue Mar 22 18:06:40 UTC 2016 - mchandras@suse.de diff --git a/openvswitch.spec b/openvswitch.spec index f8c6f5f..8505e5c 100644 --- a/openvswitch.spec +++ b/openvswitch.spec @@ -652,7 +652,7 @@ rmdir %{buildroot}%{_datadir}/%{name}/python %{_libdir}/libopenvswitch.la %if 0%{?suse_version} > 1110 %{_libdir}/libovn.so -%{_libdir}/libovn.la +%exclude %{_libdir}/libovn.la %endif %{_libdir}/libovsdb.so %{_libdir}/libovsdb.la From 63ba3156ea53f16cf135460caccebdaf3f5ef6dec5f0961107c8abfe340fb11f Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Wed, 13 Apr 2016 08:33:39 +0000 Subject: [PATCH 6/6] OBS-URL: https://build.opensuse.org/package/show/network/openvswitch?expand=0&rev=84 --- openvswitch.spec | 5 ----- 1 file changed, 5 deletions(-) diff --git a/openvswitch.spec b/openvswitch.spec index 8505e5c..bd24c9f 100644 --- a/openvswitch.spec +++ b/openvswitch.spec @@ -24,13 +24,8 @@ %bcond_with gui Name: openvswitch -%if 0%{?suse_version} > 1110 Version: 2.5.0 Release: 0 -%else -Version: 2.4.0 -Release: 0 -%endif Summary: An open source, production quality, multilayer virtual switch License: Apache-2.0 Group: Productivity/Networking/System