Message ID | 20220805203452.3060165-5-frode.nordahl@canonical.com |
---|---|
State | Deferred |
Headers | show |
Series | debian: Update debian package source. | expand |
Context | Check | Description |
---|---|---|
ovsrobot/apply-robot | success | apply and check: success |
ovsrobot/github-robot-_Build_and_Test | fail | github build: failed |
ovsrobot/github-robot-_ovn-kubernetes | fail | github build: failed |
Ilya and Numan, I preemptively added your names to the commit message because the patch contains your work as detailed in the commit message. I hope this is ok. On Fri, Aug 5, 2022 at 10:35 PM Frode Nordahl <frode.nordahl@canonical.com> wrote: > > Update debian package source from Debian and Ubuntu. > > debian/ovn-common.logrotate comes from the RHEL packaging in this > tree, and author is credited below. > > The debian/automake.mk tricks to generate the copyright file while > building came from the work on the debian packaging in openvswitch > and author is credited below. > > Signed-off-by: James Page <james.page@ubuntu.com> > Co-Authored-by: James Page <james.page@ubuntu.com> > Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com> > Co-Authored-by: Christian Ehrhardt <christian.ehrhardt@canonical.com> > Signed-off-by: Numan Siddique <numans@ovn.org> > Co-Authored-by: Numan Siddique <numans@ovn.org> > Signed-off-by: Ilya Maximets <i.maximets@ovn.org> > Co-Authored-by: Ilya Maximets <i.maximets@ovn.org> > Signed-off-by: Frode Nordahl <frode.nordahl@canonical.com> > --- > build-aux/initial-tab-whitelist | 3 +- > debian/.gitignore | 17 ++ > debian/automake.mk | 85 ++++++++- > debian/control | 176 ++++++++++++++++++ > debian/copyright.in | 146 +++++++++++++++ > debian/flaky-tests-amd64.txt | 6 + > debian/flaky-tests-arm64.txt | 5 + > debian/flaky-tests-armel.txt | 7 + > debian/flaky-tests-armhf.txt | 9 + > debian/flaky-tests-i386.txt | 8 + > debian/flaky-tests-mips64el.txt | 5 + > debian/flaky-tests-mipsel.txt | 21 +++ > debian/flaky-tests-ppc64el.txt | 6 + > debian/flaky-tests-riscv64.txt | 6 + > debian/flaky-tests-s390x.txt | 5 + > debian/gbp.conf | 13 ++ > debian/not-installed | 5 + > debian/ovn-central.default | 5 + > debian/ovn-central.install | 3 + > debian/ovn-central.ovn-northd.service | 15 ++ > .../ovn-central.ovn-ovsdb-server-nb.service | 18 ++ > .../ovn-central.ovn-ovsdb-server-sb.service | 18 ++ > debian/ovn-central.postrm | 47 +++++ > debian/ovn-central.service | 16 ++ > debian/ovn-common.docs | 1 + > debian/ovn-common.install | 32 ++++ > debian/ovn-common.logrotate | 22 +++ > debian/ovn-common.postinst | 24 +++ > debian/ovn-common.postrm | 23 +++ > debian/ovn-controller-vtep.install | 1 + > debian/ovn-controller-vtep.service | 16 ++ > debian/ovn-doc.doc-base | 9 + > debian/ovn-doc.install | 1 + > debian/ovn-docker.install | 2 + > debian/ovn-host.default | 5 + > debian/ovn-host.install | 1 + > debian/ovn-host.ovn-controller.service | 15 ++ > debian/ovn-host.postrm | 43 +++++ > debian/ovn-host.service | 14 ++ > debian/ovn-ic-db.install | 2 + > .../ovn-ic-db.ovn-ovsdb-server-ic-nb.service | 15 ++ > .../ovn-ic-db.ovn-ovsdb-server-ic-sb.service | 15 ++ > debian/ovn-ic-db.service | 15 ++ > debian/ovn-ic.install | 1 + > debian/ovn-ic.service | 16 ++ > debian/rules | 104 +++++++++++ > debian/source/format | 1 + > debian/source/include-binaries | 1 + > debian/testlist.py | 72 +++++++ > debian/watch | 5 + > 50 files changed, 1098 insertions(+), 3 deletions(-) > create mode 100644 debian/.gitignore > create mode 100644 debian/control > create mode 100644 debian/copyright.in > create mode 100644 debian/flaky-tests-amd64.txt > create mode 100644 debian/flaky-tests-arm64.txt > create mode 100644 debian/flaky-tests-armel.txt > create mode 100644 debian/flaky-tests-armhf.txt > create mode 100644 debian/flaky-tests-i386.txt > create mode 100644 debian/flaky-tests-mips64el.txt > create mode 100644 debian/flaky-tests-mipsel.txt > create mode 100644 debian/flaky-tests-ppc64el.txt > create mode 100644 debian/flaky-tests-riscv64.txt > create mode 100644 debian/flaky-tests-s390x.txt > create mode 100644 debian/gbp.conf > create mode 100644 debian/not-installed > create mode 100644 debian/ovn-central.default > create mode 100644 debian/ovn-central.install > create mode 100644 debian/ovn-central.ovn-northd.service > create mode 100644 debian/ovn-central.ovn-ovsdb-server-nb.service > create mode 100644 debian/ovn-central.ovn-ovsdb-server-sb.service > create mode 100644 debian/ovn-central.postrm > create mode 100644 debian/ovn-central.service > create mode 100644 debian/ovn-common.docs > create mode 100644 debian/ovn-common.install > create mode 100644 debian/ovn-common.logrotate > create mode 100644 debian/ovn-common.postinst > create mode 100644 debian/ovn-common.postrm > create mode 100644 debian/ovn-controller-vtep.install > create mode 100644 debian/ovn-controller-vtep.service > create mode 100644 debian/ovn-doc.doc-base > create mode 100644 debian/ovn-doc.install > create mode 100644 debian/ovn-docker.install > create mode 100644 debian/ovn-host.default > create mode 100644 debian/ovn-host.install > create mode 100644 debian/ovn-host.ovn-controller.service > create mode 100644 debian/ovn-host.postrm > create mode 100644 debian/ovn-host.service > create mode 100644 debian/ovn-ic-db.install > create mode 100644 debian/ovn-ic-db.ovn-ovsdb-server-ic-nb.service > create mode 100644 debian/ovn-ic-db.ovn-ovsdb-server-ic-sb.service > create mode 100644 debian/ovn-ic-db.service > create mode 100644 debian/ovn-ic.install > create mode 100644 debian/ovn-ic.service > create mode 100755 debian/rules > create mode 100644 debian/source/format > create mode 100644 debian/source/include-binaries > create mode 100755 debian/testlist.py > create mode 100644 debian/watch > > diff --git a/build-aux/initial-tab-whitelist b/build-aux/initial-tab-whitelist > index b2f5a0791..71d4f007d 100644 > --- a/build-aux/initial-tab-whitelist > +++ b/build-aux/initial-tab-whitelist > @@ -6,6 +6,5 @@ > ^ovs/ > ^third-party/ > ^xenserver/ > -^debian/rules.modules$ > -^debian/rules$ > +^debian/ > ^\.gitmodules$ > diff --git a/debian/.gitignore b/debian/.gitignore > new file mode 100644 > index 000000000..d2393b3fd > --- /dev/null > +++ b/debian/.gitignore > @@ -0,0 +1,17 @@ > +*.debhelper > +*.debhelper.log > +*.substvars > +/autoreconf.after > +/autoreconf.before > +/copyright > +/files > +/ovn-common > +/ovn-controller-vtep > +/ovn-host > +/ovn-central > +/ovn-docker > +/debhelper-build-stamp > +/ovn-doc/ > +/ovn-ic-db/ > +/ovn-ic/ > +/tmp > diff --git a/debian/automake.mk b/debian/automake.mk > index ce11fd040..d199c925d 100644 > --- a/debian/automake.mk > +++ b/debian/automake.mk > @@ -1,2 +1,85 @@ > EXTRA_DIST += \ > - debian/changelog > + debian/changelog \ > + debian/control \ > + debian/copyright.in \ > + debian/flaky-tests-amd64.txt \ > + debian/flaky-tests-arm64.txt \ > + debian/flaky-tests-armel.txt \ > + debian/flaky-tests-armhf.txt \ > + debian/flaky-tests-i386.txt \ > + debian/flaky-tests-mips64el.txt \ > + debian/flaky-tests-mipsel.txt \ > + debian/flaky-tests-ppc64el.txt \ > + debian/flaky-tests-riscv64.txt \ > + debian/flaky-tests-s390x.txt \ > + debian/gbp.conf \ > + debian/not-installed \ > + debian/ovn-central.default \ > + debian/ovn-central.install \ > + debian/ovn-central.ovn-northd.service \ > + debian/ovn-central.postrm \ > + debian/ovn-central.service \ > + debian/ovn-common.docs \ > + debian/ovn-common.install \ > + debian/ovn-common.logrotate \ > + debian/ovn-common.postinst \ > + debian/ovn-common.postrm \ > + debian/ovn-controller-vtep.install \ > + debian/ovn-controller-vtep.service \ > + debian/ovn-doc.doc-base \ > + debian/ovn-doc.install \ > + debian/ovn-docker.install \ > + debian/ovn-host.default \ > + debian/ovn-host.install \ > + debian/ovn-host.ovn-controller.service \ > + debian/ovn-host.postrm \ > + debian/ovn-host.service \ > + debian/ovn-ic-db.install \ > + debian/ovn-ic-db.service \ > + debian/ovn-ic.install \ > + debian/ovn-ic.service \ > + debian/rules \ > + debian/source/format \ > + debian/source/include-binaries \ > + debian/testlist.py \ > + debian/watch > + > +check-debian-changelog-version: > + @DEB_VERSION=`echo '$(VERSION)' | sed 's/pre/~pre/'`; \ > + if $(FGREP) '($(DEB_VERSION)' $(srcdir)/debian/changelog >/dev/null; \ > + then \ > + :; \ > + else \ > + echo "Update debian/changelog to mention version $(VERSION)"; \ > + exit 1; \ > + fi > +ALL_LOCAL += check-debian-changelog-version > +DIST_HOOKS += check-debian-changelog-version > + > +update_deb_copyright = \ > + $(AM_V_GEN) \ > + { sed -n -e '/%AUTHORS%/q' -e p < $(srcdir)/debian/copyright.in; \ > + tail -n +28 $(srcdir)/AUTHORS.rst | sed '1,/^$$/d' | \ > + sed -n -e '/^$$/q' -e 's/^/ /p'; \ > + sed -e '1,/%AUTHORS%/d' $(srcdir)/debian/copyright.in; \ > + } > debian/copyright > + > +debian/copyright: AUTHORS.rst debian/copyright.in > + $(update_deb_copyright) > + > +CLEANFILES += debian/copyright > + > +debian: debian/copyright > +.PHONY: debian > + > +debian-deb: debian > + @if test X"$(srcdir)" != X"$(top_builddir)"; then \ > + echo "Debian packages should be built from $(abs_srcdir)/"; \ > + exit 1; \ > + fi > + $(MAKE) distclean > + $(update_deb_copyright) > + $(update_deb_control) > + $(AM_V_GEN) fakeroot debian/rules clean > + $(AM_V_GEN) DEB_BUILD_OPTIONS="nocheck parallel=`nproc`" \ > + fakeroot debian/rules binary > diff --git a/debian/control b/debian/control > new file mode 100644 > index 000000000..a6f395842 > --- /dev/null > +++ b/debian/control > @@ -0,0 +1,176 @@ > +Source: ovn > +Section: net > +Priority: optional > +Maintainer: OVN developers <dev@openvswitch.org> > +Build-Depends: > + autoconf, > + automake, > + bzip2, > + debhelper-compat (= 10), > + dh-python, > + graphviz, > + libcap-ng-dev, > + libnuma-dev [amd64 i386 ppc64el arm64], > + libpcap-dev [amd64 i386 ppc64el arm64], > + libssl-dev, > + libtool, > + libudev-dev, > + libunbound-dev, > + openssl, > + openstack-pkg-tools, > + openvswitch-source (>= 2.17.2-3~), > + pkg-config, > + procps, > + python3-all-dev, > + python3-setuptools, > + python3-sortedcontainers, > + python3-sphinx, > + tcpdump, > +Standards-Version: 4.6.1 > +Homepage: https://www.ovn.org/ > + > +Package: ovn-central > +Architecture: linux-any > +Pre-Depends: ${misc:Pre-Depends}, > +Depends: > + lsb-base, > + lsb-release, > + openvswitch-common (>= 2.17.0~), > + ovn-common (= ${binary:Version}), > + ${misc:Depends}, > + ${shlibs:Depends}, > +Description: OVN central components > + 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. > + . > + ovn-central provides the userspace daemons, utilities and > + databases for OVN that is run at a central location. > + > +Package: ovn-common > +Architecture: linux-any > +Depends: > + ${misc:Depends}, > + ${python3:Depends}, > + ${shlibs:Depends}, > +Breaks: > + ovn-ic-db (<< 22.03~), > +Replaces: > + ovn-ic-db (<< 22.03~), > +Description: OVN common components > + 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. > + . > + ovn-common provides components required by other OVN packages. > + > +Package: ovn-controller-vtep > +Architecture: linux-any > +Pre-Depends: ${misc:Pre-Depends}, > +Depends: > + lsb-base, > + ovn-common (= ${binary:Version}), > + ${misc:Depends}, > + ${shlibs:Depends}, > +Description: OVN vtep controller > + ovn-controller-vtep is the local controller daemon in OVN, the Open Virtual > + Network, for VTEP enabled physical switches. It connects up to the OVN > + Southbound database over the OVSDB protocol, and down to the VTEP database > + over the OVSDB protocol. > + . > + ovn-controller-vtep provides the ovn-controller-vtep binary for controlling > + vtep gateways. > + > +Package: ovn-doc > +Section: doc > +Architecture: all > +Depends: > + ${misc:Depends}, > + ${sphinxdoc:Depends}, > +Description: OVN documentation > + 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. > + . > + This package provides documentation for configuration and use > + of OVN. > + > +Package: ovn-docker > +Architecture: linux-any > +Depends: > + openvswitch-common (>= 2.17.0~), > + ovn-common (= ${binary:Version}), > + python3-openvswitch (>= 2.17.0~), > + ${misc:Depends}, > + ${python3:Depends}, > + ${shlibs:Depends}, > +Description: OVN Docker drivers > + 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. > + . > + ovn-docker provides the docker drivers for OVN. > + > +Package: ovn-host > +Architecture: linux-any > +Pre-Depends: ${misc:Pre-Depends}, > +Depends: > + lsb-base, > + lsb-release, > + openvswitch-switch (>= 2.17.0~), > + ovn-common (= ${binary:Version}), > + ${misc:Depends}, > + ${shlibs:Depends}, > +Description: OVN host components > + 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. > + . > + ovn-host provides the userspace components and utilities for > + OVN that can be run on every host/hypervisor. > + > +Package: ovn-ic > +Architecture: linux-any > +Pre-Depends: ${misc:Pre-Depends}, > +Depends: > + lsb-base, > + lsb-release, > + ovn-common (= ${binary:Version}), > + ${misc:Depends}, > + ${shlibs:Depends}, > +Enhances: > + ovn-central, > +Suggests: > + ovn-ic-db, > +Description: Open Virtual Network interconnection controller > + OVN IC, the Open Virtual Network interconnection controller, is a > + centralized daemon which communicates with global interconnection > + databases to configure and exchange data with local OVN databases for > + interconnection with other OVN deployments. > + . > + This package provides the ovn-ic daemon which should be run alongside > + ovn-central services in each OVN deployment zone. > + > +Package: ovn-ic-db > +Architecture: linux-any > +Pre-Depends: ${misc:Pre-Depends}, > +Depends: > + lsb-base, > + lsb-release, > + openvswitch-common (>= 2.17.0~), > + ovn-common (= ${binary:Version}), > + ${misc:Depends}, > + ${shlibs:Depends}, > +Description: Open Virtual Network interconnection controller databases > + OVN IC, the Open Virtual Network interconnection controller, is a > + centralized daemon which communicates with global interconnection > + databases to configure and exchange data with local OVN databases for > + interconnection with other OVN deployments. > + . > + This package provides the global OVN IC southbound and northbound > + OVSDB databases. > diff --git a/debian/copyright.in b/debian/copyright.in > new file mode 100644 > index 000000000..911704ae0 > --- /dev/null > +++ b/debian/copyright.in > @@ -0,0 +1,146 @@ > +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ > +Upstream-Name: Open Virtual Network (OVN) > +Source: https://github.com/ovn-org/ovn > +Files-Excluded: debian > +Upstream-Authors: > +%AUTHORS% > + > +Files: * > +Copyright: 2007-2017 Nicira, Inc. > + 2010 Jean Tourrilhes - HP-Labs. > + 2008,2009,2010 Citrix Systems, Inc. > + 2011 Gaetano Catalli > + 2000-2003 Geoffrey Wossum <gwossum@acm.org> > + 2000 The NetBSD Foundation, Inc. > + 1995, 1996, 1997, and 1998 WIDE Project. > + 1982, 1986, 1990, 1993 The Regents of the University of California. > + 2008, 2012 Vincent Bernat <bernat@luffy.cx> > + 2014 Michael Chapman > + 2014 WindRiver, Inc. > + 2014 Avaya, Inc. > + 2001 Daniel Hartmeier > + 2002 - 2008 Henning Brauer > + 2012 Gleb Smirnoff <glebius@FreeBSD.org> > + 2015-2019 Red Hat, Inc. > + 2017 DtDream Technology Co., Ltd. > + 2018 eBay Inc. > +License: Apache-2.0 > +Comment: > + This package contains code from other projects and authors not > + mentioned elsewhere. > + . > + Open vSwitch > + Copyright (c) 2007, 2008, 2009, 2010, 2011, 2013 Nicira, Inc. > + . > + Open vSwitch BSD port > + Copyright (c) 2011 Gaetano Catalli > + . > + Apache Portable Runtime > + Copyright 2008 The Apache Software Foundation. > + . > + This product includes software developed by > + The Apache Software Foundation (http://www.apache.org/). > + . > + Portions of this software were developed at the National Center > + for Supercomputing Applications (NCSA) at the University of > + Illinois at Urbana-Champaign. > + . > + lib/ovs.tmac includes troff macros written by Eric S. Raymond > + and Werner Lemberg. > + . > + m4/include_next.m4 and m4/absolute-header.m4 > + Copyright (C) 2006-2013 Free Software Foundation, Inc. > + . > + Rapid Spanning Tree Protocol (RSTP) implementation > + Copyright (c) 2011-2014 M3S, Srl - Italy > + . > + LLDP implementation > + Copyright (c) 2008, 2012 Vincent Bernat <bernat@luffy.cx> > + . > + LLDP includes code used from the Net::CDP project based on the ISC license > + Copyright (c) 2014 Michael Chapman > + . > + LLDP includes code used from the ladvd project based on the ISC license > + Copyright (c) 2008, 2009, 2010 Sten Spans <sten@blinkenlights.nl> > + . > + Auto Attach implementation > + Copyright (c) 2014, 2015 WindRiver, Inc > + Copyright (c) 2014, 2015 Avaya, Inc > + . > + TCP connection tracker from FreeBSD pf, BSD licensed > + Copyright (c) 2001 Daniel Hartmeier > + Copyright (c) 2002 - 2008 Henning Brauer > + Copyright (c) 2012 Gleb Smirnoff <glebius@FreeBSD.org> > + > +Files: build-aux/cccl > +Copyright: 2000-2003 Geoffrey Wossum <gwossum@acm.org> > +License: GPL-2 > + > +Files: utilities/bugtool/ovn-bugtool-* > + utilities/bugtool/plugins/network-status/ovn.xml > +Copyright: 2016 Nicira, Inc. > +License: LGPL-2.1 > + > +Files: m4/absolute-header.m4 > + m4/include_next.m4 > +Copyright: Derek Price > + Paul Eggert > + 2006-2013 Free Software Foundation, Inc. > +License: file-is-free-software > + This file is free software; the Free Software Foundation > + gives unlimited permission to copy and/or distribute it, > + with or without modifications, as long as this notice is preserved. > + > +Files: ovn-vif/* > +Copyright: 2021 Canonical > +License: Apache-2.0 > + > +License: GPL-2 > + This program is free software; you can 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 of the License, or (at your option) any later > + version. > + . > + This program 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 along with > + this program; if not, write to the Free Software Foundation, Inc., 51 Franklin > + St, Fifth Floor, Boston, MA 02110-1301 USA > + . > + On Debian systems, the complete text of the GNU General Public License v2 > + (GPL) can be found in /usr/share/common-licenses/GPL-2. > + > +License: LGPL-2.1 > + This library is free software; you can redistribute it and/or modify it under > + the terms of the GNU Lesser General Public License as published by the Free > + Software Foundation; either version 2.1 of the License. > + . > + This library 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 Lesser General Public License for more > + details. > + . > + You should have received a copy of the GNU Lesser General Public License along > + with this library; if not, write to the Free Software Foundation, Inc., 51 > + Franklin St, Fifth Floor, Boston, MA 02110-1301 USA > + . > + On Debian systems, the complete text of the GNU Lesser General Public License > + (LGPL) may be found in /usr/share/common-licenses/LGPL-2. > + > +License: Apache-2.0 > + Licensed under the Apache License, Version 2.0 (the "License"); > + you may not use this file except in compliance with the License. > + You may obtain a copy of the License at > + . > + http://www.apache.org/licenses/LICENSE-2.0 > + . > + Unless required by applicable law or agreed to in writing, software > + distributed under the License is distributed on an "AS IS" BASIS, > + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. > + See the License for the specific language governing permissions and > + limitations under the License. > + . > + On Debian-based systems the full text of the Apache version 2.0 license > + can be found in `/usr/share/common-licenses/Apache-2.0'. > diff --git a/debian/flaky-tests-amd64.txt b/debian/flaky-tests-amd64.txt > new file mode 100644 > index 000000000..cfe5d8c66 > --- /dev/null > +++ b/debian/flaky-tests-amd64.txt > @@ -0,0 +1,6 @@ > +send gratuitous arp on localnet > +policy-based routing IPv6: 1 HVs, 3 LSs, 1 lport/LS, 1 LR > +ACLs on Port Groups > +multi-vtep SB Chassis encap updates > +ACL with Port Group conjunction flow efficiency > +northd ssl file change > diff --git a/debian/flaky-tests-arm64.txt b/debian/flaky-tests-arm64.txt > new file mode 100644 > index 000000000..996d0537e > --- /dev/null > +++ b/debian/flaky-tests-arm64.txt > @@ -0,0 +1,5 @@ > +ovn-controller incremental processing > +nb_cfg timestamp > +multi-vtep SB Chassis encap updates > +ACL with Port Group conjunction flow efficiency > +ipsec -- basic configuration > diff --git a/debian/flaky-tests-armel.txt b/debian/flaky-tests-armel.txt > new file mode 100644 > index 000000000..6ce03bb10 > --- /dev/null > +++ b/debian/flaky-tests-armel.txt > @@ -0,0 +1,7 @@ > +policy-based routing IPv6: 1 HVs, 3 LSs, 1 lport/LS, 1 LR > +1 LR with distributed router gateway port > +ACL conjunction > +IP packet buffering > +test transport zones > +lflow cache for conjunctions > +nb_cfg timestamp > diff --git a/debian/flaky-tests-armhf.txt b/debian/flaky-tests-armhf.txt > new file mode 100644 > index 000000000..43654f3ae > --- /dev/null > +++ b/debian/flaky-tests-armhf.txt > @@ -0,0 +1,9 @@ > +policy-based routing IPv6: 1 HVs, 3 LSs, 1 lport/LS, 1 LR > +ovn-controller incremental processing > +ACL conjunction > +neighbor update on same HV > +nb_cfg timestamp > +multi-vtep SB Chassis encap updates > +ACL with Port Group conjunction flow efficiency > +ovn-ic -- gateway sync > +ipsec -- basic configuration > diff --git a/debian/flaky-tests-i386.txt b/debian/flaky-tests-i386.txt > new file mode 100644 > index 000000000..b82300de9 > --- /dev/null > +++ b/debian/flaky-tests-i386.txt > @@ -0,0 +1,8 @@ > +policy-based routing: 1 HVs, 2 LSs, 1 lport/LS, 1 LR > +nb_cfg timestamp > +ARP replies for SNAT external ips > +conflict ACLs with address set > +multi-vtep SB Chassis encap updates > +ACL with Port Group conjunction flow efficiency > +ovn-ic -- gateway sync > +ipsec -- basic configuration > diff --git a/debian/flaky-tests-mips64el.txt b/debian/flaky-tests-mips64el.txt > new file mode 100644 > index 000000000..e67e2c4ca > --- /dev/null > +++ b/debian/flaky-tests-mips64el.txt > @@ -0,0 +1,5 @@ > +multi-vtep SB Chassis encap updates > +ACL with Port Group conjunction flow efficiency > +ovn-ic -- gateway sync > +ipsec -- basic configuration > +nb_cfg timestamp > diff --git a/debian/flaky-tests-mipsel.txt b/debian/flaky-tests-mipsel.txt > new file mode 100644 > index 000000000..00d383572 > --- /dev/null > +++ b/debian/flaky-tests-mipsel.txt > @@ -0,0 +1,21 @@ > +vtep: 3 HVs, 1 VIFs/HV, 1 GW, 1 LS > +policy-based routing: 1 HVs, 2 LSs, 1 lport/LS, 1 LR > +policy-based routing IPv6: 1 HVs, 3 LSs, 1 lport/LS, 1 LR > +send gratuitous arp for nat ips in localnet > +send gratuitous arp for NAT rules on distributed router > +vlan traffic for external network with distributed router gateway port > +send gratuitous ARP for NAT rules on HA distributed router > +ACL conjunction > +router - check packet length - icmp defrag > +router - check packet length - icmp defrag > +IP packet buffering > +test transport zones > +Load balancer health checks > +interconnection > +nb_cfg timestamp > +conflict ACLs with address set > +multi-vtep SB Chassis encap updates > +ACL with Port Group conjunction flow efficiency > +northd ssl file change > +ovn-ic -- gateway sync > +ipsec -- basic configuration > diff --git a/debian/flaky-tests-ppc64el.txt b/debian/flaky-tests-ppc64el.txt > new file mode 100644 > index 000000000..6e089b6cb > --- /dev/null > +++ b/debian/flaky-tests-ppc64el.txt > @@ -0,0 +1,6 @@ > +options:requested-chassis for logical port > +multi-vtep SB Chassis encap updates > +ACL with Port Group conjunction flow efficiency > +northd ssl file change > +ovn-ic -- gateway sync > +ipsec -- basic configuration > diff --git a/debian/flaky-tests-riscv64.txt b/debian/flaky-tests-riscv64.txt > new file mode 100644 > index 000000000..50570ab80 > --- /dev/null > +++ b/debian/flaky-tests-riscv64.txt > @@ -0,0 +1,6 @@ > +send gratuitous arp on localnet > +1 LR with distributed router gateway port > +router - check packet length - icmp defrag > +multi-vtep SB Chassis encap updates > +ACL with Port Group conjunction flow efficiency > +ipsec -- basic configuration > diff --git a/debian/flaky-tests-s390x.txt b/debian/flaky-tests-s390x.txt > new file mode 100644 > index 000000000..a642063d9 > --- /dev/null > +++ b/debian/flaky-tests-s390x.txt > @@ -0,0 +1,5 @@ > +options:requested-chassis for logical port > +ACLs on Port Groups > +multi-vtep SB Chassis encap updates > +ACL with Port Group conjunction flow efficiency > +ipsec -- basic configuration > diff --git a/debian/gbp.conf b/debian/gbp.conf > new file mode 100644 > index 000000000..438b3fa8d > --- /dev/null > +++ b/debian/gbp.conf > @@ -0,0 +1,13 @@ > +[DEFAULT] > +debian-branch = main > +upstream-branch = upstream > +pristine-tar = True > +components = ['ovn-vif'] > + > +[import-orig] > +upstream-vcs-tag = v%(version)s > + > +[dch] > +multimaint-merge = True > +customizations=/usr/share/doc/git-buildpackage/examples/wrap_cl.py > +git-log=--first-parent > diff --git a/debian/not-installed b/debian/not-installed > new file mode 100644 > index 000000000..e213b139d > --- /dev/null > +++ b/debian/not-installed > @@ -0,0 +1,5 @@ > +# The OVN library and headers are currently not considered ABI/API stable. > +# If the need arises to build sibling projects we should probably provide an > +# ovn-source package. > +usr/include/* > +usr/lib/* > diff --git a/debian/ovn-central.default b/debian/ovn-central.default > new file mode 100644 > index 000000000..7cea13e50 > --- /dev/null > +++ b/debian/ovn-central.default > @@ -0,0 +1,5 @@ > +# This is a POSIX shell fragment -*- sh -*- > + > +# OVN_CTL_OPTS: Extra options to pass to ovs-ctl. This is, for example, > +# a suitable place to specify --ovn-northd-wrapper=valgrind. > +# OVN_CTL_OPTS= > diff --git a/debian/ovn-central.install b/debian/ovn-central.install > new file mode 100644 > index 000000000..095ca7cfa > --- /dev/null > +++ b/debian/ovn-central.install > @@ -0,0 +1,3 @@ > +usr/bin/ovn-northd > +usr/share/ovn/ovn-nb.ovsschema > +usr/share/ovn/ovn-sb.ovsschema > diff --git a/debian/ovn-central.ovn-northd.service b/debian/ovn-central.ovn-northd.service > new file mode 100644 > index 000000000..09c600016 > --- /dev/null > +++ b/debian/ovn-central.ovn-northd.service > @@ -0,0 +1,15 @@ > +[Unit] > +Description=Open Virtual Network central control daemon > +After=network.target ovn-nb-ovsdb.service ovn-sb-ovsdb.service > +PartOf=ovn-central.service > +DefaultDependencies=no > + > +[Service] > +Type=forking > +EnvironmentFile=-/etc/default/ovn-central > +PIDFile=%t/ovn/ovn-northd.pid > +ExecStart=/usr/share/ovn/scripts/ovn-ctl start_northd --ovn-manage-ovsdb=no --no-monitor $OVN_CTL_OPTS > +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_northd --no-monitor > +Restart=on-failure > +LimitNOFILE=65535 > +TimeoutStopSec=15 > diff --git a/debian/ovn-central.ovn-ovsdb-server-nb.service b/debian/ovn-central.ovn-ovsdb-server-nb.service > new file mode 100644 > index 000000000..81f6c75a3 > --- /dev/null > +++ b/debian/ovn-central.ovn-ovsdb-server-nb.service > @@ -0,0 +1,18 @@ > +[Unit] > +Description=Open vSwitch database server for OVN Northbound database > +After=network.target > +PartOf=ovn-central.service > +DefaultDependencies=no > + > +[Service] > +Type=simple > +EnvironmentFile=-/etc/default/ovn-central > +PIDFile=%t/ovn/ovnnb_db.pid > +ExecStart=/usr/share/ovn/scripts/ovn-ctl run_nb_ovsdb $OVN_CTL_OPTS > +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_nb_ovsdb > +Restart=on-failure > +LimitNOFILE=65535 > +TimeoutStopSec=15 > + > +[Install] > +Alias=ovn-nb-ovsdb.service > diff --git a/debian/ovn-central.ovn-ovsdb-server-sb.service b/debian/ovn-central.ovn-ovsdb-server-sb.service > new file mode 100644 > index 000000000..3aa840d2f > --- /dev/null > +++ b/debian/ovn-central.ovn-ovsdb-server-sb.service > @@ -0,0 +1,18 @@ > +[Unit] > +Description=Open vSwitch database server for OVN Southbound database > +After=network.target > +PartOf=ovn-central.service > +DefaultDependencies=no > + > +[Service] > +Type=simple > +EnvironmentFile=-/etc/default/ovn-central > +PIDFile=%t/run/ovn/ovnsb_db.pid > +ExecStart=/usr/share/ovn/scripts/ovn-ctl run_sb_ovsdb $OVN_CTL_OPTS > +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_sb_ovsdb > +Restart=on-failure > +LimitNOFILE=65535 > +TimeoutStopSec=15 > + > +[Install] > +Alias=ovn-sb-ovsdb.service > diff --git a/debian/ovn-central.postrm b/debian/ovn-central.postrm > new file mode 100644 > index 000000000..3b3483fc3 > --- /dev/null > +++ b/debian/ovn-central.postrm > @@ -0,0 +1,47 @@ > +#!/bin/sh > +# postrm script for ovn-central > +# > +# see: dh_installdeb(1) > + > +set -e > + > +# summary of how this script can be called: > +# * <postrm> `remove' > +# * <postrm> `purge' > +# * <old-postrm> `upgrade' <new-version> > +# * <new-postrm> `failed-upgrade' <old-version> > +# * <new-postrm> `abort-install' > +# * <new-postrm> `abort-install' <old-version> > +# * <new-postrm> `abort-upgrade' <old-version> > +# * <disappearer's-postrm> `disappear' <overwriter> > +# <overwriter-version> > +# for details, see http://www.debian.org/doc/debian-policy/ or > +# the debian-policy package > + > + > +case "$1" in > + purge) > + rm -f /etc/openvswitch/ovnnb.db* > + rm -f /etc/openvswitch/.ovnnb.db.~lock~ > + rm -f /etc/openvswitch/ovnsb.db* > + rm -f /etc/openvswitch/.ovnsb.db.~lock~ > + rm -f /var/log/openvswitch/ovn-northd.log* || true > + ;; > + > + remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) > + ;; > + > + *) > + echo "postrm called with unknown argument \`$1'" >&2 > + exit 1 > + ;; > +esac > + > +# dh_installdeb will replace this with shell code automatically > +# generated by other debhelper scripts. > + > +#DEBHELPER# > + > +exit 0 > + > + > diff --git a/debian/ovn-central.service b/debian/ovn-central.service > new file mode 100644 > index 000000000..aead7eae6 > --- /dev/null > +++ b/debian/ovn-central.service > @@ -0,0 +1,16 @@ > +[Unit] > +Description=Open Virtual Network central components > +After=network.target > +Requires=network.target > +Wants=ovn-northd.service > +Wants=ovn-ovsdb-server-sb.service > +Wants=ovn-ovsdb-server-nb.service > + > +[Service] > +Type=oneshot > +ExecStart=/bin/true > +ExecStop=/bin/true > +RemainAfterExit=yes > + > +[Install] > +WantedBy=multi-user.target > diff --git a/debian/ovn-common.docs b/debian/ovn-common.docs > new file mode 100644 > index 000000000..6d5ee1d05 > --- /dev/null > +++ b/debian/ovn-common.docs > @@ -0,0 +1 @@ > +NOTICE > diff --git a/debian/ovn-common.install b/debian/ovn-common.install > new file mode 100644 > index 000000000..52e9e0050 > --- /dev/null > +++ b/debian/ovn-common.install > @@ -0,0 +1,32 @@ > +usr/bin/ovn-appctl > +usr/bin/ovn_detrace.py > +usr/bin/ovn-detrace > +usr/bin/ovn-nbctl > +usr/bin/ovn-sbctl > +/usr/bin/ovn-ic-nbctl > +/usr/bin/ovn-ic-sbctl > +usr/bin/ovn-trace > +usr/share/ovn/bugtool-plugins/network-status/ovn.xml > +usr/share/ovn/scripts/ovn-ctl > +usr/share/ovn/scripts/ovn-lib > +usr/share/ovn/scripts/ovndb-servers.ocf > +usr/share/ovn/scripts/ovn-bugtool-nbctl-show > +usr/share/ovn/scripts/ovn-bugtool-sbctl-lflow-list > +usr/share/ovn/scripts/ovn-bugtool-sbctl-show > +usr/share/man/man1/ovn-detrace.1 > +usr/share/man/man5/ovn-ic-nb.5 > +usr/share/man/man5/ovn-ic-sb.5 > +usr/share/man/man5/ovn-nb.5 > +usr/share/man/man5/ovn-sb.5 > +usr/share/man/man7/ovn-architecture.7 > +usr/share/man/man8/ovn-appctl.8 > +usr/share/man/man8/ovn-controller-vtep.8 > +usr/share/man/man8/ovn-controller.8 > +usr/share/man/man8/ovn-ctl.8 > +usr/share/man/man8/ovn-ic-nbctl.8 > +usr/share/man/man8/ovn-ic-sbctl.8 > +usr/share/man/man8/ovn-ic.8 > +usr/share/man/man8/ovn-nbctl.8 > +usr/share/man/man8/ovn-northd.8 > +usr/share/man/man8/ovn-sbctl.8 > +usr/share/man/man8/ovn-trace.8 > diff --git a/debian/ovn-common.logrotate b/debian/ovn-common.logrotate > new file mode 100644 > index 000000000..a351ec303 > --- /dev/null > +++ b/debian/ovn-common.logrotate > @@ -0,0 +1,22 @@ > +# Copyright (C) 2019 Red Hat, Inc. > +# > +# Copying and distribution of this file, with or without modification, > +# are permitted in any medium without royalty provided the copyright > +# notice and this notice are preserved. This file is offered as-is, > +# without warranty of any kind. > + > +/var/log/ovn/*.log { > + su root root > + daily > + compress > + sharedscripts > + missingok > + postrotate > + # Tell OVN daemons to reopen their log files > + if [ -d /var/run/ovn ]; then > + for ctl in /var/run/ovn/*.ctl; do > + ovs-appctl -t "$ctl" vlog/reopen 2>/dev/null || : > + done > + fi > + endscript > +} > diff --git a/debian/ovn-common.postinst b/debian/ovn-common.postinst > new file mode 100644 > index 000000000..588044fbc > --- /dev/null > +++ b/debian/ovn-common.postinst > @@ -0,0 +1,24 @@ > +#!/bin/sh > +# postinst script for ovn-common > +# > +# see: dh_installdeb(1) > + > +set -e > + > +case "$1" in > + configure) > + mkdir -p /usr/lib/ocf/resource.d/ovn > + ln -sf /usr/share/openvswitch/scripts/ovndb-servers.ocf /usr/lib/ocf/resource.d/ovn/ovndb-servers > + ;; > + abort-upgrade|abort-remove|abort-deconfigure) > + ;; > + > + *) > + echo "postinst called with unknown argument \`$1'" >&2 > + exit 1 > + ;; > +esac > + > +#DEBHELPER# > + > +exit 0 > diff --git a/debian/ovn-common.postrm b/debian/ovn-common.postrm > new file mode 100644 > index 000000000..9face726b > --- /dev/null > +++ b/debian/ovn-common.postrm > @@ -0,0 +1,23 @@ > +#!/bin/sh > +# postrm script for openvswitch-testcontroller > +# > +# see: dh_installdeb(1) > + > +set -e > + > +case "$1" in > + purge|remove) > + rm -rf /usr/lib/ocf/resource.d/ovn > + ;; > + upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) > + ;; > + > + *) > + echo "postrm called with unknown argument \`$1'" >&2 > + exit 1 > + ;; > +esac > + > +#DEBHELPER# > + > +exit 0 > diff --git a/debian/ovn-controller-vtep.install b/debian/ovn-controller-vtep.install > new file mode 100644 > index 000000000..1d208f37e > --- /dev/null > +++ b/debian/ovn-controller-vtep.install > @@ -0,0 +1 @@ > +usr/bin/ovn-controller-vtep > diff --git a/debian/ovn-controller-vtep.service b/debian/ovn-controller-vtep.service > new file mode 100644 > index 000000000..d51e75277 > --- /dev/null > +++ b/debian/ovn-controller-vtep.service > @@ -0,0 +1,16 @@ > +[Unit] > +Description=Open Virtual Network VTEP gateway controller daemon > +After=openvswitch-switch.service > +Requires=openvswitch-switch.service > + > +[Service] > +Type=forking > +PIDFile=%t/ovn/ovn-controller-vtep.pid > +ExecStart=/usr/share/ovn/scripts/ovn-ctl start_controller_vtep --no-monitor $OVN_CTL_OPTS > +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_controller_vtep --no-monitor > +Restart=on-failure > +LimitNOFILE=65535 > +TimeoutStopSec=15 > + > +[Install] > +WantedBy=multi-user.target > diff --git a/debian/ovn-doc.doc-base b/debian/ovn-doc.doc-base > new file mode 100644 > index 000000000..c7192ebdb > --- /dev/null > +++ b/debian/ovn-doc.doc-base > @@ -0,0 +1,9 @@ > +Document: ovn-doc > +Title: Open Virtual Network Documentation > +Author: N/A > +Abstract: Sphinx documentation for Open Virtual Network > +Section: Network/Communication > + > +Format: HTML > +Index: /usr/share/doc/ovn-doc/html/index.html > +Files: /usr/share/doc/ovn-doc/html/* > diff --git a/debian/ovn-doc.install b/debian/ovn-doc.install > new file mode 100644 > index 000000000..4cfd153cf > --- /dev/null > +++ b/debian/ovn-doc.install > @@ -0,0 +1 @@ > +Documentation/_build/html/* /usr/share/doc/ovn-doc/html/ > diff --git a/debian/ovn-docker.install b/debian/ovn-docker.install > new file mode 100644 > index 000000000..583306732 > --- /dev/null > +++ b/debian/ovn-docker.install > @@ -0,0 +1,2 @@ > +usr/bin/ovn-docker-overlay-driver > +usr/bin/ovn-docker-underlay-driver > diff --git a/debian/ovn-host.default b/debian/ovn-host.default > new file mode 100644 > index 000000000..7fd54efda > --- /dev/null > +++ b/debian/ovn-host.default > @@ -0,0 +1,5 @@ > +# This is a POSIX shell fragment -*- sh -*- > + > +# OVN_CTL_OPTS: Extra options to pass to ovs-ctl. This is, for example, > +# a suitable place to specify --ovn-controller-wrapper=valgrind. > +# OVN_CTL_OPTS= > diff --git a/debian/ovn-host.install b/debian/ovn-host.install > new file mode 100644 > index 000000000..d2de82fd9 > --- /dev/null > +++ b/debian/ovn-host.install > @@ -0,0 +1 @@ > +usr/bin/ovn-controller > diff --git a/debian/ovn-host.ovn-controller.service b/debian/ovn-host.ovn-controller.service > new file mode 100644 > index 000000000..a41e77d75 > --- /dev/null > +++ b/debian/ovn-host.ovn-controller.service > @@ -0,0 +1,15 @@ > +[Unit] > +Description=Open Virtual Network host control daemon > +After=network.target openvswitch-switch.service > +PartOf=ovn-host.service > +DefaultDependencies=no > + > +[Service] > +Type=forking > +EnvironmentFile=-/etc/default/ovn-host > +PIDFile=%t/ovn/ovn-controller.pid > +ExecStart=/usr/share/ovn/scripts/ovn-ctl start_controller --ovn-manage-ovsdb=no --no-monitor $OVN_CTL_OPTS > +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_controller --no-monitor > +Restart=on-failure > +LimitNOFILE=65535 > +TimeoutStopSec=15 > diff --git a/debian/ovn-host.postrm b/debian/ovn-host.postrm > new file mode 100644 > index 000000000..9d17ef966 > --- /dev/null > +++ b/debian/ovn-host.postrm > @@ -0,0 +1,43 @@ > +#!/bin/sh > +# postrm script for ovn-host > +# > +# see: dh_installdeb(1) > + > +set -e > + > +# summary of how this script can be called: > +# * <postrm> `remove' > +# * <postrm> `purge' > +# * <old-postrm> `upgrade' <new-version> > +# * <new-postrm> `failed-upgrade' <old-version> > +# * <new-postrm> `abort-install' > +# * <new-postrm> `abort-install' <old-version> > +# * <new-postrm> `abort-upgrade' <old-version> > +# * <disappearer's-postrm> `disappear' <overwriter> > +# <overwriter-version> > +# for details, see http://www.debian.org/doc/debian-policy/ or > +# the debian-policy package > + > + > +case "$1" in > + purge) > + rm -f /var/log/openvswitch/ovn-controller.log* || true > + ;; > + > + remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) > + ;; > + > + *) > + echo "postrm called with unknown argument \`$1'" >&2 > + exit 1 > + ;; > +esac > + > +# dh_installdeb will replace this with shell code automatically > +# generated by other debhelper scripts. > + > +#DEBHELPER# > + > +exit 0 > + > + > diff --git a/debian/ovn-host.service b/debian/ovn-host.service > new file mode 100644 > index 000000000..b524888fd > --- /dev/null > +++ b/debian/ovn-host.service > @@ -0,0 +1,14 @@ > +[Unit] > +Description=Open Virtual Network host components > +After=network.target > +Requires=network.target > +Wants=ovn-controller.service > + > +[Service] > +Type=oneshot > +ExecStart=/bin/true > +ExecStop=/bin/true > +RemainAfterExit=yes > + > +[Install] > +WantedBy=multi-user.target > diff --git a/debian/ovn-ic-db.install b/debian/ovn-ic-db.install > new file mode 100644 > index 000000000..a4d50002e > --- /dev/null > +++ b/debian/ovn-ic-db.install > @@ -0,0 +1,2 @@ > +/usr/share/ovn/ovn-ic-nb.ovsschema > +/usr/share/ovn/ovn-ic-sb.ovsschema > diff --git a/debian/ovn-ic-db.ovn-ovsdb-server-ic-nb.service b/debian/ovn-ic-db.ovn-ovsdb-server-ic-nb.service > new file mode 100644 > index 000000000..193024daf > --- /dev/null > +++ b/debian/ovn-ic-db.ovn-ovsdb-server-ic-nb.service > @@ -0,0 +1,15 @@ > +[Unit] > +Description=Open vSwitch database server for OVN IC Northbound database > +After=network.target > +PartOf=ovn-ic-db.service > +DefaultDependencies=no > + > +[Service] > +Type=simple > +EnvironmentFile=-/etc/default/ovn-ic > +PIDFile=%t/ovn/ovn_ic_nb_db.pid > +ExecStart=/usr/share/ovn/scripts/ovn-ctl run_ic_nb_ovsdb $OVN_CTL_OPTS > +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_ic_nb_ovsdb > +Restart=on-failure > +LimitNOFILE=65535 > +TimeoutStopSec=15 > diff --git a/debian/ovn-ic-db.ovn-ovsdb-server-ic-sb.service b/debian/ovn-ic-db.ovn-ovsdb-server-ic-sb.service > new file mode 100644 > index 000000000..714748325 > --- /dev/null > +++ b/debian/ovn-ic-db.ovn-ovsdb-server-ic-sb.service > @@ -0,0 +1,15 @@ > +[Unit] > +Description=Open vSwitch database server for OVN IC Southbound database > +After=network.target > +PartOf=ovn-ic-db.service > +DefaultDependencies=no > + > +[Service] > +Type=simple > +EnvironmentFile=-/etc/default/ovn-ic > +PIDFile=%t/ovn/ovn_ic_sb_db.pid > +ExecStart=/usr/share/ovn/scripts/ovn-ctl run_ic_sb_ovsdb $OVN_CTL_OPTS > +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_ic_sb_ovsdb > +Restart=on-failure > +LimitNOFILE=65535 > +TimeoutStopSec=15 > diff --git a/debian/ovn-ic-db.service b/debian/ovn-ic-db.service > new file mode 100644 > index 000000000..b116bc79d > --- /dev/null > +++ b/debian/ovn-ic-db.service > @@ -0,0 +1,15 @@ > +[Unit] > +Description=Open Virtual Network interconnection databases > +After=network.target > +Requires=network.target > +Wants=ovn-ovsdb-server-ic-sb.service > +Wants=ovn-ovsdb-server-ic-nb.service > + > +[Service] > +Type=oneshot > +ExecStart=/bin/true > +ExecStop=/bin/true > +RemainAfterExit=yes > + > +[Install] > +WantedBy=multi-user.target > diff --git a/debian/ovn-ic.install b/debian/ovn-ic.install > new file mode 100644 > index 000000000..b15508259 > --- /dev/null > +++ b/debian/ovn-ic.install > @@ -0,0 +1 @@ > +/usr/bin/ovn-ic > diff --git a/debian/ovn-ic.service b/debian/ovn-ic.service > new file mode 100644 > index 000000000..07974285f > --- /dev/null > +++ b/debian/ovn-ic.service > @@ -0,0 +1,16 @@ > +[Unit] > +Description=Open Virtual Network interconnection controller > +After=network.target > +Requires=network.target > + > +[Service] > +Type=forking > +PIDFile=%t/ovn/ovn-ic.pid > +ExecStart=/usr/share/ovn/scripts/ovn-ctl start_ic --no-monitor > +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_ic > +Restart=on-failure > +LimitNOFILE=65535 > +TimeoutStopSec=15 > + > +[Install] > +WantedBy=multi-user.target > diff --git a/debian/rules b/debian/rules > new file mode 100755 > index 000000000..4596afb49 > --- /dev/null > +++ b/debian/rules > @@ -0,0 +1,104 @@ > +#!/usr/bin/make -f > +# -*- makefile -*- > +#export DH_VERBOSE=1 > +export DEB_BUILD_MAINT_OPTIONS = hardening=+all > + > +%: > + dh $@ --with autoreconf,python3,sphinxdoc > + > +ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) > +PARALLEL = -j$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) > +else > +PARALLEL = > +endif > + > +override_dh_auto_configure: > + # Configure OVS before OVN > + test -d $(CURDIR)/ovs || mkdir ovs > + cd ovs && tar -xzf /usr/src/openvswitch/openvswitch.tar.gz --strip-components=1 > + cd ovs && ./configure --enable-ssl --localstatedir=/var --sysconfdir=/etc --prefix=/usr && make $(PARALLEL) > + # Configure OVN to allow building OVN VIF > + ./boot.sh && ./configure \ > + --prefix=/usr \ > + --localstatedir=/var \ > + --sysconfdir=/etc \ > + --with-dbdir=/var/lib/ovn \ > + --with-ovs-source=$(CURDIR)/ovs \ > + --enable-ssl > + # Configure and build OVN VIF > + cd ovn-vif && \ > + ./boot.sh && \ > + ./configure \ > + --with-ovs-source=$(CURDIR)/ovs \ > + --with-ovn-source=$(CURDIR) \ > + --enable-plug-representor && \ > + make $(PARALLEL) > + # Use dh_auto_configure to build OVN > + dh_auto_configure -- \ > + --prefix=/usr \ > + --localstatedir=/var \ > + --sysconfdir=/etc \ > + --with-dbdir=/var/lib/ovn \ > + --with-ovs-source=$(CURDIR)/ovs \ > + --enable-ssl \ > + --with-vif-plug-provider=$(CURDIR)/ovn-vif > + $(MAKE) debian/copyright > + > +TEST_LIST = $(shell \ > + $(CURDIR)/debian/testlist.py \ > + $(CURDIR)/debian/flaky-tests-$(DEB_HOST_ARCH).txt \ > + $(CURDIR)/tests/testsuite) > + > +override_dh_auto_test: > +ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) > + if $(MAKE) check TESTSUITEFLAGS='$(PARALLEL) $(TEST_LIST)' || \ > + $(MAKE) check TESTSUITEFLAGS='--recheck'; then :; \ > + else \ > + cat tests/testsuite.log; \ > + exit 1; \ > + fi > +endif # nocheck > + > +override_dh_auto_build: > + cd ovs && $(MAKE) $(PARALLEL) > + $(MAKE) $(PARALLEL) > + > +override_dh_auto_clean: > + dh_auto_clean > + cd ovn-vif && make distclean | : > + rm -rf ovs > + > +override_dh_installinit: > + # Package does not ship any init.d files > + dh_installinit --no-scripts > + > +override_dh_installsystemd: > + dh_installsystemd --restart-after-upgrade -povn-central --name=ovn-northd > + dh_installsystemd --restart-after-upgrade -povn-central --name=ovn-ovsdb-server-sb > + dh_installsystemd --restart-after-upgrade -povn-central --name=ovn-ovsdb-server-nb > + dh_installsystemd --restart-after-upgrade -povn-ic-db --name=ovn-ovsdb-server-ic-sb > + dh_installsystemd --restart-after-upgrade -povn-ic-db --name=ovn-ovsdb-server-ic-nb > + dh_installsystemd --restart-after-upgrade -povn-host --name=ovn-controller > + dh_installsystemd --restart-after-upgrade > + > +override_dh_python3: > + dh_python3 --shebang=/usr/bin/python3 > + > +# Helper target for creating snapshots from upstream git > +DATE=$(shell date +%Y%m%d) > +# Upstream branch to track > +BRANCH=main > +VERSION=22.09.0 > + > +get-orig-snapshot: > + rm -Rf ovn-upstream ovn-vif-upstream > + git clone --branch $(BRANCH) --depth 1 https://github.com/ovn-org/ovn ovn-upstream > + git clone --branch $(BRANCH) --depth 1 https://github.com/ovn-org/ovn-vif ovn-vif-upstream > + cd ovn-upstream && \ > + export COMMIT=`git rev-parse --short HEAD` && \ > + git archive --format tgz --prefix=ovn-$(VERSION)~git$(DATE).$$COMMIT/ \ > + -o ../../ovn_$(VERSION)~git$(DATE).$$COMMIT.orig.tar.gz $(BRANCH) && \ > + cd ../ovn-vif-upstream && \ > + git archive --format tgz --prefix=ovn-vif-$(VERSION)~git$(DATE).$$COMMIT/ \ > + -o ../../ovn_$(VERSION)~git$(DATE).$$COMMIT.orig-ovn-vif.tar.gz $(BRANCH) > + rm -Rf ovn-upstream ovn-vif-upstream > diff --git a/debian/source/format b/debian/source/format > new file mode 100644 > index 000000000..163aaf8d8 > --- /dev/null > +++ b/debian/source/format > @@ -0,0 +1 @@ > +3.0 (quilt) > diff --git a/debian/source/include-binaries b/debian/source/include-binaries > new file mode 100644 > index 000000000..2dfb2fe55 > --- /dev/null > +++ b/debian/source/include-binaries > @@ -0,0 +1 @@ > +ovn-vif/Documentation/_static/logo.png > diff --git a/debian/testlist.py b/debian/testlist.py > new file mode 100755 > index 000000000..24d2ae9c5 > --- /dev/null > +++ b/debian/testlist.py > @@ -0,0 +1,72 @@ > +#!/usr/bin/env python3 > +import enum > +import itertools > +import os > +import sys > + > + > +if len(sys.argv) < 3: > + print( > + "usage: {} skipdescriptionlist testsuite\n" > + "\n" > + "This program reads two files, a skiplist containing the \n" > + "description of tests to skip separated by newline, and a \n" > + "generated testsuite script.\n" > + "\n" > + "From this it produces string with range of tests to execute \n" > + "which can be provided to the testsuite script.\n".format(sys.argv[0]), > + file=sys.stderr, > + ) > + sys.exit(os.EX_USAGE) > + > + > +SKIP_TEST_STRINGS = [] > +with open(sys.argv[1]) as fin: > + SKIP_TEST_STRINGS = [line.rstrip() for line in fin.readlines()] > + > + > +@enum.unique > +class State(enum.Enum): > + INIT = enum.auto() > + AT_HELP_ALL = enum.auto() > + > + > +SKIP_TESTS = set() > +TESTS = set() > +with open(sys.argv[2]) as fin: > + state = State.INIT > + last_test = 0 > + for line in fin.readlines(): > + if state == State.INIT: > + if not line.startswith('at_help_all="'): > + continue > + else: > + state = State.AT_HELP_ALL > + data = line.split('"')[1].rstrip().split(";") > + elif state == State.AT_HELP_ALL: > + if line.startswith('"'): > + break > + data = line.rstrip().split(";") > + test_nr = int(data[0]) > + if last_test < test_nr: > + last_test = test_nr > + for skip_string in SKIP_TEST_STRINGS: > + if skip_string in data[2]: > + SKIP_TESTS.add(test_nr) > + else: > + TESTS.add(test_nr) > + > + > +def ranges(testlist): > + for a, b in itertools.groupby( > + enumerate(list(testlist)), lambda pair: pair[1] - pair[0] > + ): > + b = list(b) > + yield b[0][1], b[-1][1] > + > + > +testranges = [ > + "{}-{}".format(testrange[0], testrange[1]) > + for testrange in ranges(TESTS - SKIP_TESTS) > +] > +print(" ".join(testranges)) > diff --git a/debian/watch b/debian/watch > new file mode 100644 > index 000000000..4831f3456 > --- /dev/null > +++ b/debian/watch > @@ -0,0 +1,5 @@ > +version=4 > +opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/ovn-$1\.tar\.gz/ \ > + https://github.com/ovn-org/ovn/tags .*/v?(\d\S+)\.tar\.gz > +opts="filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/ovn-vif-$1\.tar\.gz/, component=ovn-vif" \ > + https://github.com/ovn-org/ovn-vif/tags .*/v?(\d\S+)\.tar\.gz > -- > 2.36.1 > > > _______________________________________________ > dev mailing list > dev@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-dev >
On Sat, Aug 6, 2022 at 6:40 AM Frode Nordahl <frode.nordahl@canonical.com> wrote: > > Ilya and Numan, > > I preemptively added your names to the commit message because the > patch contains your work as detailed in the commit message. > > I hope this is ok. I'm fine. I would've been fine even without the credit. I do not have expertise in debian packaging to review the patch series. I'll wait for others to review for a few days. Numan > > On Fri, Aug 5, 2022 at 10:35 PM Frode Nordahl > <frode.nordahl@canonical.com> wrote: > > > > Update debian package source from Debian and Ubuntu. > > > > debian/ovn-common.logrotate comes from the RHEL packaging in this > > tree, and author is credited below. > > > > The debian/automake.mk tricks to generate the copyright file while > > building came from the work on the debian packaging in openvswitch > > and author is credited below. > > > > Signed-off-by: James Page <james.page@ubuntu.com> > > Co-Authored-by: James Page <james.page@ubuntu.com> > > Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com> > > Co-Authored-by: Christian Ehrhardt <christian.ehrhardt@canonical.com> > > Signed-off-by: Numan Siddique <numans@ovn.org> > > Co-Authored-by: Numan Siddique <numans@ovn.org> > > Signed-off-by: Ilya Maximets <i.maximets@ovn.org> > > Co-Authored-by: Ilya Maximets <i.maximets@ovn.org> > > Signed-off-by: Frode Nordahl <frode.nordahl@canonical.com> > > --- > > build-aux/initial-tab-whitelist | 3 +- > > debian/.gitignore | 17 ++ > > debian/automake.mk | 85 ++++++++- > > debian/control | 176 ++++++++++++++++++ > > debian/copyright.in | 146 +++++++++++++++ > > debian/flaky-tests-amd64.txt | 6 + > > debian/flaky-tests-arm64.txt | 5 + > > debian/flaky-tests-armel.txt | 7 + > > debian/flaky-tests-armhf.txt | 9 + > > debian/flaky-tests-i386.txt | 8 + > > debian/flaky-tests-mips64el.txt | 5 + > > debian/flaky-tests-mipsel.txt | 21 +++ > > debian/flaky-tests-ppc64el.txt | 6 + > > debian/flaky-tests-riscv64.txt | 6 + > > debian/flaky-tests-s390x.txt | 5 + > > debian/gbp.conf | 13 ++ > > debian/not-installed | 5 + > > debian/ovn-central.default | 5 + > > debian/ovn-central.install | 3 + > > debian/ovn-central.ovn-northd.service | 15 ++ > > .../ovn-central.ovn-ovsdb-server-nb.service | 18 ++ > > .../ovn-central.ovn-ovsdb-server-sb.service | 18 ++ > > debian/ovn-central.postrm | 47 +++++ > > debian/ovn-central.service | 16 ++ > > debian/ovn-common.docs | 1 + > > debian/ovn-common.install | 32 ++++ > > debian/ovn-common.logrotate | 22 +++ > > debian/ovn-common.postinst | 24 +++ > > debian/ovn-common.postrm | 23 +++ > > debian/ovn-controller-vtep.install | 1 + > > debian/ovn-controller-vtep.service | 16 ++ > > debian/ovn-doc.doc-base | 9 + > > debian/ovn-doc.install | 1 + > > debian/ovn-docker.install | 2 + > > debian/ovn-host.default | 5 + > > debian/ovn-host.install | 1 + > > debian/ovn-host.ovn-controller.service | 15 ++ > > debian/ovn-host.postrm | 43 +++++ > > debian/ovn-host.service | 14 ++ > > debian/ovn-ic-db.install | 2 + > > .../ovn-ic-db.ovn-ovsdb-server-ic-nb.service | 15 ++ > > .../ovn-ic-db.ovn-ovsdb-server-ic-sb.service | 15 ++ > > debian/ovn-ic-db.service | 15 ++ > > debian/ovn-ic.install | 1 + > > debian/ovn-ic.service | 16 ++ > > debian/rules | 104 +++++++++++ > > debian/source/format | 1 + > > debian/source/include-binaries | 1 + > > debian/testlist.py | 72 +++++++ > > debian/watch | 5 + > > 50 files changed, 1098 insertions(+), 3 deletions(-) > > create mode 100644 debian/.gitignore > > create mode 100644 debian/control > > create mode 100644 debian/copyright.in > > create mode 100644 debian/flaky-tests-amd64.txt > > create mode 100644 debian/flaky-tests-arm64.txt > > create mode 100644 debian/flaky-tests-armel.txt > > create mode 100644 debian/flaky-tests-armhf.txt > > create mode 100644 debian/flaky-tests-i386.txt > > create mode 100644 debian/flaky-tests-mips64el.txt > > create mode 100644 debian/flaky-tests-mipsel.txt > > create mode 100644 debian/flaky-tests-ppc64el.txt > > create mode 100644 debian/flaky-tests-riscv64.txt > > create mode 100644 debian/flaky-tests-s390x.txt > > create mode 100644 debian/gbp.conf > > create mode 100644 debian/not-installed > > create mode 100644 debian/ovn-central.default > > create mode 100644 debian/ovn-central.install > > create mode 100644 debian/ovn-central.ovn-northd.service > > create mode 100644 debian/ovn-central.ovn-ovsdb-server-nb.service > > create mode 100644 debian/ovn-central.ovn-ovsdb-server-sb.service > > create mode 100644 debian/ovn-central.postrm > > create mode 100644 debian/ovn-central.service > > create mode 100644 debian/ovn-common.docs > > create mode 100644 debian/ovn-common.install > > create mode 100644 debian/ovn-common.logrotate > > create mode 100644 debian/ovn-common.postinst > > create mode 100644 debian/ovn-common.postrm > > create mode 100644 debian/ovn-controller-vtep.install > > create mode 100644 debian/ovn-controller-vtep.service > > create mode 100644 debian/ovn-doc.doc-base > > create mode 100644 debian/ovn-doc.install > > create mode 100644 debian/ovn-docker.install > > create mode 100644 debian/ovn-host.default > > create mode 100644 debian/ovn-host.install > > create mode 100644 debian/ovn-host.ovn-controller.service > > create mode 100644 debian/ovn-host.postrm > > create mode 100644 debian/ovn-host.service > > create mode 100644 debian/ovn-ic-db.install > > create mode 100644 debian/ovn-ic-db.ovn-ovsdb-server-ic-nb.service > > create mode 100644 debian/ovn-ic-db.ovn-ovsdb-server-ic-sb.service > > create mode 100644 debian/ovn-ic-db.service > > create mode 100644 debian/ovn-ic.install > > create mode 100644 debian/ovn-ic.service > > create mode 100755 debian/rules > > create mode 100644 debian/source/format > > create mode 100644 debian/source/include-binaries > > create mode 100755 debian/testlist.py > > create mode 100644 debian/watch > > > > diff --git a/build-aux/initial-tab-whitelist b/build-aux/initial-tab-whitelist > > index b2f5a0791..71d4f007d 100644 > > --- a/build-aux/initial-tab-whitelist > > +++ b/build-aux/initial-tab-whitelist > > @@ -6,6 +6,5 @@ > > ^ovs/ > > ^third-party/ > > ^xenserver/ > > -^debian/rules.modules$ > > -^debian/rules$ > > +^debian/ > > ^\.gitmodules$ > > diff --git a/debian/.gitignore b/debian/.gitignore > > new file mode 100644 > > index 000000000..d2393b3fd > > --- /dev/null > > +++ b/debian/.gitignore > > @@ -0,0 +1,17 @@ > > +*.debhelper > > +*.debhelper.log > > +*.substvars > > +/autoreconf.after > > +/autoreconf.before > > +/copyright > > +/files > > +/ovn-common > > +/ovn-controller-vtep > > +/ovn-host > > +/ovn-central > > +/ovn-docker > > +/debhelper-build-stamp > > +/ovn-doc/ > > +/ovn-ic-db/ > > +/ovn-ic/ > > +/tmp > > diff --git a/debian/automake.mk b/debian/automake.mk > > index ce11fd040..d199c925d 100644 > > --- a/debian/automake.mk > > +++ b/debian/automake.mk > > @@ -1,2 +1,85 @@ > > EXTRA_DIST += \ > > - debian/changelog > > + debian/changelog \ > > + debian/control \ > > + debian/copyright.in \ > > + debian/flaky-tests-amd64.txt \ > > + debian/flaky-tests-arm64.txt \ > > + debian/flaky-tests-armel.txt \ > > + debian/flaky-tests-armhf.txt \ > > + debian/flaky-tests-i386.txt \ > > + debian/flaky-tests-mips64el.txt \ > > + debian/flaky-tests-mipsel.txt \ > > + debian/flaky-tests-ppc64el.txt \ > > + debian/flaky-tests-riscv64.txt \ > > + debian/flaky-tests-s390x.txt \ > > + debian/gbp.conf \ > > + debian/not-installed \ > > + debian/ovn-central.default \ > > + debian/ovn-central.install \ > > + debian/ovn-central.ovn-northd.service \ > > + debian/ovn-central.postrm \ > > + debian/ovn-central.service \ > > + debian/ovn-common.docs \ > > + debian/ovn-common.install \ > > + debian/ovn-common.logrotate \ > > + debian/ovn-common.postinst \ > > + debian/ovn-common.postrm \ > > + debian/ovn-controller-vtep.install \ > > + debian/ovn-controller-vtep.service \ > > + debian/ovn-doc.doc-base \ > > + debian/ovn-doc.install \ > > + debian/ovn-docker.install \ > > + debian/ovn-host.default \ > > + debian/ovn-host.install \ > > + debian/ovn-host.ovn-controller.service \ > > + debian/ovn-host.postrm \ > > + debian/ovn-host.service \ > > + debian/ovn-ic-db.install \ > > + debian/ovn-ic-db.service \ > > + debian/ovn-ic.install \ > > + debian/ovn-ic.service \ > > + debian/rules \ > > + debian/source/format \ > > + debian/source/include-binaries \ > > + debian/testlist.py \ > > + debian/watch > > + > > +check-debian-changelog-version: > > + @DEB_VERSION=`echo '$(VERSION)' | sed 's/pre/~pre/'`; \ > > + if $(FGREP) '($(DEB_VERSION)' $(srcdir)/debian/changelog >/dev/null; \ > > + then \ > > + :; \ > > + else \ > > + echo "Update debian/changelog to mention version $(VERSION)"; \ > > + exit 1; \ > > + fi > > +ALL_LOCAL += check-debian-changelog-version > > +DIST_HOOKS += check-debian-changelog-version > > + > > +update_deb_copyright = \ > > + $(AM_V_GEN) \ > > + { sed -n -e '/%AUTHORS%/q' -e p < $(srcdir)/debian/copyright.in; \ > > + tail -n +28 $(srcdir)/AUTHORS.rst | sed '1,/^$$/d' | \ > > + sed -n -e '/^$$/q' -e 's/^/ /p'; \ > > + sed -e '1,/%AUTHORS%/d' $(srcdir)/debian/copyright.in; \ > > + } > debian/copyright > > + > > +debian/copyright: AUTHORS.rst debian/copyright.in > > + $(update_deb_copyright) > > + > > +CLEANFILES += debian/copyright > > + > > +debian: debian/copyright > > +.PHONY: debian > > + > > +debian-deb: debian > > + @if test X"$(srcdir)" != X"$(top_builddir)"; then \ > > + echo "Debian packages should be built from $(abs_srcdir)/"; \ > > + exit 1; \ > > + fi > > + $(MAKE) distclean > > + $(update_deb_copyright) > > + $(update_deb_control) > > + $(AM_V_GEN) fakeroot debian/rules clean > > + $(AM_V_GEN) DEB_BUILD_OPTIONS="nocheck parallel=`nproc`" \ > > + fakeroot debian/rules binary > > diff --git a/debian/control b/debian/control > > new file mode 100644 > > index 000000000..a6f395842 > > --- /dev/null > > +++ b/debian/control > > @@ -0,0 +1,176 @@ > > +Source: ovn > > +Section: net > > +Priority: optional > > +Maintainer: OVN developers <dev@openvswitch.org> > > +Build-Depends: > > + autoconf, > > + automake, > > + bzip2, > > + debhelper-compat (= 10), > > + dh-python, > > + graphviz, > > + libcap-ng-dev, > > + libnuma-dev [amd64 i386 ppc64el arm64], > > + libpcap-dev [amd64 i386 ppc64el arm64], > > + libssl-dev, > > + libtool, > > + libudev-dev, > > + libunbound-dev, > > + openssl, > > + openstack-pkg-tools, > > + openvswitch-source (>= 2.17.2-3~), > > + pkg-config, > > + procps, > > + python3-all-dev, > > + python3-setuptools, > > + python3-sortedcontainers, > > + python3-sphinx, > > + tcpdump, > > +Standards-Version: 4.6.1 > > +Homepage: https://www.ovn.org/ > > + > > +Package: ovn-central > > +Architecture: linux-any > > +Pre-Depends: ${misc:Pre-Depends}, > > +Depends: > > + lsb-base, > > + lsb-release, > > + openvswitch-common (>= 2.17.0~), > > + ovn-common (= ${binary:Version}), > > + ${misc:Depends}, > > + ${shlibs:Depends}, > > +Description: OVN central components > > + 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. > > + . > > + ovn-central provides the userspace daemons, utilities and > > + databases for OVN that is run at a central location. > > + > > +Package: ovn-common > > +Architecture: linux-any > > +Depends: > > + ${misc:Depends}, > > + ${python3:Depends}, > > + ${shlibs:Depends}, > > +Breaks: > > + ovn-ic-db (<< 22.03~), > > +Replaces: > > + ovn-ic-db (<< 22.03~), > > +Description: OVN common components > > + 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. > > + . > > + ovn-common provides components required by other OVN packages. > > + > > +Package: ovn-controller-vtep > > +Architecture: linux-any > > +Pre-Depends: ${misc:Pre-Depends}, > > +Depends: > > + lsb-base, > > + ovn-common (= ${binary:Version}), > > + ${misc:Depends}, > > + ${shlibs:Depends}, > > +Description: OVN vtep controller > > + ovn-controller-vtep is the local controller daemon in OVN, the Open Virtual > > + Network, for VTEP enabled physical switches. It connects up to the OVN > > + Southbound database over the OVSDB protocol, and down to the VTEP database > > + over the OVSDB protocol. > > + . > > + ovn-controller-vtep provides the ovn-controller-vtep binary for controlling > > + vtep gateways. > > + > > +Package: ovn-doc > > +Section: doc > > +Architecture: all > > +Depends: > > + ${misc:Depends}, > > + ${sphinxdoc:Depends}, > > +Description: OVN documentation > > + 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. > > + . > > + This package provides documentation for configuration and use > > + of OVN. > > + > > +Package: ovn-docker > > +Architecture: linux-any > > +Depends: > > + openvswitch-common (>= 2.17.0~), > > + ovn-common (= ${binary:Version}), > > + python3-openvswitch (>= 2.17.0~), > > + ${misc:Depends}, > > + ${python3:Depends}, > > + ${shlibs:Depends}, > > +Description: OVN Docker drivers > > + 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. > > + . > > + ovn-docker provides the docker drivers for OVN. > > + > > +Package: ovn-host > > +Architecture: linux-any > > +Pre-Depends: ${misc:Pre-Depends}, > > +Depends: > > + lsb-base, > > + lsb-release, > > + openvswitch-switch (>= 2.17.0~), > > + ovn-common (= ${binary:Version}), > > + ${misc:Depends}, > > + ${shlibs:Depends}, > > +Description: OVN host components > > + 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. > > + . > > + ovn-host provides the userspace components and utilities for > > + OVN that can be run on every host/hypervisor. > > + > > +Package: ovn-ic > > +Architecture: linux-any > > +Pre-Depends: ${misc:Pre-Depends}, > > +Depends: > > + lsb-base, > > + lsb-release, > > + ovn-common (= ${binary:Version}), > > + ${misc:Depends}, > > + ${shlibs:Depends}, > > +Enhances: > > + ovn-central, > > +Suggests: > > + ovn-ic-db, > > +Description: Open Virtual Network interconnection controller > > + OVN IC, the Open Virtual Network interconnection controller, is a > > + centralized daemon which communicates with global interconnection > > + databases to configure and exchange data with local OVN databases for > > + interconnection with other OVN deployments. > > + . > > + This package provides the ovn-ic daemon which should be run alongside > > + ovn-central services in each OVN deployment zone. > > + > > +Package: ovn-ic-db > > +Architecture: linux-any > > +Pre-Depends: ${misc:Pre-Depends}, > > +Depends: > > + lsb-base, > > + lsb-release, > > + openvswitch-common (>= 2.17.0~), > > + ovn-common (= ${binary:Version}), > > + ${misc:Depends}, > > + ${shlibs:Depends}, > > +Description: Open Virtual Network interconnection controller databases > > + OVN IC, the Open Virtual Network interconnection controller, is a > > + centralized daemon which communicates with global interconnection > > + databases to configure and exchange data with local OVN databases for > > + interconnection with other OVN deployments. > > + . > > + This package provides the global OVN IC southbound and northbound > > + OVSDB databases. > > diff --git a/debian/copyright.in b/debian/copyright.in > > new file mode 100644 > > index 000000000..911704ae0 > > --- /dev/null > > +++ b/debian/copyright.in > > @@ -0,0 +1,146 @@ > > +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ > > +Upstream-Name: Open Virtual Network (OVN) > > +Source: https://github.com/ovn-org/ovn > > +Files-Excluded: debian > > +Upstream-Authors: > > +%AUTHORS% > > + > > +Files: * > > +Copyright: 2007-2017 Nicira, Inc. > > + 2010 Jean Tourrilhes - HP-Labs. > > + 2008,2009,2010 Citrix Systems, Inc. > > + 2011 Gaetano Catalli > > + 2000-2003 Geoffrey Wossum <gwossum@acm.org> > > + 2000 The NetBSD Foundation, Inc. > > + 1995, 1996, 1997, and 1998 WIDE Project. > > + 1982, 1986, 1990, 1993 The Regents of the University of California. > > + 2008, 2012 Vincent Bernat <bernat@luffy.cx> > > + 2014 Michael Chapman > > + 2014 WindRiver, Inc. > > + 2014 Avaya, Inc. > > + 2001 Daniel Hartmeier > > + 2002 - 2008 Henning Brauer > > + 2012 Gleb Smirnoff <glebius@FreeBSD.org> > > + 2015-2019 Red Hat, Inc. > > + 2017 DtDream Technology Co., Ltd. > > + 2018 eBay Inc. > > +License: Apache-2.0 > > +Comment: > > + This package contains code from other projects and authors not > > + mentioned elsewhere. > > + . > > + Open vSwitch > > + Copyright (c) 2007, 2008, 2009, 2010, 2011, 2013 Nicira, Inc. > > + . > > + Open vSwitch BSD port > > + Copyright (c) 2011 Gaetano Catalli > > + . > > + Apache Portable Runtime > > + Copyright 2008 The Apache Software Foundation. > > + . > > + This product includes software developed by > > + The Apache Software Foundation (http://www.apache.org/). > > + . > > + Portions of this software were developed at the National Center > > + for Supercomputing Applications (NCSA) at the University of > > + Illinois at Urbana-Champaign. > > + . > > + lib/ovs.tmac includes troff macros written by Eric S. Raymond > > + and Werner Lemberg. > > + . > > + m4/include_next.m4 and m4/absolute-header.m4 > > + Copyright (C) 2006-2013 Free Software Foundation, Inc. > > + . > > + Rapid Spanning Tree Protocol (RSTP) implementation > > + Copyright (c) 2011-2014 M3S, Srl - Italy > > + . > > + LLDP implementation > > + Copyright (c) 2008, 2012 Vincent Bernat <bernat@luffy.cx> > > + . > > + LLDP includes code used from the Net::CDP project based on the ISC license > > + Copyright (c) 2014 Michael Chapman > > + . > > + LLDP includes code used from the ladvd project based on the ISC license > > + Copyright (c) 2008, 2009, 2010 Sten Spans <sten@blinkenlights.nl> > > + . > > + Auto Attach implementation > > + Copyright (c) 2014, 2015 WindRiver, Inc > > + Copyright (c) 2014, 2015 Avaya, Inc > > + . > > + TCP connection tracker from FreeBSD pf, BSD licensed > > + Copyright (c) 2001 Daniel Hartmeier > > + Copyright (c) 2002 - 2008 Henning Brauer > > + Copyright (c) 2012 Gleb Smirnoff <glebius@FreeBSD.org> > > + > > +Files: build-aux/cccl > > +Copyright: 2000-2003 Geoffrey Wossum <gwossum@acm.org> > > +License: GPL-2 > > + > > +Files: utilities/bugtool/ovn-bugtool-* > > + utilities/bugtool/plugins/network-status/ovn.xml > > +Copyright: 2016 Nicira, Inc. > > +License: LGPL-2.1 > > + > > +Files: m4/absolute-header.m4 > > + m4/include_next.m4 > > +Copyright: Derek Price > > + Paul Eggert > > + 2006-2013 Free Software Foundation, Inc. > > +License: file-is-free-software > > + This file is free software; the Free Software Foundation > > + gives unlimited permission to copy and/or distribute it, > > + with or without modifications, as long as this notice is preserved. > > + > > +Files: ovn-vif/* > > +Copyright: 2021 Canonical > > +License: Apache-2.0 > > + > > +License: GPL-2 > > + This program is free software; you can 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 of the License, or (at your option) any later > > + version. > > + . > > + This program 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 along with > > + this program; if not, write to the Free Software Foundation, Inc., 51 Franklin > > + St, Fifth Floor, Boston, MA 02110-1301 USA > > + . > > + On Debian systems, the complete text of the GNU General Public License v2 > > + (GPL) can be found in /usr/share/common-licenses/GPL-2. > > + > > +License: LGPL-2.1 > > + This library is free software; you can redistribute it and/or modify it under > > + the terms of the GNU Lesser General Public License as published by the Free > > + Software Foundation; either version 2.1 of the License. > > + . > > + This library 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 Lesser General Public License for more > > + details. > > + . > > + You should have received a copy of the GNU Lesser General Public License along > > + with this library; if not, write to the Free Software Foundation, Inc., 51 > > + Franklin St, Fifth Floor, Boston, MA 02110-1301 USA > > + . > > + On Debian systems, the complete text of the GNU Lesser General Public License > > + (LGPL) may be found in /usr/share/common-licenses/LGPL-2. > > + > > +License: Apache-2.0 > > + Licensed under the Apache License, Version 2.0 (the "License"); > > + you may not use this file except in compliance with the License. > > + You may obtain a copy of the License at > > + . > > + http://www.apache.org/licenses/LICENSE-2.0 > > + . > > + Unless required by applicable law or agreed to in writing, software > > + distributed under the License is distributed on an "AS IS" BASIS, > > + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. > > + See the License for the specific language governing permissions and > > + limitations under the License. > > + . > > + On Debian-based systems the full text of the Apache version 2.0 license > > + can be found in `/usr/share/common-licenses/Apache-2.0'. > > diff --git a/debian/flaky-tests-amd64.txt b/debian/flaky-tests-amd64.txt > > new file mode 100644 > > index 000000000..cfe5d8c66 > > --- /dev/null > > +++ b/debian/flaky-tests-amd64.txt > > @@ -0,0 +1,6 @@ > > +send gratuitous arp on localnet > > +policy-based routing IPv6: 1 HVs, 3 LSs, 1 lport/LS, 1 LR > > +ACLs on Port Groups > > +multi-vtep SB Chassis encap updates > > +ACL with Port Group conjunction flow efficiency > > +northd ssl file change > > diff --git a/debian/flaky-tests-arm64.txt b/debian/flaky-tests-arm64.txt > > new file mode 100644 > > index 000000000..996d0537e > > --- /dev/null > > +++ b/debian/flaky-tests-arm64.txt > > @@ -0,0 +1,5 @@ > > +ovn-controller incremental processing > > +nb_cfg timestamp > > +multi-vtep SB Chassis encap updates > > +ACL with Port Group conjunction flow efficiency > > +ipsec -- basic configuration > > diff --git a/debian/flaky-tests-armel.txt b/debian/flaky-tests-armel.txt > > new file mode 100644 > > index 000000000..6ce03bb10 > > --- /dev/null > > +++ b/debian/flaky-tests-armel.txt > > @@ -0,0 +1,7 @@ > > +policy-based routing IPv6: 1 HVs, 3 LSs, 1 lport/LS, 1 LR > > +1 LR with distributed router gateway port > > +ACL conjunction > > +IP packet buffering > > +test transport zones > > +lflow cache for conjunctions > > +nb_cfg timestamp > > diff --git a/debian/flaky-tests-armhf.txt b/debian/flaky-tests-armhf.txt > > new file mode 100644 > > index 000000000..43654f3ae > > --- /dev/null > > +++ b/debian/flaky-tests-armhf.txt > > @@ -0,0 +1,9 @@ > > +policy-based routing IPv6: 1 HVs, 3 LSs, 1 lport/LS, 1 LR > > +ovn-controller incremental processing > > +ACL conjunction > > +neighbor update on same HV > > +nb_cfg timestamp > > +multi-vtep SB Chassis encap updates > > +ACL with Port Group conjunction flow efficiency > > +ovn-ic -- gateway sync > > +ipsec -- basic configuration > > diff --git a/debian/flaky-tests-i386.txt b/debian/flaky-tests-i386.txt > > new file mode 100644 > > index 000000000..b82300de9 > > --- /dev/null > > +++ b/debian/flaky-tests-i386.txt > > @@ -0,0 +1,8 @@ > > +policy-based routing: 1 HVs, 2 LSs, 1 lport/LS, 1 LR > > +nb_cfg timestamp > > +ARP replies for SNAT external ips > > +conflict ACLs with address set > > +multi-vtep SB Chassis encap updates > > +ACL with Port Group conjunction flow efficiency > > +ovn-ic -- gateway sync > > +ipsec -- basic configuration > > diff --git a/debian/flaky-tests-mips64el.txt b/debian/flaky-tests-mips64el.txt > > new file mode 100644 > > index 000000000..e67e2c4ca > > --- /dev/null > > +++ b/debian/flaky-tests-mips64el.txt > > @@ -0,0 +1,5 @@ > > +multi-vtep SB Chassis encap updates > > +ACL with Port Group conjunction flow efficiency > > +ovn-ic -- gateway sync > > +ipsec -- basic configuration > > +nb_cfg timestamp > > diff --git a/debian/flaky-tests-mipsel.txt b/debian/flaky-tests-mipsel.txt > > new file mode 100644 > > index 000000000..00d383572 > > --- /dev/null > > +++ b/debian/flaky-tests-mipsel.txt > > @@ -0,0 +1,21 @@ > > +vtep: 3 HVs, 1 VIFs/HV, 1 GW, 1 LS > > +policy-based routing: 1 HVs, 2 LSs, 1 lport/LS, 1 LR > > +policy-based routing IPv6: 1 HVs, 3 LSs, 1 lport/LS, 1 LR > > +send gratuitous arp for nat ips in localnet > > +send gratuitous arp for NAT rules on distributed router > > +vlan traffic for external network with distributed router gateway port > > +send gratuitous ARP for NAT rules on HA distributed router > > +ACL conjunction > > +router - check packet length - icmp defrag > > +router - check packet length - icmp defrag > > +IP packet buffering > > +test transport zones > > +Load balancer health checks > > +interconnection > > +nb_cfg timestamp > > +conflict ACLs with address set > > +multi-vtep SB Chassis encap updates > > +ACL with Port Group conjunction flow efficiency > > +northd ssl file change > > +ovn-ic -- gateway sync > > +ipsec -- basic configuration > > diff --git a/debian/flaky-tests-ppc64el.txt b/debian/flaky-tests-ppc64el.txt > > new file mode 100644 > > index 000000000..6e089b6cb > > --- /dev/null > > +++ b/debian/flaky-tests-ppc64el.txt > > @@ -0,0 +1,6 @@ > > +options:requested-chassis for logical port > > +multi-vtep SB Chassis encap updates > > +ACL with Port Group conjunction flow efficiency > > +northd ssl file change > > +ovn-ic -- gateway sync > > +ipsec -- basic configuration > > diff --git a/debian/flaky-tests-riscv64.txt b/debian/flaky-tests-riscv64.txt > > new file mode 100644 > > index 000000000..50570ab80 > > --- /dev/null > > +++ b/debian/flaky-tests-riscv64.txt > > @@ -0,0 +1,6 @@ > > +send gratuitous arp on localnet > > +1 LR with distributed router gateway port > > +router - check packet length - icmp defrag > > +multi-vtep SB Chassis encap updates > > +ACL with Port Group conjunction flow efficiency > > +ipsec -- basic configuration > > diff --git a/debian/flaky-tests-s390x.txt b/debian/flaky-tests-s390x.txt > > new file mode 100644 > > index 000000000..a642063d9 > > --- /dev/null > > +++ b/debian/flaky-tests-s390x.txt > > @@ -0,0 +1,5 @@ > > +options:requested-chassis for logical port > > +ACLs on Port Groups > > +multi-vtep SB Chassis encap updates > > +ACL with Port Group conjunction flow efficiency > > +ipsec -- basic configuration > > diff --git a/debian/gbp.conf b/debian/gbp.conf > > new file mode 100644 > > index 000000000..438b3fa8d > > --- /dev/null > > +++ b/debian/gbp.conf > > @@ -0,0 +1,13 @@ > > +[DEFAULT] > > +debian-branch = main > > +upstream-branch = upstream > > +pristine-tar = True > > +components = ['ovn-vif'] > > + > > +[import-orig] > > +upstream-vcs-tag = v%(version)s > > + > > +[dch] > > +multimaint-merge = True > > +customizations=/usr/share/doc/git-buildpackage/examples/wrap_cl.py > > +git-log=--first-parent > > diff --git a/debian/not-installed b/debian/not-installed > > new file mode 100644 > > index 000000000..e213b139d > > --- /dev/null > > +++ b/debian/not-installed > > @@ -0,0 +1,5 @@ > > +# The OVN library and headers are currently not considered ABI/API stable. > > +# If the need arises to build sibling projects we should probably provide an > > +# ovn-source package. > > +usr/include/* > > +usr/lib/* > > diff --git a/debian/ovn-central.default b/debian/ovn-central.default > > new file mode 100644 > > index 000000000..7cea13e50 > > --- /dev/null > > +++ b/debian/ovn-central.default > > @@ -0,0 +1,5 @@ > > +# This is a POSIX shell fragment -*- sh -*- > > + > > +# OVN_CTL_OPTS: Extra options to pass to ovs-ctl. This is, for example, > > +# a suitable place to specify --ovn-northd-wrapper=valgrind. > > +# OVN_CTL_OPTS= > > diff --git a/debian/ovn-central.install b/debian/ovn-central.install > > new file mode 100644 > > index 000000000..095ca7cfa > > --- /dev/null > > +++ b/debian/ovn-central.install > > @@ -0,0 +1,3 @@ > > +usr/bin/ovn-northd > > +usr/share/ovn/ovn-nb.ovsschema > > +usr/share/ovn/ovn-sb.ovsschema > > diff --git a/debian/ovn-central.ovn-northd.service b/debian/ovn-central.ovn-northd.service > > new file mode 100644 > > index 000000000..09c600016 > > --- /dev/null > > +++ b/debian/ovn-central.ovn-northd.service > > @@ -0,0 +1,15 @@ > > +[Unit] > > +Description=Open Virtual Network central control daemon > > +After=network.target ovn-nb-ovsdb.service ovn-sb-ovsdb.service > > +PartOf=ovn-central.service > > +DefaultDependencies=no > > + > > +[Service] > > +Type=forking > > +EnvironmentFile=-/etc/default/ovn-central > > +PIDFile=%t/ovn/ovn-northd.pid > > +ExecStart=/usr/share/ovn/scripts/ovn-ctl start_northd --ovn-manage-ovsdb=no --no-monitor $OVN_CTL_OPTS > > +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_northd --no-monitor > > +Restart=on-failure > > +LimitNOFILE=65535 > > +TimeoutStopSec=15 > > diff --git a/debian/ovn-central.ovn-ovsdb-server-nb.service b/debian/ovn-central.ovn-ovsdb-server-nb.service > > new file mode 100644 > > index 000000000..81f6c75a3 > > --- /dev/null > > +++ b/debian/ovn-central.ovn-ovsdb-server-nb.service > > @@ -0,0 +1,18 @@ > > +[Unit] > > +Description=Open vSwitch database server for OVN Northbound database > > +After=network.target > > +PartOf=ovn-central.service > > +DefaultDependencies=no > > + > > +[Service] > > +Type=simple > > +EnvironmentFile=-/etc/default/ovn-central > > +PIDFile=%t/ovn/ovnnb_db.pid > > +ExecStart=/usr/share/ovn/scripts/ovn-ctl run_nb_ovsdb $OVN_CTL_OPTS > > +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_nb_ovsdb > > +Restart=on-failure > > +LimitNOFILE=65535 > > +TimeoutStopSec=15 > > + > > +[Install] > > +Alias=ovn-nb-ovsdb.service > > diff --git a/debian/ovn-central.ovn-ovsdb-server-sb.service b/debian/ovn-central.ovn-ovsdb-server-sb.service > > new file mode 100644 > > index 000000000..3aa840d2f > > --- /dev/null > > +++ b/debian/ovn-central.ovn-ovsdb-server-sb.service > > @@ -0,0 +1,18 @@ > > +[Unit] > > +Description=Open vSwitch database server for OVN Southbound database > > +After=network.target > > +PartOf=ovn-central.service > > +DefaultDependencies=no > > + > > +[Service] > > +Type=simple > > +EnvironmentFile=-/etc/default/ovn-central > > +PIDFile=%t/run/ovn/ovnsb_db.pid > > +ExecStart=/usr/share/ovn/scripts/ovn-ctl run_sb_ovsdb $OVN_CTL_OPTS > > +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_sb_ovsdb > > +Restart=on-failure > > +LimitNOFILE=65535 > > +TimeoutStopSec=15 > > + > > +[Install] > > +Alias=ovn-sb-ovsdb.service > > diff --git a/debian/ovn-central.postrm b/debian/ovn-central.postrm > > new file mode 100644 > > index 000000000..3b3483fc3 > > --- /dev/null > > +++ b/debian/ovn-central.postrm > > @@ -0,0 +1,47 @@ > > +#!/bin/sh > > +# postrm script for ovn-central > > +# > > +# see: dh_installdeb(1) > > + > > +set -e > > + > > +# summary of how this script can be called: > > +# * <postrm> `remove' > > +# * <postrm> `purge' > > +# * <old-postrm> `upgrade' <new-version> > > +# * <new-postrm> `failed-upgrade' <old-version> > > +# * <new-postrm> `abort-install' > > +# * <new-postrm> `abort-install' <old-version> > > +# * <new-postrm> `abort-upgrade' <old-version> > > +# * <disappearer's-postrm> `disappear' <overwriter> > > +# <overwriter-version> > > +# for details, see http://www.debian.org/doc/debian-policy/ or > > +# the debian-policy package > > + > > + > > +case "$1" in > > + purge) > > + rm -f /etc/openvswitch/ovnnb.db* > > + rm -f /etc/openvswitch/.ovnnb.db.~lock~ > > + rm -f /etc/openvswitch/ovnsb.db* > > + rm -f /etc/openvswitch/.ovnsb.db.~lock~ > > + rm -f /var/log/openvswitch/ovn-northd.log* || true > > + ;; > > + > > + remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) > > + ;; > > + > > + *) > > + echo "postrm called with unknown argument \`$1'" >&2 > > + exit 1 > > + ;; > > +esac > > + > > +# dh_installdeb will replace this with shell code automatically > > +# generated by other debhelper scripts. > > + > > +#DEBHELPER# > > + > > +exit 0 > > + > > + > > diff --git a/debian/ovn-central.service b/debian/ovn-central.service > > new file mode 100644 > > index 000000000..aead7eae6 > > --- /dev/null > > +++ b/debian/ovn-central.service > > @@ -0,0 +1,16 @@ > > +[Unit] > > +Description=Open Virtual Network central components > > +After=network.target > > +Requires=network.target > > +Wants=ovn-northd.service > > +Wants=ovn-ovsdb-server-sb.service > > +Wants=ovn-ovsdb-server-nb.service > > + > > +[Service] > > +Type=oneshot > > +ExecStart=/bin/true > > +ExecStop=/bin/true > > +RemainAfterExit=yes > > + > > +[Install] > > +WantedBy=multi-user.target > > diff --git a/debian/ovn-common.docs b/debian/ovn-common.docs > > new file mode 100644 > > index 000000000..6d5ee1d05 > > --- /dev/null > > +++ b/debian/ovn-common.docs > > @@ -0,0 +1 @@ > > +NOTICE > > diff --git a/debian/ovn-common.install b/debian/ovn-common.install > > new file mode 100644 > > index 000000000..52e9e0050 > > --- /dev/null > > +++ b/debian/ovn-common.install > > @@ -0,0 +1,32 @@ > > +usr/bin/ovn-appctl > > +usr/bin/ovn_detrace.py > > +usr/bin/ovn-detrace > > +usr/bin/ovn-nbctl > > +usr/bin/ovn-sbctl > > +/usr/bin/ovn-ic-nbctl > > +/usr/bin/ovn-ic-sbctl > > +usr/bin/ovn-trace > > +usr/share/ovn/bugtool-plugins/network-status/ovn.xml > > +usr/share/ovn/scripts/ovn-ctl > > +usr/share/ovn/scripts/ovn-lib > > +usr/share/ovn/scripts/ovndb-servers.ocf > > +usr/share/ovn/scripts/ovn-bugtool-nbctl-show > > +usr/share/ovn/scripts/ovn-bugtool-sbctl-lflow-list > > +usr/share/ovn/scripts/ovn-bugtool-sbctl-show > > +usr/share/man/man1/ovn-detrace.1 > > +usr/share/man/man5/ovn-ic-nb.5 > > +usr/share/man/man5/ovn-ic-sb.5 > > +usr/share/man/man5/ovn-nb.5 > > +usr/share/man/man5/ovn-sb.5 > > +usr/share/man/man7/ovn-architecture.7 > > +usr/share/man/man8/ovn-appctl.8 > > +usr/share/man/man8/ovn-controller-vtep.8 > > +usr/share/man/man8/ovn-controller.8 > > +usr/share/man/man8/ovn-ctl.8 > > +usr/share/man/man8/ovn-ic-nbctl.8 > > +usr/share/man/man8/ovn-ic-sbctl.8 > > +usr/share/man/man8/ovn-ic.8 > > +usr/share/man/man8/ovn-nbctl.8 > > +usr/share/man/man8/ovn-northd.8 > > +usr/share/man/man8/ovn-sbctl.8 > > +usr/share/man/man8/ovn-trace.8 > > diff --git a/debian/ovn-common.logrotate b/debian/ovn-common.logrotate > > new file mode 100644 > > index 000000000..a351ec303 > > --- /dev/null > > +++ b/debian/ovn-common.logrotate > > @@ -0,0 +1,22 @@ > > +# Copyright (C) 2019 Red Hat, Inc. > > +# > > +# Copying and distribution of this file, with or without modification, > > +# are permitted in any medium without royalty provided the copyright > > +# notice and this notice are preserved. This file is offered as-is, > > +# without warranty of any kind. > > + > > +/var/log/ovn/*.log { > > + su root root > > + daily > > + compress > > + sharedscripts > > + missingok > > + postrotate > > + # Tell OVN daemons to reopen their log files > > + if [ -d /var/run/ovn ]; then > > + for ctl in /var/run/ovn/*.ctl; do > > + ovs-appctl -t "$ctl" vlog/reopen 2>/dev/null || : > > + done > > + fi > > + endscript > > +} > > diff --git a/debian/ovn-common.postinst b/debian/ovn-common.postinst > > new file mode 100644 > > index 000000000..588044fbc > > --- /dev/null > > +++ b/debian/ovn-common.postinst > > @@ -0,0 +1,24 @@ > > +#!/bin/sh > > +# postinst script for ovn-common > > +# > > +# see: dh_installdeb(1) > > + > > +set -e > > + > > +case "$1" in > > + configure) > > + mkdir -p /usr/lib/ocf/resource.d/ovn > > + ln -sf /usr/share/openvswitch/scripts/ovndb-servers.ocf /usr/lib/ocf/resource.d/ovn/ovndb-servers > > + ;; > > + abort-upgrade|abort-remove|abort-deconfigure) > > + ;; > > + > > + *) > > + echo "postinst called with unknown argument \`$1'" >&2 > > + exit 1 > > + ;; > > +esac > > + > > +#DEBHELPER# > > + > > +exit 0 > > diff --git a/debian/ovn-common.postrm b/debian/ovn-common.postrm > > new file mode 100644 > > index 000000000..9face726b > > --- /dev/null > > +++ b/debian/ovn-common.postrm > > @@ -0,0 +1,23 @@ > > +#!/bin/sh > > +# postrm script for openvswitch-testcontroller > > +# > > +# see: dh_installdeb(1) > > + > > +set -e > > + > > +case "$1" in > > + purge|remove) > > + rm -rf /usr/lib/ocf/resource.d/ovn > > + ;; > > + upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) > > + ;; > > + > > + *) > > + echo "postrm called with unknown argument \`$1'" >&2 > > + exit 1 > > + ;; > > +esac > > + > > +#DEBHELPER# > > + > > +exit 0 > > diff --git a/debian/ovn-controller-vtep.install b/debian/ovn-controller-vtep.install > > new file mode 100644 > > index 000000000..1d208f37e > > --- /dev/null > > +++ b/debian/ovn-controller-vtep.install > > @@ -0,0 +1 @@ > > +usr/bin/ovn-controller-vtep > > diff --git a/debian/ovn-controller-vtep.service b/debian/ovn-controller-vtep.service > > new file mode 100644 > > index 000000000..d51e75277 > > --- /dev/null > > +++ b/debian/ovn-controller-vtep.service > > @@ -0,0 +1,16 @@ > > +[Unit] > > +Description=Open Virtual Network VTEP gateway controller daemon > > +After=openvswitch-switch.service > > +Requires=openvswitch-switch.service > > + > > +[Service] > > +Type=forking > > +PIDFile=%t/ovn/ovn-controller-vtep.pid > > +ExecStart=/usr/share/ovn/scripts/ovn-ctl start_controller_vtep --no-monitor $OVN_CTL_OPTS > > +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_controller_vtep --no-monitor > > +Restart=on-failure > > +LimitNOFILE=65535 > > +TimeoutStopSec=15 > > + > > +[Install] > > +WantedBy=multi-user.target > > diff --git a/debian/ovn-doc.doc-base b/debian/ovn-doc.doc-base > > new file mode 100644 > > index 000000000..c7192ebdb > > --- /dev/null > > +++ b/debian/ovn-doc.doc-base > > @@ -0,0 +1,9 @@ > > +Document: ovn-doc > > +Title: Open Virtual Network Documentation > > +Author: N/A > > +Abstract: Sphinx documentation for Open Virtual Network > > +Section: Network/Communication > > + > > +Format: HTML > > +Index: /usr/share/doc/ovn-doc/html/index.html > > +Files: /usr/share/doc/ovn-doc/html/* > > diff --git a/debian/ovn-doc.install b/debian/ovn-doc.install > > new file mode 100644 > > index 000000000..4cfd153cf > > --- /dev/null > > +++ b/debian/ovn-doc.install > > @@ -0,0 +1 @@ > > +Documentation/_build/html/* /usr/share/doc/ovn-doc/html/ > > diff --git a/debian/ovn-docker.install b/debian/ovn-docker.install > > new file mode 100644 > > index 000000000..583306732 > > --- /dev/null > > +++ b/debian/ovn-docker.install > > @@ -0,0 +1,2 @@ > > +usr/bin/ovn-docker-overlay-driver > > +usr/bin/ovn-docker-underlay-driver > > diff --git a/debian/ovn-host.default b/debian/ovn-host.default > > new file mode 100644 > > index 000000000..7fd54efda > > --- /dev/null > > +++ b/debian/ovn-host.default > > @@ -0,0 +1,5 @@ > > +# This is a POSIX shell fragment -*- sh -*- > > + > > +# OVN_CTL_OPTS: Extra options to pass to ovs-ctl. This is, for example, > > +# a suitable place to specify --ovn-controller-wrapper=valgrind. > > +# OVN_CTL_OPTS= > > diff --git a/debian/ovn-host.install b/debian/ovn-host.install > > new file mode 100644 > > index 000000000..d2de82fd9 > > --- /dev/null > > +++ b/debian/ovn-host.install > > @@ -0,0 +1 @@ > > +usr/bin/ovn-controller > > diff --git a/debian/ovn-host.ovn-controller.service b/debian/ovn-host.ovn-controller.service > > new file mode 100644 > > index 000000000..a41e77d75 > > --- /dev/null > > +++ b/debian/ovn-host.ovn-controller.service > > @@ -0,0 +1,15 @@ > > +[Unit] > > +Description=Open Virtual Network host control daemon > > +After=network.target openvswitch-switch.service > > +PartOf=ovn-host.service > > +DefaultDependencies=no > > + > > +[Service] > > +Type=forking > > +EnvironmentFile=-/etc/default/ovn-host > > +PIDFile=%t/ovn/ovn-controller.pid > > +ExecStart=/usr/share/ovn/scripts/ovn-ctl start_controller --ovn-manage-ovsdb=no --no-monitor $OVN_CTL_OPTS > > +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_controller --no-monitor > > +Restart=on-failure > > +LimitNOFILE=65535 > > +TimeoutStopSec=15 > > diff --git a/debian/ovn-host.postrm b/debian/ovn-host.postrm > > new file mode 100644 > > index 000000000..9d17ef966 > > --- /dev/null > > +++ b/debian/ovn-host.postrm > > @@ -0,0 +1,43 @@ > > +#!/bin/sh > > +# postrm script for ovn-host > > +# > > +# see: dh_installdeb(1) > > + > > +set -e > > + > > +# summary of how this script can be called: > > +# * <postrm> `remove' > > +# * <postrm> `purge' > > +# * <old-postrm> `upgrade' <new-version> > > +# * <new-postrm> `failed-upgrade' <old-version> > > +# * <new-postrm> `abort-install' > > +# * <new-postrm> `abort-install' <old-version> > > +# * <new-postrm> `abort-upgrade' <old-version> > > +# * <disappearer's-postrm> `disappear' <overwriter> > > +# <overwriter-version> > > +# for details, see http://www.debian.org/doc/debian-policy/ or > > +# the debian-policy package > > + > > + > > +case "$1" in > > + purge) > > + rm -f /var/log/openvswitch/ovn-controller.log* || true > > + ;; > > + > > + remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) > > + ;; > > + > > + *) > > + echo "postrm called with unknown argument \`$1'" >&2 > > + exit 1 > > + ;; > > +esac > > + > > +# dh_installdeb will replace this with shell code automatically > > +# generated by other debhelper scripts. > > + > > +#DEBHELPER# > > + > > +exit 0 > > + > > + > > diff --git a/debian/ovn-host.service b/debian/ovn-host.service > > new file mode 100644 > > index 000000000..b524888fd > > --- /dev/null > > +++ b/debian/ovn-host.service > > @@ -0,0 +1,14 @@ > > +[Unit] > > +Description=Open Virtual Network host components > > +After=network.target > > +Requires=network.target > > +Wants=ovn-controller.service > > + > > +[Service] > > +Type=oneshot > > +ExecStart=/bin/true > > +ExecStop=/bin/true > > +RemainAfterExit=yes > > + > > +[Install] > > +WantedBy=multi-user.target > > diff --git a/debian/ovn-ic-db.install b/debian/ovn-ic-db.install > > new file mode 100644 > > index 000000000..a4d50002e > > --- /dev/null > > +++ b/debian/ovn-ic-db.install > > @@ -0,0 +1,2 @@ > > +/usr/share/ovn/ovn-ic-nb.ovsschema > > +/usr/share/ovn/ovn-ic-sb.ovsschema > > diff --git a/debian/ovn-ic-db.ovn-ovsdb-server-ic-nb.service b/debian/ovn-ic-db.ovn-ovsdb-server-ic-nb.service > > new file mode 100644 > > index 000000000..193024daf > > --- /dev/null > > +++ b/debian/ovn-ic-db.ovn-ovsdb-server-ic-nb.service > > @@ -0,0 +1,15 @@ > > +[Unit] > > +Description=Open vSwitch database server for OVN IC Northbound database > > +After=network.target > > +PartOf=ovn-ic-db.service > > +DefaultDependencies=no > > + > > +[Service] > > +Type=simple > > +EnvironmentFile=-/etc/default/ovn-ic > > +PIDFile=%t/ovn/ovn_ic_nb_db.pid > > +ExecStart=/usr/share/ovn/scripts/ovn-ctl run_ic_nb_ovsdb $OVN_CTL_OPTS > > +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_ic_nb_ovsdb > > +Restart=on-failure > > +LimitNOFILE=65535 > > +TimeoutStopSec=15 > > diff --git a/debian/ovn-ic-db.ovn-ovsdb-server-ic-sb.service b/debian/ovn-ic-db.ovn-ovsdb-server-ic-sb.service > > new file mode 100644 > > index 000000000..714748325 > > --- /dev/null > > +++ b/debian/ovn-ic-db.ovn-ovsdb-server-ic-sb.service > > @@ -0,0 +1,15 @@ > > +[Unit] > > +Description=Open vSwitch database server for OVN IC Southbound database > > +After=network.target > > +PartOf=ovn-ic-db.service > > +DefaultDependencies=no > > + > > +[Service] > > +Type=simple > > +EnvironmentFile=-/etc/default/ovn-ic > > +PIDFile=%t/ovn/ovn_ic_sb_db.pid > > +ExecStart=/usr/share/ovn/scripts/ovn-ctl run_ic_sb_ovsdb $OVN_CTL_OPTS > > +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_ic_sb_ovsdb > > +Restart=on-failure > > +LimitNOFILE=65535 > > +TimeoutStopSec=15 > > diff --git a/debian/ovn-ic-db.service b/debian/ovn-ic-db.service > > new file mode 100644 > > index 000000000..b116bc79d > > --- /dev/null > > +++ b/debian/ovn-ic-db.service > > @@ -0,0 +1,15 @@ > > +[Unit] > > +Description=Open Virtual Network interconnection databases > > +After=network.target > > +Requires=network.target > > +Wants=ovn-ovsdb-server-ic-sb.service > > +Wants=ovn-ovsdb-server-ic-nb.service > > + > > +[Service] > > +Type=oneshot > > +ExecStart=/bin/true > > +ExecStop=/bin/true > > +RemainAfterExit=yes > > + > > +[Install] > > +WantedBy=multi-user.target > > diff --git a/debian/ovn-ic.install b/debian/ovn-ic.install > > new file mode 100644 > > index 000000000..b15508259 > > --- /dev/null > > +++ b/debian/ovn-ic.install > > @@ -0,0 +1 @@ > > +/usr/bin/ovn-ic > > diff --git a/debian/ovn-ic.service b/debian/ovn-ic.service > > new file mode 100644 > > index 000000000..07974285f > > --- /dev/null > > +++ b/debian/ovn-ic.service > > @@ -0,0 +1,16 @@ > > +[Unit] > > +Description=Open Virtual Network interconnection controller > > +After=network.target > > +Requires=network.target > > + > > +[Service] > > +Type=forking > > +PIDFile=%t/ovn/ovn-ic.pid > > +ExecStart=/usr/share/ovn/scripts/ovn-ctl start_ic --no-monitor > > +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_ic > > +Restart=on-failure > > +LimitNOFILE=65535 > > +TimeoutStopSec=15 > > + > > +[Install] > > +WantedBy=multi-user.target > > diff --git a/debian/rules b/debian/rules > > new file mode 100755 > > index 000000000..4596afb49 > > --- /dev/null > > +++ b/debian/rules > > @@ -0,0 +1,104 @@ > > +#!/usr/bin/make -f > > +# -*- makefile -*- > > +#export DH_VERBOSE=1 > > +export DEB_BUILD_MAINT_OPTIONS = hardening=+all > > + > > +%: > > + dh $@ --with autoreconf,python3,sphinxdoc > > + > > +ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) > > +PARALLEL = -j$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) > > +else > > +PARALLEL = > > +endif > > + > > +override_dh_auto_configure: > > + # Configure OVS before OVN > > + test -d $(CURDIR)/ovs || mkdir ovs > > + cd ovs && tar -xzf /usr/src/openvswitch/openvswitch.tar.gz --strip-components=1 > > + cd ovs && ./configure --enable-ssl --localstatedir=/var --sysconfdir=/etc --prefix=/usr && make $(PARALLEL) > > + # Configure OVN to allow building OVN VIF > > + ./boot.sh && ./configure \ > > + --prefix=/usr \ > > + --localstatedir=/var \ > > + --sysconfdir=/etc \ > > + --with-dbdir=/var/lib/ovn \ > > + --with-ovs-source=$(CURDIR)/ovs \ > > + --enable-ssl > > + # Configure and build OVN VIF > > + cd ovn-vif && \ > > + ./boot.sh && \ > > + ./configure \ > > + --with-ovs-source=$(CURDIR)/ovs \ > > + --with-ovn-source=$(CURDIR) \ > > + --enable-plug-representor && \ > > + make $(PARALLEL) > > + # Use dh_auto_configure to build OVN > > + dh_auto_configure -- \ > > + --prefix=/usr \ > > + --localstatedir=/var \ > > + --sysconfdir=/etc \ > > + --with-dbdir=/var/lib/ovn \ > > + --with-ovs-source=$(CURDIR)/ovs \ > > + --enable-ssl \ > > + --with-vif-plug-provider=$(CURDIR)/ovn-vif > > + $(MAKE) debian/copyright > > + > > +TEST_LIST = $(shell \ > > + $(CURDIR)/debian/testlist.py \ > > + $(CURDIR)/debian/flaky-tests-$(DEB_HOST_ARCH).txt \ > > + $(CURDIR)/tests/testsuite) > > + > > +override_dh_auto_test: > > +ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) > > + if $(MAKE) check TESTSUITEFLAGS='$(PARALLEL) $(TEST_LIST)' || \ > > + $(MAKE) check TESTSUITEFLAGS='--recheck'; then :; \ > > + else \ > > + cat tests/testsuite.log; \ > > + exit 1; \ > > + fi > > +endif # nocheck > > + > > +override_dh_auto_build: > > + cd ovs && $(MAKE) $(PARALLEL) > > + $(MAKE) $(PARALLEL) > > + > > +override_dh_auto_clean: > > + dh_auto_clean > > + cd ovn-vif && make distclean | : > > + rm -rf ovs > > + > > +override_dh_installinit: > > + # Package does not ship any init.d files > > + dh_installinit --no-scripts > > + > > +override_dh_installsystemd: > > + dh_installsystemd --restart-after-upgrade -povn-central --name=ovn-northd > > + dh_installsystemd --restart-after-upgrade -povn-central --name=ovn-ovsdb-server-sb > > + dh_installsystemd --restart-after-upgrade -povn-central --name=ovn-ovsdb-server-nb > > + dh_installsystemd --restart-after-upgrade -povn-ic-db --name=ovn-ovsdb-server-ic-sb > > + dh_installsystemd --restart-after-upgrade -povn-ic-db --name=ovn-ovsdb-server-ic-nb > > + dh_installsystemd --restart-after-upgrade -povn-host --name=ovn-controller > > + dh_installsystemd --restart-after-upgrade > > + > > +override_dh_python3: > > + dh_python3 --shebang=/usr/bin/python3 > > + > > +# Helper target for creating snapshots from upstream git > > +DATE=$(shell date +%Y%m%d) > > +# Upstream branch to track > > +BRANCH=main > > +VERSION=22.09.0 > > + > > +get-orig-snapshot: > > + rm -Rf ovn-upstream ovn-vif-upstream > > + git clone --branch $(BRANCH) --depth 1 https://github.com/ovn-org/ovn ovn-upstream > > + git clone --branch $(BRANCH) --depth 1 https://github.com/ovn-org/ovn-vif ovn-vif-upstream > > + cd ovn-upstream && \ > > + export COMMIT=`git rev-parse --short HEAD` && \ > > + git archive --format tgz --prefix=ovn-$(VERSION)~git$(DATE).$$COMMIT/ \ > > + -o ../../ovn_$(VERSION)~git$(DATE).$$COMMIT.orig.tar.gz $(BRANCH) && \ > > + cd ../ovn-vif-upstream && \ > > + git archive --format tgz --prefix=ovn-vif-$(VERSION)~git$(DATE).$$COMMIT/ \ > > + -o ../../ovn_$(VERSION)~git$(DATE).$$COMMIT.orig-ovn-vif.tar.gz $(BRANCH) > > + rm -Rf ovn-upstream ovn-vif-upstream > > diff --git a/debian/source/format b/debian/source/format > > new file mode 100644 > > index 000000000..163aaf8d8 > > --- /dev/null > > +++ b/debian/source/format > > @@ -0,0 +1 @@ > > +3.0 (quilt) > > diff --git a/debian/source/include-binaries b/debian/source/include-binaries > > new file mode 100644 > > index 000000000..2dfb2fe55 > > --- /dev/null > > +++ b/debian/source/include-binaries > > @@ -0,0 +1 @@ > > +ovn-vif/Documentation/_static/logo.png > > diff --git a/debian/testlist.py b/debian/testlist.py > > new file mode 100755 > > index 000000000..24d2ae9c5 > > --- /dev/null > > +++ b/debian/testlist.py > > @@ -0,0 +1,72 @@ > > +#!/usr/bin/env python3 > > +import enum > > +import itertools > > +import os > > +import sys > > + > > + > > +if len(sys.argv) < 3: > > + print( > > + "usage: {} skipdescriptionlist testsuite\n" > > + "\n" > > + "This program reads two files, a skiplist containing the \n" > > + "description of tests to skip separated by newline, and a \n" > > + "generated testsuite script.\n" > > + "\n" > > + "From this it produces string with range of tests to execute \n" > > + "which can be provided to the testsuite script.\n".format(sys.argv[0]), > > + file=sys.stderr, > > + ) > > + sys.exit(os.EX_USAGE) > > + > > + > > +SKIP_TEST_STRINGS = [] > > +with open(sys.argv[1]) as fin: > > + SKIP_TEST_STRINGS = [line.rstrip() for line in fin.readlines()] > > + > > + > > +@enum.unique > > +class State(enum.Enum): > > + INIT = enum.auto() > > + AT_HELP_ALL = enum.auto() > > + > > + > > +SKIP_TESTS = set() > > +TESTS = set() > > +with open(sys.argv[2]) as fin: > > + state = State.INIT > > + last_test = 0 > > + for line in fin.readlines(): > > + if state == State.INIT: > > + if not line.startswith('at_help_all="'): > > + continue > > + else: > > + state = State.AT_HELP_ALL > > + data = line.split('"')[1].rstrip().split(";") > > + elif state == State.AT_HELP_ALL: > > + if line.startswith('"'): > > + break > > + data = line.rstrip().split(";") > > + test_nr = int(data[0]) > > + if last_test < test_nr: > > + last_test = test_nr > > + for skip_string in SKIP_TEST_STRINGS: > > + if skip_string in data[2]: > > + SKIP_TESTS.add(test_nr) > > + else: > > + TESTS.add(test_nr) > > + > > + > > +def ranges(testlist): > > + for a, b in itertools.groupby( > > + enumerate(list(testlist)), lambda pair: pair[1] - pair[0] > > + ): > > + b = list(b) > > + yield b[0][1], b[-1][1] > > + > > + > > +testranges = [ > > + "{}-{}".format(testrange[0], testrange[1]) > > + for testrange in ranges(TESTS - SKIP_TESTS) > > +] > > +print(" ".join(testranges)) > > diff --git a/debian/watch b/debian/watch > > new file mode 100644 > > index 000000000..4831f3456 > > --- /dev/null > > +++ b/debian/watch > > @@ -0,0 +1,5 @@ > > +version=4 > > +opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/ovn-$1\.tar\.gz/ \ > > + https://github.com/ovn-org/ovn/tags .*/v?(\d\S+)\.tar\.gz > > +opts="filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/ovn-vif-$1\.tar\.gz/, component=ovn-vif" \ > > + https://github.com/ovn-org/ovn-vif/tags .*/v?(\d\S+)\.tar\.gz > > -- > > 2.36.1 > > > > > > _______________________________________________ > > dev mailing list > > dev@openvswitch.org > > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > > > > > -- > Frode Nordahl > _______________________________________________ > dev mailing list > dev@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-dev >
On 8/5/22 22:39, Frode Nordahl wrote: > Ilya and Numan, > > I preemptively added your names to the commit message because the > patch contains your work as detailed in the commit message. > > I hope this is ok. Fine by me. See some comments inline regarding things I spotted on a first read. Best regards, Ilya Maximets. > > On Fri, Aug 5, 2022 at 10:35 PM Frode Nordahl > <frode.nordahl@canonical.com> wrote: >> >> Update debian package source from Debian and Ubuntu. >> >> debian/ovn-common.logrotate comes from the RHEL packaging in this >> tree, and author is credited below. >> >> The debian/automake.mk tricks to generate the copyright file while >> building came from the work on the debian packaging in openvswitch >> and author is credited below. >> >> Signed-off-by: James Page <james.page@ubuntu.com> >> Co-Authored-by: James Page <james.page@ubuntu.com> >> Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com> >> Co-Authored-by: Christian Ehrhardt <christian.ehrhardt@canonical.com> >> Signed-off-by: Numan Siddique <numans@ovn.org> >> Co-Authored-by: Numan Siddique <numans@ovn.org> >> Signed-off-by: Ilya Maximets <i.maximets@ovn.org> >> Co-Authored-by: Ilya Maximets <i.maximets@ovn.org> >> Signed-off-by: Frode Nordahl <frode.nordahl@canonical.com> >> --- >> build-aux/initial-tab-whitelist | 3 +- >> debian/.gitignore | 17 ++ >> debian/automake.mk | 85 ++++++++- >> debian/control | 176 ++++++++++++++++++ >> debian/copyright.in | 146 +++++++++++++++ >> debian/flaky-tests-amd64.txt | 6 + >> debian/flaky-tests-arm64.txt | 5 + >> debian/flaky-tests-armel.txt | 7 + >> debian/flaky-tests-armhf.txt | 9 + >> debian/flaky-tests-i386.txt | 8 + >> debian/flaky-tests-mips64el.txt | 5 + >> debian/flaky-tests-mipsel.txt | 21 +++ >> debian/flaky-tests-ppc64el.txt | 6 + >> debian/flaky-tests-riscv64.txt | 6 + >> debian/flaky-tests-s390x.txt | 5 + >> debian/gbp.conf | 13 ++ >> debian/not-installed | 5 + >> debian/ovn-central.default | 5 + >> debian/ovn-central.install | 3 + >> debian/ovn-central.ovn-northd.service | 15 ++ >> .../ovn-central.ovn-ovsdb-server-nb.service | 18 ++ >> .../ovn-central.ovn-ovsdb-server-sb.service | 18 ++ >> debian/ovn-central.postrm | 47 +++++ >> debian/ovn-central.service | 16 ++ >> debian/ovn-common.docs | 1 + >> debian/ovn-common.install | 32 ++++ >> debian/ovn-common.logrotate | 22 +++ >> debian/ovn-common.postinst | 24 +++ >> debian/ovn-common.postrm | 23 +++ >> debian/ovn-controller-vtep.install | 1 + >> debian/ovn-controller-vtep.service | 16 ++ >> debian/ovn-doc.doc-base | 9 + >> debian/ovn-doc.install | 1 + >> debian/ovn-docker.install | 2 + >> debian/ovn-host.default | 5 + >> debian/ovn-host.install | 1 + >> debian/ovn-host.ovn-controller.service | 15 ++ >> debian/ovn-host.postrm | 43 +++++ >> debian/ovn-host.service | 14 ++ >> debian/ovn-ic-db.install | 2 + >> .../ovn-ic-db.ovn-ovsdb-server-ic-nb.service | 15 ++ >> .../ovn-ic-db.ovn-ovsdb-server-ic-sb.service | 15 ++ >> debian/ovn-ic-db.service | 15 ++ >> debian/ovn-ic.install | 1 + >> debian/ovn-ic.service | 16 ++ >> debian/rules | 104 +++++++++++ >> debian/source/format | 1 + >> debian/source/include-binaries | 1 + >> debian/testlist.py | 72 +++++++ >> debian/watch | 5 + >> 50 files changed, 1098 insertions(+), 3 deletions(-) >> create mode 100644 debian/.gitignore >> create mode 100644 debian/control >> create mode 100644 debian/copyright.in >> create mode 100644 debian/flaky-tests-amd64.txt >> create mode 100644 debian/flaky-tests-arm64.txt >> create mode 100644 debian/flaky-tests-armel.txt >> create mode 100644 debian/flaky-tests-armhf.txt >> create mode 100644 debian/flaky-tests-i386.txt >> create mode 100644 debian/flaky-tests-mips64el.txt >> create mode 100644 debian/flaky-tests-mipsel.txt >> create mode 100644 debian/flaky-tests-ppc64el.txt >> create mode 100644 debian/flaky-tests-riscv64.txt >> create mode 100644 debian/flaky-tests-s390x.txt >> create mode 100644 debian/gbp.conf >> create mode 100644 debian/not-installed >> create mode 100644 debian/ovn-central.default >> create mode 100644 debian/ovn-central.install >> create mode 100644 debian/ovn-central.ovn-northd.service >> create mode 100644 debian/ovn-central.ovn-ovsdb-server-nb.service >> create mode 100644 debian/ovn-central.ovn-ovsdb-server-sb.service >> create mode 100644 debian/ovn-central.postrm >> create mode 100644 debian/ovn-central.service >> create mode 100644 debian/ovn-common.docs >> create mode 100644 debian/ovn-common.install >> create mode 100644 debian/ovn-common.logrotate >> create mode 100644 debian/ovn-common.postinst >> create mode 100644 debian/ovn-common.postrm >> create mode 100644 debian/ovn-controller-vtep.install >> create mode 100644 debian/ovn-controller-vtep.service >> create mode 100644 debian/ovn-doc.doc-base >> create mode 100644 debian/ovn-doc.install >> create mode 100644 debian/ovn-docker.install >> create mode 100644 debian/ovn-host.default >> create mode 100644 debian/ovn-host.install >> create mode 100644 debian/ovn-host.ovn-controller.service >> create mode 100644 debian/ovn-host.postrm >> create mode 100644 debian/ovn-host.service >> create mode 100644 debian/ovn-ic-db.install >> create mode 100644 debian/ovn-ic-db.ovn-ovsdb-server-ic-nb.service >> create mode 100644 debian/ovn-ic-db.ovn-ovsdb-server-ic-sb.service >> create mode 100644 debian/ovn-ic-db.service >> create mode 100644 debian/ovn-ic.install >> create mode 100644 debian/ovn-ic.service >> create mode 100755 debian/rules >> create mode 100644 debian/source/format >> create mode 100644 debian/source/include-binaries >> create mode 100755 debian/testlist.py >> create mode 100644 debian/watch >> >> diff --git a/build-aux/initial-tab-whitelist b/build-aux/initial-tab-whitelist >> index b2f5a0791..71d4f007d 100644 >> --- a/build-aux/initial-tab-whitelist >> +++ b/build-aux/initial-tab-whitelist >> @@ -6,6 +6,5 @@ >> ^ovs/ >> ^third-party/ >> ^xenserver/ >> -^debian/rules.modules$ >> -^debian/rules$ >> +^debian/ >> ^\.gitmodules$ >> diff --git a/debian/.gitignore b/debian/.gitignore >> new file mode 100644 >> index 000000000..d2393b3fd >> --- /dev/null >> +++ b/debian/.gitignore >> @@ -0,0 +1,17 @@ >> +*.debhelper >> +*.debhelper.log >> +*.substvars >> +/autoreconf.after >> +/autoreconf.before >> +/copyright >> +/files >> +/ovn-common >> +/ovn-controller-vtep >> +/ovn-host >> +/ovn-central >> +/ovn-docker >> +/debhelper-build-stamp >> +/ovn-doc/ >> +/ovn-ic-db/ >> +/ovn-ic/ >> +/tmp >> diff --git a/debian/automake.mk b/debian/automake.mk >> index ce11fd040..d199c925d 100644 >> --- a/debian/automake.mk >> +++ b/debian/automake.mk >> @@ -1,2 +1,85 @@ >> EXTRA_DIST += \ >> - debian/changelog >> + debian/changelog \ >> + debian/control \ >> + debian/copyright.in \ >> + debian/flaky-tests-amd64.txt \ >> + debian/flaky-tests-arm64.txt \ >> + debian/flaky-tests-armel.txt \ >> + debian/flaky-tests-armhf.txt \ >> + debian/flaky-tests-i386.txt \ >> + debian/flaky-tests-mips64el.txt \ >> + debian/flaky-tests-mipsel.txt \ >> + debian/flaky-tests-ppc64el.txt \ >> + debian/flaky-tests-riscv64.txt \ >> + debian/flaky-tests-s390x.txt \ >> + debian/gbp.conf \ >> + debian/not-installed \ >> + debian/ovn-central.default \ >> + debian/ovn-central.install \ >> + debian/ovn-central.ovn-northd.service \ >> + debian/ovn-central.postrm \ >> + debian/ovn-central.service \ >> + debian/ovn-common.docs \ >> + debian/ovn-common.install \ >> + debian/ovn-common.logrotate \ >> + debian/ovn-common.postinst \ >> + debian/ovn-common.postrm \ >> + debian/ovn-controller-vtep.install \ >> + debian/ovn-controller-vtep.service \ >> + debian/ovn-doc.doc-base \ >> + debian/ovn-doc.install \ >> + debian/ovn-docker.install \ >> + debian/ovn-host.default \ >> + debian/ovn-host.install \ >> + debian/ovn-host.ovn-controller.service \ >> + debian/ovn-host.postrm \ >> + debian/ovn-host.service \ >> + debian/ovn-ic-db.install \ >> + debian/ovn-ic-db.service \ >> + debian/ovn-ic.install \ >> + debian/ovn-ic.service \ >> + debian/rules \ >> + debian/source/format \ >> + debian/source/include-binaries \ >> + debian/testlist.py \ >> + debian/watch >> + >> +check-debian-changelog-version: >> + @DEB_VERSION=`echo '$(VERSION)' | sed 's/pre/~pre/'`; \ >> + if $(FGREP) '($(DEB_VERSION)' $(srcdir)/debian/changelog >/dev/null; \ >> + then \ >> + :; \ >> + else \ >> + echo "Update debian/changelog to mention version $(VERSION)"; \ >> + exit 1; \ >> + fi >> +ALL_LOCAL += check-debian-changelog-version >> +DIST_HOOKS += check-debian-changelog-version >> + >> +update_deb_copyright = \ >> + $(AM_V_GEN) \ >> + { sed -n -e '/%AUTHORS%/q' -e p < $(srcdir)/debian/copyright.in; \ >> + tail -n +28 $(srcdir)/AUTHORS.rst | sed '1,/^$$/d' | \ >> + sed -n -e '/^$$/q' -e 's/^/ /p'; \ >> + sed -e '1,/%AUTHORS%/d' $(srcdir)/debian/copyright.in; \ >> + } > debian/copyright >> + >> +debian/copyright: AUTHORS.rst debian/copyright.in >> + $(update_deb_copyright) >> + >> +CLEANFILES += debian/copyright >> + >> +debian: debian/copyright >> +.PHONY: debian >> + >> +debian-deb: debian >> + @if test X"$(srcdir)" != X"$(top_builddir)"; then \ >> + echo "Debian packages should be built from $(abs_srcdir)/"; \ >> + exit 1; \ >> + fi >> + $(MAKE) distclean >> + $(update_deb_copyright) >> + $(update_deb_control) >> + $(AM_V_GEN) fakeroot debian/rules clean >> + $(AM_V_GEN) DEB_BUILD_OPTIONS="nocheck parallel=`nproc`" \ >> + fakeroot debian/rules binary >> diff --git a/debian/control b/debian/control >> new file mode 100644 >> index 000000000..a6f395842 >> --- /dev/null >> +++ b/debian/control >> @@ -0,0 +1,176 @@ >> +Source: ovn >> +Section: net >> +Priority: optional >> +Maintainer: OVN developers <dev@openvswitch.org> >> +Build-Depends: >> + autoconf, >> + automake, >> + bzip2, >> + debhelper-compat (= 10), >> + dh-python, >> + graphviz, >> + libcap-ng-dev, >> + libnuma-dev [amd64 i386 ppc64el arm64], >> + libpcap-dev [amd64 i386 ppc64el arm64], >> + libssl-dev, >> + libtool, >> + libudev-dev, >> + libunbound-dev, >> + openssl, >> + openstack-pkg-tools, >> + openvswitch-source (>= 2.17.2-3~), >> + pkg-config, >> + procps, >> + python3-all-dev, >> + python3-setuptools, >> + python3-sortedcontainers, >> + python3-sphinx, >> + tcpdump, >> +Standards-Version: 4.6.1 >> +Homepage: https://www.ovn.org/ >> + >> +Package: ovn-central >> +Architecture: linux-any >> +Pre-Depends: ${misc:Pre-Depends}, >> +Depends: >> + lsb-base, >> + lsb-release, >> + openvswitch-common (>= 2.17.0~), >> + ovn-common (= ${binary:Version}), >> + ${misc:Depends}, >> + ${shlibs:Depends}, >> +Description: OVN central components >> + 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. >> + . >> + ovn-central provides the userspace daemons, utilities and >> + databases for OVN that is run at a central location. >> + >> +Package: ovn-common >> +Architecture: linux-any >> +Depends: >> + ${misc:Depends}, >> + ${python3:Depends}, >> + ${shlibs:Depends}, >> +Breaks: >> + ovn-ic-db (<< 22.03~), >> +Replaces: >> + ovn-ic-db (<< 22.03~), >> +Description: OVN common components >> + 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. >> + . >> + ovn-common provides components required by other OVN packages. >> + >> +Package: ovn-controller-vtep >> +Architecture: linux-any >> +Pre-Depends: ${misc:Pre-Depends}, >> +Depends: >> + lsb-base, >> + ovn-common (= ${binary:Version}), >> + ${misc:Depends}, >> + ${shlibs:Depends}, >> +Description: OVN vtep controller >> + ovn-controller-vtep is the local controller daemon in OVN, the Open Virtual >> + Network, for VTEP enabled physical switches. It connects up to the OVN >> + Southbound database over the OVSDB protocol, and down to the VTEP database >> + over the OVSDB protocol. >> + . >> + ovn-controller-vtep provides the ovn-controller-vtep binary for controlling >> + vtep gateways. >> + >> +Package: ovn-doc >> +Section: doc >> +Architecture: all >> +Depends: >> + ${misc:Depends}, >> + ${sphinxdoc:Depends}, >> +Description: OVN documentation >> + 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. >> + . >> + This package provides documentation for configuration and use >> + of OVN. >> + >> +Package: ovn-docker >> +Architecture: linux-any >> +Depends: >> + openvswitch-common (>= 2.17.0~), >> + ovn-common (= ${binary:Version}), >> + python3-openvswitch (>= 2.17.0~), >> + ${misc:Depends}, >> + ${python3:Depends}, >> + ${shlibs:Depends}, >> +Description: OVN Docker drivers >> + 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. >> + . >> + ovn-docker provides the docker drivers for OVN. >> + >> +Package: ovn-host >> +Architecture: linux-any >> +Pre-Depends: ${misc:Pre-Depends}, >> +Depends: >> + lsb-base, >> + lsb-release, >> + openvswitch-switch (>= 2.17.0~), >> + ovn-common (= ${binary:Version}), >> + ${misc:Depends}, >> + ${shlibs:Depends}, >> +Description: OVN host components >> + 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. >> + . >> + ovn-host provides the userspace components and utilities for >> + OVN that can be run on every host/hypervisor. >> + >> +Package: ovn-ic >> +Architecture: linux-any >> +Pre-Depends: ${misc:Pre-Depends}, >> +Depends: >> + lsb-base, >> + lsb-release, >> + ovn-common (= ${binary:Version}), >> + ${misc:Depends}, >> + ${shlibs:Depends}, >> +Enhances: >> + ovn-central, >> +Suggests: >> + ovn-ic-db, >> +Description: Open Virtual Network interconnection controller >> + OVN IC, the Open Virtual Network interconnection controller, is a >> + centralized daemon which communicates with global interconnection >> + databases to configure and exchange data with local OVN databases for >> + interconnection with other OVN deployments. >> + . >> + This package provides the ovn-ic daemon which should be run alongside >> + ovn-central services in each OVN deployment zone. >> + >> +Package: ovn-ic-db >> +Architecture: linux-any >> +Pre-Depends: ${misc:Pre-Depends}, >> +Depends: >> + lsb-base, >> + lsb-release, >> + openvswitch-common (>= 2.17.0~), >> + ovn-common (= ${binary:Version}), >> + ${misc:Depends}, >> + ${shlibs:Depends}, >> +Description: Open Virtual Network interconnection controller databases >> + OVN IC, the Open Virtual Network interconnection controller, is a >> + centralized daemon which communicates with global interconnection >> + databases to configure and exchange data with local OVN databases for >> + interconnection with other OVN deployments. >> + . >> + This package provides the global OVN IC southbound and northbound >> + OVSDB databases. >> diff --git a/debian/copyright.in b/debian/copyright.in >> new file mode 100644 >> index 000000000..911704ae0 >> --- /dev/null >> +++ b/debian/copyright.in >> @@ -0,0 +1,146 @@ >> +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ >> +Upstream-Name: Open Virtual Network (OVN) >> +Source: https://github.com/ovn-org/ovn >> +Files-Excluded: debian >> +Upstream-Authors: >> +%AUTHORS% >> + >> +Files: * >> +Copyright: 2007-2017 Nicira, Inc. >> + 2010 Jean Tourrilhes - HP-Labs. >> + 2008,2009,2010 Citrix Systems, Inc. >> + 2011 Gaetano Catalli >> + 2000-2003 Geoffrey Wossum <gwossum@acm.org> >> + 2000 The NetBSD Foundation, Inc. >> + 1995, 1996, 1997, and 1998 WIDE Project. >> + 1982, 1986, 1990, 1993 The Regents of the University of California. >> + 2008, 2012 Vincent Bernat <bernat@luffy.cx> >> + 2014 Michael Chapman >> + 2014 WindRiver, Inc. >> + 2014 Avaya, Inc. >> + 2001 Daniel Hartmeier >> + 2002 - 2008 Henning Brauer >> + 2012 Gleb Smirnoff <glebius@FreeBSD.org> >> + 2015-2019 Red Hat, Inc. >> + 2017 DtDream Technology Co., Ltd. >> + 2018 eBay Inc. >> +License: Apache-2.0 >> +Comment: >> + This package contains code from other projects and authors not >> + mentioned elsewhere. >> + . >> + Open vSwitch >> + Copyright (c) 2007, 2008, 2009, 2010, 2011, 2013 Nicira, Inc. >> + . >> + Open vSwitch BSD port >> + Copyright (c) 2011 Gaetano Catalli >> + . >> + Apache Portable Runtime >> + Copyright 2008 The Apache Software Foundation. >> + . >> + This product includes software developed by >> + The Apache Software Foundation (http://www.apache.org/). >> + . >> + Portions of this software were developed at the National Center >> + for Supercomputing Applications (NCSA) at the University of >> + Illinois at Urbana-Champaign. >> + . >> + lib/ovs.tmac includes troff macros written by Eric S. Raymond >> + and Werner Lemberg. >> + . >> + m4/include_next.m4 and m4/absolute-header.m4 >> + Copyright (C) 2006-2013 Free Software Foundation, Inc. >> + . >> + Rapid Spanning Tree Protocol (RSTP) implementation >> + Copyright (c) 2011-2014 M3S, Srl - Italy >> + . >> + LLDP implementation >> + Copyright (c) 2008, 2012 Vincent Bernat <bernat@luffy.cx> >> + . >> + LLDP includes code used from the Net::CDP project based on the ISC license >> + Copyright (c) 2014 Michael Chapman >> + . >> + LLDP includes code used from the ladvd project based on the ISC license >> + Copyright (c) 2008, 2009, 2010 Sten Spans <sten@blinkenlights.nl> >> + . >> + Auto Attach implementation >> + Copyright (c) 2014, 2015 WindRiver, Inc >> + Copyright (c) 2014, 2015 Avaya, Inc >> + . >> + TCP connection tracker from FreeBSD pf, BSD licensed >> + Copyright (c) 2001 Daniel Hartmeier >> + Copyright (c) 2002 - 2008 Henning Brauer >> + Copyright (c) 2012 Gleb Smirnoff <glebius@FreeBSD.org> Not a problem of this patch, but I think, half of above copyrights was copy-pasted from OVS and irrelevant for OVN. >> + >> +Files: build-aux/cccl >> +Copyright: 2000-2003 Geoffrey Wossum <gwossum@acm.org> >> +License: GPL-2 >> + >> +Files: utilities/bugtool/ovn-bugtool-* >> + utilities/bugtool/plugins/network-status/ovn.xml >> +Copyright: 2016 Nicira, Inc. >> +License: LGPL-2.1 >> + >> +Files: m4/absolute-header.m4 >> + m4/include_next.m4 >> +Copyright: Derek Price >> + Paul Eggert >> + 2006-2013 Free Software Foundation, Inc. >> +License: file-is-free-software >> + This file is free software; the Free Software Foundation >> + gives unlimited permission to copy and/or distribute it, >> + with or without modifications, as long as this notice is preserved. >> + >> +Files: ovn-vif/* >> +Copyright: 2021 Canonical >> +License: Apache-2.0 >> + >> +License: GPL-2 >> + This program is free software; you can 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 of the License, or (at your option) any later >> + version. >> + . >> + This program 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 along with >> + this program; if not, write to the Free Software Foundation, Inc., 51 Franklin >> + St, Fifth Floor, Boston, MA 02110-1301 USA >> + . >> + On Debian systems, the complete text of the GNU General Public License v2 >> + (GPL) can be found in /usr/share/common-licenses/GPL-2. >> + >> +License: LGPL-2.1 >> + This library is free software; you can redistribute it and/or modify it under >> + the terms of the GNU Lesser General Public License as published by the Free >> + Software Foundation; either version 2.1 of the License. >> + . >> + This library 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 Lesser General Public License for more >> + details. >> + . >> + You should have received a copy of the GNU Lesser General Public License along >> + with this library; if not, write to the Free Software Foundation, Inc., 51 >> + Franklin St, Fifth Floor, Boston, MA 02110-1301 USA >> + . >> + On Debian systems, the complete text of the GNU Lesser General Public License >> + (LGPL) may be found in /usr/share/common-licenses/LGPL-2. >> + >> +License: Apache-2.0 >> + Licensed under the Apache License, Version 2.0 (the "License"); >> + you may not use this file except in compliance with the License. >> + You may obtain a copy of the License at >> + . >> + http://www.apache.org/licenses/LICENSE-2.0 >> + . >> + Unless required by applicable law or agreed to in writing, software >> + distributed under the License is distributed on an "AS IS" BASIS, >> + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. >> + See the License for the specific language governing permissions and >> + limitations under the License. >> + . >> + On Debian-based systems the full text of the Apache version 2.0 license >> + can be found in `/usr/share/common-licenses/Apache-2.0'. >> diff --git a/debian/flaky-tests-amd64.txt b/debian/flaky-tests-amd64.txt >> new file mode 100644 >> index 000000000..cfe5d8c66 >> --- /dev/null >> +++ b/debian/flaky-tests-amd64.txt >> @@ -0,0 +1,6 @@ >> +send gratuitous arp on localnet >> +policy-based routing IPv6: 1 HVs, 3 LSs, 1 lport/LS, 1 LR >> +ACLs on Port Groups >> +multi-vtep SB Chassis encap updates >> +ACL with Port Group conjunction flow efficiency >> +northd ssl file change >> diff --git a/debian/flaky-tests-arm64.txt b/debian/flaky-tests-arm64.txt >> new file mode 100644 >> index 000000000..996d0537e >> --- /dev/null >> +++ b/debian/flaky-tests-arm64.txt >> @@ -0,0 +1,5 @@ >> +ovn-controller incremental processing >> +nb_cfg timestamp >> +multi-vtep SB Chassis encap updates >> +ACL with Port Group conjunction flow efficiency >> +ipsec -- basic configuration >> diff --git a/debian/flaky-tests-armel.txt b/debian/flaky-tests-armel.txt >> new file mode 100644 >> index 000000000..6ce03bb10 >> --- /dev/null >> +++ b/debian/flaky-tests-armel.txt >> @@ -0,0 +1,7 @@ >> +policy-based routing IPv6: 1 HVs, 3 LSs, 1 lport/LS, 1 LR >> +1 LR with distributed router gateway port >> +ACL conjunction >> +IP packet buffering >> +test transport zones >> +lflow cache for conjunctions >> +nb_cfg timestamp >> diff --git a/debian/flaky-tests-armhf.txt b/debian/flaky-tests-armhf.txt >> new file mode 100644 >> index 000000000..43654f3ae >> --- /dev/null >> +++ b/debian/flaky-tests-armhf.txt >> @@ -0,0 +1,9 @@ >> +policy-based routing IPv6: 1 HVs, 3 LSs, 1 lport/LS, 1 LR >> +ovn-controller incremental processing >> +ACL conjunction >> +neighbor update on same HV >> +nb_cfg timestamp >> +multi-vtep SB Chassis encap updates >> +ACL with Port Group conjunction flow efficiency >> +ovn-ic -- gateway sync >> +ipsec -- basic configuration >> diff --git a/debian/flaky-tests-i386.txt b/debian/flaky-tests-i386.txt >> new file mode 100644 >> index 000000000..b82300de9 >> --- /dev/null >> +++ b/debian/flaky-tests-i386.txt >> @@ -0,0 +1,8 @@ >> +policy-based routing: 1 HVs, 2 LSs, 1 lport/LS, 1 LR >> +nb_cfg timestamp >> +ARP replies for SNAT external ips >> +conflict ACLs with address set >> +multi-vtep SB Chassis encap updates >> +ACL with Port Group conjunction flow efficiency >> +ovn-ic -- gateway sync >> +ipsec -- basic configuration >> diff --git a/debian/flaky-tests-mips64el.txt b/debian/flaky-tests-mips64el.txt >> new file mode 100644 >> index 000000000..e67e2c4ca >> --- /dev/null >> +++ b/debian/flaky-tests-mips64el.txt >> @@ -0,0 +1,5 @@ >> +multi-vtep SB Chassis encap updates >> +ACL with Port Group conjunction flow efficiency >> +ovn-ic -- gateway sync >> +ipsec -- basic configuration >> +nb_cfg timestamp >> diff --git a/debian/flaky-tests-mipsel.txt b/debian/flaky-tests-mipsel.txt >> new file mode 100644 >> index 000000000..00d383572 >> --- /dev/null >> +++ b/debian/flaky-tests-mipsel.txt >> @@ -0,0 +1,21 @@ >> +vtep: 3 HVs, 1 VIFs/HV, 1 GW, 1 LS >> +policy-based routing: 1 HVs, 2 LSs, 1 lport/LS, 1 LR >> +policy-based routing IPv6: 1 HVs, 3 LSs, 1 lport/LS, 1 LR >> +send gratuitous arp for nat ips in localnet >> +send gratuitous arp for NAT rules on distributed router >> +vlan traffic for external network with distributed router gateway port >> +send gratuitous ARP for NAT rules on HA distributed router >> +ACL conjunction >> +router - check packet length - icmp defrag >> +router - check packet length - icmp defrag >> +IP packet buffering >> +test transport zones >> +Load balancer health checks >> +interconnection >> +nb_cfg timestamp >> +conflict ACLs with address set >> +multi-vtep SB Chassis encap updates >> +ACL with Port Group conjunction flow efficiency >> +northd ssl file change >> +ovn-ic -- gateway sync >> +ipsec -- basic configuration >> diff --git a/debian/flaky-tests-ppc64el.txt b/debian/flaky-tests-ppc64el.txt >> new file mode 100644 >> index 000000000..6e089b6cb >> --- /dev/null >> +++ b/debian/flaky-tests-ppc64el.txt >> @@ -0,0 +1,6 @@ >> +options:requested-chassis for logical port >> +multi-vtep SB Chassis encap updates >> +ACL with Port Group conjunction flow efficiency >> +northd ssl file change >> +ovn-ic -- gateway sync >> +ipsec -- basic configuration >> diff --git a/debian/flaky-tests-riscv64.txt b/debian/flaky-tests-riscv64.txt >> new file mode 100644 >> index 000000000..50570ab80 >> --- /dev/null >> +++ b/debian/flaky-tests-riscv64.txt >> @@ -0,0 +1,6 @@ >> +send gratuitous arp on localnet >> +1 LR with distributed router gateway port >> +router - check packet length - icmp defrag >> +multi-vtep SB Chassis encap updates >> +ACL with Port Group conjunction flow efficiency >> +ipsec -- basic configuration >> diff --git a/debian/flaky-tests-s390x.txt b/debian/flaky-tests-s390x.txt >> new file mode 100644 >> index 000000000..a642063d9 >> --- /dev/null >> +++ b/debian/flaky-tests-s390x.txt >> @@ -0,0 +1,5 @@ >> +options:requested-chassis for logical port >> +ACLs on Port Groups >> +multi-vtep SB Chassis encap updates >> +ACL with Port Group conjunction flow efficiency >> +ipsec -- basic configuration >> diff --git a/debian/gbp.conf b/debian/gbp.conf >> new file mode 100644 >> index 000000000..438b3fa8d >> --- /dev/null >> +++ b/debian/gbp.conf >> @@ -0,0 +1,13 @@ >> +[DEFAULT] >> +debian-branch = main >> +upstream-branch = upstream >> +pristine-tar = True >> +components = ['ovn-vif'] >> + >> +[import-orig] >> +upstream-vcs-tag = v%(version)s >> + >> +[dch] >> +multimaint-merge = True >> +customizations=/usr/share/doc/git-buildpackage/examples/wrap_cl.py >> +git-log=--first-parent >> diff --git a/debian/not-installed b/debian/not-installed >> new file mode 100644 >> index 000000000..e213b139d >> --- /dev/null >> +++ b/debian/not-installed >> @@ -0,0 +1,5 @@ >> +# The OVN library and headers are currently not considered ABI/API stable. >> +# If the need arises to build sibling projects we should probably provide an >> +# ovn-source package. >> +usr/include/* >> +usr/lib/* >> diff --git a/debian/ovn-central.default b/debian/ovn-central.default >> new file mode 100644 >> index 000000000..7cea13e50 >> --- /dev/null >> +++ b/debian/ovn-central.default >> @@ -0,0 +1,5 @@ >> +# This is a POSIX shell fragment -*- sh -*- >> + >> +# OVN_CTL_OPTS: Extra options to pass to ovs-ctl. This is, for example, >> +# a suitable place to specify --ovn-northd-wrapper=valgrind. >> +# OVN_CTL_OPTS= >> diff --git a/debian/ovn-central.install b/debian/ovn-central.install >> new file mode 100644 >> index 000000000..095ca7cfa >> --- /dev/null >> +++ b/debian/ovn-central.install >> @@ -0,0 +1,3 @@ >> +usr/bin/ovn-northd >> +usr/share/ovn/ovn-nb.ovsschema >> +usr/share/ovn/ovn-sb.ovsschema >> diff --git a/debian/ovn-central.ovn-northd.service b/debian/ovn-central.ovn-northd.service >> new file mode 100644 >> index 000000000..09c600016 >> --- /dev/null >> +++ b/debian/ovn-central.ovn-northd.service >> @@ -0,0 +1,15 @@ >> +[Unit] >> +Description=Open Virtual Network central control daemon >> +After=network.target ovn-nb-ovsdb.service ovn-sb-ovsdb.service >> +PartOf=ovn-central.service >> +DefaultDependencies=no >> + >> +[Service] >> +Type=forking >> +EnvironmentFile=-/etc/default/ovn-central >> +PIDFile=%t/ovn/ovn-northd.pid >> +ExecStart=/usr/share/ovn/scripts/ovn-ctl start_northd --ovn-manage-ovsdb=no --no-monitor $OVN_CTL_OPTS >> +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_northd --no-monitor >> +Restart=on-failure >> +LimitNOFILE=65535 >> +TimeoutStopSec=15 >> diff --git a/debian/ovn-central.ovn-ovsdb-server-nb.service b/debian/ovn-central.ovn-ovsdb-server-nb.service >> new file mode 100644 >> index 000000000..81f6c75a3 >> --- /dev/null >> +++ b/debian/ovn-central.ovn-ovsdb-server-nb.service >> @@ -0,0 +1,18 @@ >> +[Unit] >> +Description=Open vSwitch database server for OVN Northbound database >> +After=network.target >> +PartOf=ovn-central.service >> +DefaultDependencies=no >> + >> +[Service] >> +Type=simple >> +EnvironmentFile=-/etc/default/ovn-central >> +PIDFile=%t/ovn/ovnnb_db.pid >> +ExecStart=/usr/share/ovn/scripts/ovn-ctl run_nb_ovsdb $OVN_CTL_OPTS >> +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_nb_ovsdb >> +Restart=on-failure >> +LimitNOFILE=65535 >> +TimeoutStopSec=15 >> + >> +[Install] >> +Alias=ovn-nb-ovsdb.service >> diff --git a/debian/ovn-central.ovn-ovsdb-server-sb.service b/debian/ovn-central.ovn-ovsdb-server-sb.service >> new file mode 100644 >> index 000000000..3aa840d2f >> --- /dev/null >> +++ b/debian/ovn-central.ovn-ovsdb-server-sb.service >> @@ -0,0 +1,18 @@ >> +[Unit] >> +Description=Open vSwitch database server for OVN Southbound database >> +After=network.target >> +PartOf=ovn-central.service >> +DefaultDependencies=no >> + >> +[Service] >> +Type=simple >> +EnvironmentFile=-/etc/default/ovn-central >> +PIDFile=%t/run/ovn/ovnsb_db.pid >> +ExecStart=/usr/share/ovn/scripts/ovn-ctl run_sb_ovsdb $OVN_CTL_OPTS >> +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_sb_ovsdb >> +Restart=on-failure >> +LimitNOFILE=65535 >> +TimeoutStopSec=15 >> + >> +[Install] >> +Alias=ovn-sb-ovsdb.service >> diff --git a/debian/ovn-central.postrm b/debian/ovn-central.postrm >> new file mode 100644 >> index 000000000..3b3483fc3 >> --- /dev/null >> +++ b/debian/ovn-central.postrm >> @@ -0,0 +1,47 @@ >> +#!/bin/sh >> +# postrm script for ovn-central >> +# >> +# see: dh_installdeb(1) >> + >> +set -e >> + >> +# summary of how this script can be called: >> +# * <postrm> `remove' >> +# * <postrm> `purge' >> +# * <old-postrm> `upgrade' <new-version> >> +# * <new-postrm> `failed-upgrade' <old-version> >> +# * <new-postrm> `abort-install' >> +# * <new-postrm> `abort-install' <old-version> >> +# * <new-postrm> `abort-upgrade' <old-version> >> +# * <disappearer's-postrm> `disappear' <overwriter> >> +# <overwriter-version> >> +# for details, see http://www.debian.org/doc/debian-policy/ or >> +# the debian-policy package >> + >> + >> +case "$1" in >> + purge) >> + rm -f /etc/openvswitch/ovnnb.db* >> + rm -f /etc/openvswitch/.ovnnb.db.~lock~ >> + rm -f /etc/openvswitch/ovnsb.db* >> + rm -f /etc/openvswitch/.ovnsb.db.~lock~ >> + rm -f /var/log/openvswitch/ovn-northd.log* || true >> + ;; >> + >> + remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) >> + ;; >> + >> + *) >> + echo "postrm called with unknown argument \`$1'" >&2 >> + exit 1 >> + ;; >> +esac >> + >> +# dh_installdeb will replace this with shell code automatically >> +# generated by other debhelper scripts. >> + >> +#DEBHELPER# >> + >> +exit 0 >> + >> + >> diff --git a/debian/ovn-central.service b/debian/ovn-central.service >> new file mode 100644 >> index 000000000..aead7eae6 >> --- /dev/null >> +++ b/debian/ovn-central.service >> @@ -0,0 +1,16 @@ >> +[Unit] >> +Description=Open Virtual Network central components >> +After=network.target >> +Requires=network.target >> +Wants=ovn-northd.service >> +Wants=ovn-ovsdb-server-sb.service >> +Wants=ovn-ovsdb-server-nb.service >> + >> +[Service] >> +Type=oneshot >> +ExecStart=/bin/true >> +ExecStop=/bin/true >> +RemainAfterExit=yes >> + >> +[Install] >> +WantedBy=multi-user.target >> diff --git a/debian/ovn-common.docs b/debian/ovn-common.docs >> new file mode 100644 >> index 000000000..6d5ee1d05 >> --- /dev/null >> +++ b/debian/ovn-common.docs >> @@ -0,0 +1 @@ >> +NOTICE >> diff --git a/debian/ovn-common.install b/debian/ovn-common.install >> new file mode 100644 >> index 000000000..52e9e0050 >> --- /dev/null >> +++ b/debian/ovn-common.install >> @@ -0,0 +1,32 @@ >> +usr/bin/ovn-appctl >> +usr/bin/ovn_detrace.py >> +usr/bin/ovn-detrace >> +usr/bin/ovn-nbctl >> +usr/bin/ovn-sbctl >> +/usr/bin/ovn-ic-nbctl >> +/usr/bin/ovn-ic-sbctl >> +usr/bin/ovn-trace >> +usr/share/ovn/bugtool-plugins/network-status/ovn.xml >> +usr/share/ovn/scripts/ovn-ctl >> +usr/share/ovn/scripts/ovn-lib >> +usr/share/ovn/scripts/ovndb-servers.ocf >> +usr/share/ovn/scripts/ovn-bugtool-nbctl-show >> +usr/share/ovn/scripts/ovn-bugtool-sbctl-lflow-list >> +usr/share/ovn/scripts/ovn-bugtool-sbctl-show >> +usr/share/man/man1/ovn-detrace.1 >> +usr/share/man/man5/ovn-ic-nb.5 >> +usr/share/man/man5/ovn-ic-sb.5 >> +usr/share/man/man5/ovn-nb.5 >> +usr/share/man/man5/ovn-sb.5 >> +usr/share/man/man7/ovn-architecture.7 >> +usr/share/man/man8/ovn-appctl.8 >> +usr/share/man/man8/ovn-controller-vtep.8 >> +usr/share/man/man8/ovn-controller.8 >> +usr/share/man/man8/ovn-ctl.8 >> +usr/share/man/man8/ovn-ic-nbctl.8 >> +usr/share/man/man8/ovn-ic-sbctl.8 >> +usr/share/man/man8/ovn-ic.8 >> +usr/share/man/man8/ovn-nbctl.8 >> +usr/share/man/man8/ovn-northd.8 >> +usr/share/man/man8/ovn-sbctl.8 >> +usr/share/man/man8/ovn-trace.8 >> diff --git a/debian/ovn-common.logrotate b/debian/ovn-common.logrotate >> new file mode 100644 >> index 000000000..a351ec303 >> --- /dev/null >> +++ b/debian/ovn-common.logrotate >> @@ -0,0 +1,22 @@ >> +# Copyright (C) 2019 Red Hat, Inc. >> +# >> +# Copying and distribution of this file, with or without modification, >> +# are permitted in any medium without royalty provided the copyright >> +# notice and this notice are preserved. This file is offered as-is, >> +# without warranty of any kind. >> + >> +/var/log/ovn/*.log { >> + su root root >> + daily >> + compress >> + sharedscripts >> + missingok >> + postrotate >> + # Tell OVN daemons to reopen their log files >> + if [ -d /var/run/ovn ]; then >> + for ctl in /var/run/ovn/*.ctl; do >> + ovs-appctl -t "$ctl" vlog/reopen 2>/dev/null || : >> + done >> + fi >> + endscript >> +} >> diff --git a/debian/ovn-common.postinst b/debian/ovn-common.postinst >> new file mode 100644 >> index 000000000..588044fbc >> --- /dev/null >> +++ b/debian/ovn-common.postinst >> @@ -0,0 +1,24 @@ >> +#!/bin/sh >> +# postinst script for ovn-common >> +# >> +# see: dh_installdeb(1) >> + >> +set -e >> + >> +case "$1" in >> + configure) >> + mkdir -p /usr/lib/ocf/resource.d/ovn >> + ln -sf /usr/share/openvswitch/scripts/ovndb-servers.ocf /usr/lib/ocf/resource.d/ovn/ovndb-servers >> + ;; >> + abort-upgrade|abort-remove|abort-deconfigure) >> + ;; >> + >> + *) >> + echo "postinst called with unknown argument \`$1'" >&2 >> + exit 1 >> + ;; >> +esac >> + >> +#DEBHELPER# >> + >> +exit 0 >> diff --git a/debian/ovn-common.postrm b/debian/ovn-common.postrm >> new file mode 100644 >> index 000000000..9face726b >> --- /dev/null >> +++ b/debian/ovn-common.postrm >> @@ -0,0 +1,23 @@ >> +#!/bin/sh >> +# postrm script for openvswitch-testcontroller >> +# >> +# see: dh_installdeb(1) >> + >> +set -e >> + >> +case "$1" in >> + purge|remove) >> + rm -rf /usr/lib/ocf/resource.d/ovn >> + ;; >> + upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) >> + ;; >> + >> + *) >> + echo "postrm called with unknown argument \`$1'" >&2 >> + exit 1 >> + ;; >> +esac >> + >> +#DEBHELPER# >> + >> +exit 0 >> diff --git a/debian/ovn-controller-vtep.install b/debian/ovn-controller-vtep.install >> new file mode 100644 >> index 000000000..1d208f37e >> --- /dev/null >> +++ b/debian/ovn-controller-vtep.install >> @@ -0,0 +1 @@ >> +usr/bin/ovn-controller-vtep >> diff --git a/debian/ovn-controller-vtep.service b/debian/ovn-controller-vtep.service >> new file mode 100644 >> index 000000000..d51e75277 >> --- /dev/null >> +++ b/debian/ovn-controller-vtep.service >> @@ -0,0 +1,16 @@ >> +[Unit] >> +Description=Open Virtual Network VTEP gateway controller daemon >> +After=openvswitch-switch.service >> +Requires=openvswitch-switch.service >> + >> +[Service] >> +Type=forking >> +PIDFile=%t/ovn/ovn-controller-vtep.pid >> +ExecStart=/usr/share/ovn/scripts/ovn-ctl start_controller_vtep --no-monitor $OVN_CTL_OPTS >> +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_controller_vtep --no-monitor >> +Restart=on-failure >> +LimitNOFILE=65535 >> +TimeoutStopSec=15 >> + >> +[Install] >> +WantedBy=multi-user.target >> diff --git a/debian/ovn-doc.doc-base b/debian/ovn-doc.doc-base >> new file mode 100644 >> index 000000000..c7192ebdb >> --- /dev/null >> +++ b/debian/ovn-doc.doc-base >> @@ -0,0 +1,9 @@ >> +Document: ovn-doc >> +Title: Open Virtual Network Documentation >> +Author: N/A >> +Abstract: Sphinx documentation for Open Virtual Network >> +Section: Network/Communication >> + >> +Format: HTML >> +Index: /usr/share/doc/ovn-doc/html/index.html >> +Files: /usr/share/doc/ovn-doc/html/* >> diff --git a/debian/ovn-doc.install b/debian/ovn-doc.install >> new file mode 100644 >> index 000000000..4cfd153cf >> --- /dev/null >> +++ b/debian/ovn-doc.install >> @@ -0,0 +1 @@ >> +Documentation/_build/html/* /usr/share/doc/ovn-doc/html/ >> diff --git a/debian/ovn-docker.install b/debian/ovn-docker.install >> new file mode 100644 >> index 000000000..583306732 >> --- /dev/null >> +++ b/debian/ovn-docker.install >> @@ -0,0 +1,2 @@ >> +usr/bin/ovn-docker-overlay-driver >> +usr/bin/ovn-docker-underlay-driver >> diff --git a/debian/ovn-host.default b/debian/ovn-host.default >> new file mode 100644 >> index 000000000..7fd54efda >> --- /dev/null >> +++ b/debian/ovn-host.default >> @@ -0,0 +1,5 @@ >> +# This is a POSIX shell fragment -*- sh -*- >> + >> +# OVN_CTL_OPTS: Extra options to pass to ovs-ctl. This is, for example, >> +# a suitable place to specify --ovn-controller-wrapper=valgrind. >> +# OVN_CTL_OPTS= >> diff --git a/debian/ovn-host.install b/debian/ovn-host.install >> new file mode 100644 >> index 000000000..d2de82fd9 >> --- /dev/null >> +++ b/debian/ovn-host.install >> @@ -0,0 +1 @@ >> +usr/bin/ovn-controller >> diff --git a/debian/ovn-host.ovn-controller.service b/debian/ovn-host.ovn-controller.service >> new file mode 100644 >> index 000000000..a41e77d75 >> --- /dev/null >> +++ b/debian/ovn-host.ovn-controller.service >> @@ -0,0 +1,15 @@ >> +[Unit] >> +Description=Open Virtual Network host control daemon >> +After=network.target openvswitch-switch.service >> +PartOf=ovn-host.service >> +DefaultDependencies=no >> + >> +[Service] >> +Type=forking >> +EnvironmentFile=-/etc/default/ovn-host >> +PIDFile=%t/ovn/ovn-controller.pid >> +ExecStart=/usr/share/ovn/scripts/ovn-ctl start_controller --ovn-manage-ovsdb=no --no-monitor $OVN_CTL_OPTS >> +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_controller --no-monitor >> +Restart=on-failure >> +LimitNOFILE=65535 >> +TimeoutStopSec=15 >> diff --git a/debian/ovn-host.postrm b/debian/ovn-host.postrm >> new file mode 100644 >> index 000000000..9d17ef966 >> --- /dev/null >> +++ b/debian/ovn-host.postrm >> @@ -0,0 +1,43 @@ >> +#!/bin/sh >> +# postrm script for ovn-host >> +# >> +# see: dh_installdeb(1) >> + >> +set -e >> + >> +# summary of how this script can be called: >> +# * <postrm> `remove' >> +# * <postrm> `purge' >> +# * <old-postrm> `upgrade' <new-version> >> +# * <new-postrm> `failed-upgrade' <old-version> >> +# * <new-postrm> `abort-install' >> +# * <new-postrm> `abort-install' <old-version> >> +# * <new-postrm> `abort-upgrade' <old-version> >> +# * <disappearer's-postrm> `disappear' <overwriter> >> +# <overwriter-version> >> +# for details, see http://www.debian.org/doc/debian-policy/ or >> +# the debian-policy package >> + >> + >> +case "$1" in >> + purge) >> + rm -f /var/log/openvswitch/ovn-controller.log* || true >> + ;; >> + >> + remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) >> + ;; >> + >> + *) >> + echo "postrm called with unknown argument \`$1'" >&2 >> + exit 1 >> + ;; >> +esac >> + >> +# dh_installdeb will replace this with shell code automatically >> +# generated by other debhelper scripts. >> + >> +#DEBHELPER# >> + >> +exit 0 >> + >> + >> diff --git a/debian/ovn-host.service b/debian/ovn-host.service >> new file mode 100644 >> index 000000000..b524888fd >> --- /dev/null >> +++ b/debian/ovn-host.service >> @@ -0,0 +1,14 @@ >> +[Unit] >> +Description=Open Virtual Network host components >> +After=network.target >> +Requires=network.target >> +Wants=ovn-controller.service >> + >> +[Service] >> +Type=oneshot >> +ExecStart=/bin/true >> +ExecStop=/bin/true >> +RemainAfterExit=yes >> + >> +[Install] >> +WantedBy=multi-user.target >> diff --git a/debian/ovn-ic-db.install b/debian/ovn-ic-db.install >> new file mode 100644 >> index 000000000..a4d50002e >> --- /dev/null >> +++ b/debian/ovn-ic-db.install >> @@ -0,0 +1,2 @@ >> +/usr/share/ovn/ovn-ic-nb.ovsschema >> +/usr/share/ovn/ovn-ic-sb.ovsschema >> diff --git a/debian/ovn-ic-db.ovn-ovsdb-server-ic-nb.service b/debian/ovn-ic-db.ovn-ovsdb-server-ic-nb.service >> new file mode 100644 >> index 000000000..193024daf >> --- /dev/null >> +++ b/debian/ovn-ic-db.ovn-ovsdb-server-ic-nb.service >> @@ -0,0 +1,15 @@ >> +[Unit] >> +Description=Open vSwitch database server for OVN IC Northbound database >> +After=network.target >> +PartOf=ovn-ic-db.service >> +DefaultDependencies=no >> + >> +[Service] >> +Type=simple >> +EnvironmentFile=-/etc/default/ovn-ic >> +PIDFile=%t/ovn/ovn_ic_nb_db.pid >> +ExecStart=/usr/share/ovn/scripts/ovn-ctl run_ic_nb_ovsdb $OVN_CTL_OPTS >> +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_ic_nb_ovsdb >> +Restart=on-failure >> +LimitNOFILE=65535 >> +TimeoutStopSec=15 >> diff --git a/debian/ovn-ic-db.ovn-ovsdb-server-ic-sb.service b/debian/ovn-ic-db.ovn-ovsdb-server-ic-sb.service >> new file mode 100644 >> index 000000000..714748325 >> --- /dev/null >> +++ b/debian/ovn-ic-db.ovn-ovsdb-server-ic-sb.service >> @@ -0,0 +1,15 @@ >> +[Unit] >> +Description=Open vSwitch database server for OVN IC Southbound database >> +After=network.target >> +PartOf=ovn-ic-db.service >> +DefaultDependencies=no >> + >> +[Service] >> +Type=simple >> +EnvironmentFile=-/etc/default/ovn-ic >> +PIDFile=%t/ovn/ovn_ic_sb_db.pid >> +ExecStart=/usr/share/ovn/scripts/ovn-ctl run_ic_sb_ovsdb $OVN_CTL_OPTS >> +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_ic_sb_ovsdb >> +Restart=on-failure >> +LimitNOFILE=65535 >> +TimeoutStopSec=15 >> diff --git a/debian/ovn-ic-db.service b/debian/ovn-ic-db.service >> new file mode 100644 >> index 000000000..b116bc79d >> --- /dev/null >> +++ b/debian/ovn-ic-db.service >> @@ -0,0 +1,15 @@ >> +[Unit] >> +Description=Open Virtual Network interconnection databases >> +After=network.target >> +Requires=network.target >> +Wants=ovn-ovsdb-server-ic-sb.service >> +Wants=ovn-ovsdb-server-ic-nb.service >> + >> +[Service] >> +Type=oneshot >> +ExecStart=/bin/true >> +ExecStop=/bin/true >> +RemainAfterExit=yes >> + >> +[Install] >> +WantedBy=multi-user.target >> diff --git a/debian/ovn-ic.install b/debian/ovn-ic.install >> new file mode 100644 >> index 000000000..b15508259 >> --- /dev/null >> +++ b/debian/ovn-ic.install >> @@ -0,0 +1 @@ >> +/usr/bin/ovn-ic >> diff --git a/debian/ovn-ic.service b/debian/ovn-ic.service >> new file mode 100644 >> index 000000000..07974285f >> --- /dev/null >> +++ b/debian/ovn-ic.service >> @@ -0,0 +1,16 @@ >> +[Unit] >> +Description=Open Virtual Network interconnection controller >> +After=network.target >> +Requires=network.target >> + >> +[Service] >> +Type=forking >> +PIDFile=%t/ovn/ovn-ic.pid >> +ExecStart=/usr/share/ovn/scripts/ovn-ctl start_ic --no-monitor >> +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_ic >> +Restart=on-failure >> +LimitNOFILE=65535 >> +TimeoutStopSec=15 >> + >> +[Install] >> +WantedBy=multi-user.target >> diff --git a/debian/rules b/debian/rules >> new file mode 100755 >> index 000000000..4596afb49 >> --- /dev/null >> +++ b/debian/rules >> @@ -0,0 +1,104 @@ >> +#!/usr/bin/make -f >> +# -*- makefile -*- >> +#export DH_VERBOSE=1 >> +export DEB_BUILD_MAINT_OPTIONS = hardening=+all >> + >> +%: >> + dh $@ --with autoreconf,python3,sphinxdoc >> + >> +ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) >> +PARALLEL = -j$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) >> +else >> +PARALLEL = >> +endif >> + >> +override_dh_auto_configure: >> + # Configure OVS before OVN >> + test -d $(CURDIR)/ovs || mkdir ovs >> + cd ovs && tar -xzf /usr/src/openvswitch/openvswitch.tar.gz --strip-components=1 This looks hard to maintain. The source archive AFAICT is coming from the openvswitch-source package installed from ubuntu reporitories, but there is no guarantee that the version of OVS needed for upstream OVN is available in ubuntu repos. It might be outdated because ubuntu is using some stable version of OVN, but not OVN master. And also any patch that tries to advance the OVS submodule version will likely fail the CI, because there is no way to change openvswitch-source package at the same time. I think, we need to build with included submodule here. That is what OVN users will expect if they are changing some code in the OVS submodule and re-building the OVN package locally, I guess. We talked before about OVN providing submodule as part of a source archive for releases. That should remove the dependency on openvswitch-source package here and should work for both upstream and downstream builds in ubuntu. >> + cd ovs && ./configure --enable-ssl --localstatedir=/var --sysconfdir=/etc --prefix=/usr && make $(PARALLEL) >> + # Configure OVN to allow building OVN VIF >> + ./boot.sh && ./configure \ >> + --prefix=/usr \ >> + --localstatedir=/var \ >> + --sysconfdir=/etc \ >> + --with-dbdir=/var/lib/ovn \ >> + --with-ovs-source=$(CURDIR)/ovs \ >> + --enable-ssl >> + # Configure and build OVN VIF >> + cd ovn-vif && \ This should be noted somewhere that ovn-vif is a required dependency. Or did I miss that part of the documentation? It might be better to make it optional somehow, so upstream users, who don't need it, could build OVN from just OVN source tree. >> + ./boot.sh && \ >> + ./configure \ >> + --with-ovs-source=$(CURDIR)/ovs \ >> + --with-ovn-source=$(CURDIR) \ >> + --enable-plug-representor && \ >> + make $(PARALLEL) >> + # Use dh_auto_configure to build OVN >> + dh_auto_configure -- \ >> + --prefix=/usr \ >> + --localstatedir=/var \ >> + --sysconfdir=/etc \ >> + --with-dbdir=/var/lib/ovn \ >> + --with-ovs-source=$(CURDIR)/ovs \ >> + --enable-ssl \ >> + --with-vif-plug-provider=$(CURDIR)/ovn-vif >> + $(MAKE) debian/copyright >> + >> +TEST_LIST = $(shell \ >> + $(CURDIR)/debian/testlist.py \ >> + $(CURDIR)/debian/flaky-tests-$(DEB_HOST_ARCH).txt \ >> + $(CURDIR)/tests/testsuite) >> + >> +override_dh_auto_test: >> +ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) >> + if $(MAKE) check TESTSUITEFLAGS='$(PARALLEL) $(TEST_LIST)' || \ >> + $(MAKE) check TESTSUITEFLAGS='--recheck'; then :; \ >> + else \ >> + cat tests/testsuite.log; \ >> + exit 1; \ >> + fi >> +endif # nocheck >> + >> +override_dh_auto_build: >> + cd ovs && $(MAKE) $(PARALLEL) >> + $(MAKE) $(PARALLEL) >> + >> +override_dh_auto_clean: >> + dh_auto_clean >> + cd ovn-vif && make distclean | : >> + rm -rf ovs >> + >> +override_dh_installinit: >> + # Package does not ship any init.d files >> + dh_installinit --no-scripts >> + >> +override_dh_installsystemd: >> + dh_installsystemd --restart-after-upgrade -povn-central --name=ovn-northd >> + dh_installsystemd --restart-after-upgrade -povn-central --name=ovn-ovsdb-server-sb >> + dh_installsystemd --restart-after-upgrade -povn-central --name=ovn-ovsdb-server-nb >> + dh_installsystemd --restart-after-upgrade -povn-ic-db --name=ovn-ovsdb-server-ic-sb >> + dh_installsystemd --restart-after-upgrade -povn-ic-db --name=ovn-ovsdb-server-ic-nb >> + dh_installsystemd --restart-after-upgrade -povn-host --name=ovn-controller >> + dh_installsystemd --restart-after-upgrade >> + >> +override_dh_python3: >> + dh_python3 --shebang=/usr/bin/python3 >> + >> +# Helper target for creating snapshots from upstream git >> +DATE=$(shell date +%Y%m%d) >> +# Upstream branch to track >> +BRANCH=main >> +VERSION=22.09.0 >> + >> +get-orig-snapshot: >> + rm -Rf ovn-upstream ovn-vif-upstream >> + git clone --branch $(BRANCH) --depth 1 https://github.com/ovn-org/ovn ovn-upstream >> + git clone --branch $(BRANCH) --depth 1 https://github.com/ovn-org/ovn-vif ovn-vif-upstream Why is it possible to clone ovn-vif, but ovs is used from the openvswitch-sources package? Double standards! :) >> + cd ovn-upstream && \ >> + export COMMIT=`git rev-parse --short HEAD` && \ >> + git archive --format tgz --prefix=ovn-$(VERSION)~git$(DATE).$$COMMIT/ \ >> + -o ../../ovn_$(VERSION)~git$(DATE).$$COMMIT.orig.tar.gz $(BRANCH) && \ Can we just archive the submodule here as well? It's not some separate shared library, it's just a set of required sources that are necessary to build with. >> + cd ../ovn-vif-upstream && \ >> + git archive --format tgz --prefix=ovn-vif-$(VERSION)~git$(DATE).$$COMMIT/ \ >> + -o ../../ovn_$(VERSION)~git$(DATE).$$COMMIT.orig-ovn-vif.tar.gz $(BRANCH) >> + rm -Rf ovn-upstream ovn-vif-upstream >> diff --git a/debian/source/format b/debian/source/format >> new file mode 100644 >> index 000000000..163aaf8d8 >> --- /dev/null >> +++ b/debian/source/format >> @@ -0,0 +1 @@ >> +3.0 (quilt) >> diff --git a/debian/source/include-binaries b/debian/source/include-binaries >> new file mode 100644 >> index 000000000..2dfb2fe55 >> --- /dev/null >> +++ b/debian/source/include-binaries >> @@ -0,0 +1 @@ >> +ovn-vif/Documentation/_static/logo.png >> diff --git a/debian/testlist.py b/debian/testlist.py >> new file mode 100755 >> index 000000000..24d2ae9c5 >> --- /dev/null >> +++ b/debian/testlist.py >> @@ -0,0 +1,72 @@ >> +#!/usr/bin/env python3 >> +import enum >> +import itertools >> +import os >> +import sys >> + >> + >> +if len(sys.argv) < 3: >> + print( >> + "usage: {} skipdescriptionlist testsuite\n" >> + "\n" >> + "This program reads two files, a skiplist containing the \n" >> + "description of tests to skip separated by newline, and a \n" >> + "generated testsuite script.\n" >> + "\n" >> + "From this it produces string with range of tests to execute \n" >> + "which can be provided to the testsuite script.\n".format(sys.argv[0]), >> + file=sys.stderr, >> + ) >> + sys.exit(os.EX_USAGE) >> + >> + >> +SKIP_TEST_STRINGS = [] >> +with open(sys.argv[1]) as fin: >> + SKIP_TEST_STRINGS = [line.rstrip() for line in fin.readlines()] >> + >> + >> +@enum.unique >> +class State(enum.Enum): >> + INIT = enum.auto() >> + AT_HELP_ALL = enum.auto() >> + >> + >> +SKIP_TESTS = set() >> +TESTS = set() >> +with open(sys.argv[2]) as fin: >> + state = State.INIT >> + last_test = 0 >> + for line in fin.readlines(): >> + if state == State.INIT: >> + if not line.startswith('at_help_all="'): >> + continue >> + else: >> + state = State.AT_HELP_ALL >> + data = line.split('"')[1].rstrip().split(";") >> + elif state == State.AT_HELP_ALL: >> + if line.startswith('"'): >> + break >> + data = line.rstrip().split(";") >> + test_nr = int(data[0]) >> + if last_test < test_nr: >> + last_test = test_nr >> + for skip_string in SKIP_TEST_STRINGS: >> + if skip_string in data[2]: >> + SKIP_TESTS.add(test_nr) >> + else: >> + TESTS.add(test_nr) >> + >> + >> +def ranges(testlist): >> + for a, b in itertools.groupby( >> + enumerate(list(testlist)), lambda pair: pair[1] - pair[0] >> + ): >> + b = list(b) >> + yield b[0][1], b[-1][1] >> + >> + >> +testranges = [ >> + "{}-{}".format(testrange[0], testrange[1]) >> + for testrange in ranges(TESTS - SKIP_TESTS) >> +] >> +print(" ".join(testranges)) >> diff --git a/debian/watch b/debian/watch >> new file mode 100644 >> index 000000000..4831f3456 >> --- /dev/null >> +++ b/debian/watch >> @@ -0,0 +1,5 @@ >> +version=4 >> +opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/ovn-$1\.tar\.gz/ \ >> + https://github.com/ovn-org/ovn/tags .*/v?(\d\S+)\.tar\.gz >> +opts="filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/ovn-vif-$1\.tar\.gz/, component=ovn-vif" \ >> + https://github.com/ovn-org/ovn-vif/tags .*/v?(\d\S+)\.tar\.gz >> -- >> 2.36.1
On Thu, Aug 11, 2022 at 9:10 PM Ilya Maximets <i.maximets@ovn.org> wrote: > > On 8/5/22 22:39, Frode Nordahl wrote: > > Ilya and Numan, > > > > I preemptively added your names to the commit message because the > > patch contains your work as detailed in the commit message. > > > > I hope this is ok. > > Fine by me. See some comments inline regarding things I spotted > on a first read. Thank you, Ilya, much appreciated! > Best regards, Ilya Maximets. > > > > > On Fri, Aug 5, 2022 at 10:35 PM Frode Nordahl > > <frode.nordahl@canonical.com> wrote: > >> > >> Update debian package source from Debian and Ubuntu. > >> > >> debian/ovn-common.logrotate comes from the RHEL packaging in this > >> tree, and author is credited below. > >> > >> The debian/automake.mk tricks to generate the copyright file while > >> building came from the work on the debian packaging in openvswitch > >> and author is credited below. > >> > >> Signed-off-by: James Page <james.page@ubuntu.com> > >> Co-Authored-by: James Page <james.page@ubuntu.com> > >> Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com> > >> Co-Authored-by: Christian Ehrhardt <christian.ehrhardt@canonical.com> > >> Signed-off-by: Numan Siddique <numans@ovn.org> > >> Co-Authored-by: Numan Siddique <numans@ovn.org> > >> Signed-off-by: Ilya Maximets <i.maximets@ovn.org> > >> Co-Authored-by: Ilya Maximets <i.maximets@ovn.org> > >> Signed-off-by: Frode Nordahl <frode.nordahl@canonical.com> > >> --- > >> build-aux/initial-tab-whitelist | 3 +- > >> debian/.gitignore | 17 ++ > >> debian/automake.mk | 85 ++++++++- > >> debian/control | 176 ++++++++++++++++++ > >> debian/copyright.in | 146 +++++++++++++++ > >> debian/flaky-tests-amd64.txt | 6 + > >> debian/flaky-tests-arm64.txt | 5 + > >> debian/flaky-tests-armel.txt | 7 + > >> debian/flaky-tests-armhf.txt | 9 + > >> debian/flaky-tests-i386.txt | 8 + > >> debian/flaky-tests-mips64el.txt | 5 + > >> debian/flaky-tests-mipsel.txt | 21 +++ > >> debian/flaky-tests-ppc64el.txt | 6 + > >> debian/flaky-tests-riscv64.txt | 6 + > >> debian/flaky-tests-s390x.txt | 5 + > >> debian/gbp.conf | 13 ++ > >> debian/not-installed | 5 + > >> debian/ovn-central.default | 5 + > >> debian/ovn-central.install | 3 + > >> debian/ovn-central.ovn-northd.service | 15 ++ > >> .../ovn-central.ovn-ovsdb-server-nb.service | 18 ++ > >> .../ovn-central.ovn-ovsdb-server-sb.service | 18 ++ > >> debian/ovn-central.postrm | 47 +++++ > >> debian/ovn-central.service | 16 ++ > >> debian/ovn-common.docs | 1 + > >> debian/ovn-common.install | 32 ++++ > >> debian/ovn-common.logrotate | 22 +++ > >> debian/ovn-common.postinst | 24 +++ > >> debian/ovn-common.postrm | 23 +++ > >> debian/ovn-controller-vtep.install | 1 + > >> debian/ovn-controller-vtep.service | 16 ++ > >> debian/ovn-doc.doc-base | 9 + > >> debian/ovn-doc.install | 1 + > >> debian/ovn-docker.install | 2 + > >> debian/ovn-host.default | 5 + > >> debian/ovn-host.install | 1 + > >> debian/ovn-host.ovn-controller.service | 15 ++ > >> debian/ovn-host.postrm | 43 +++++ > >> debian/ovn-host.service | 14 ++ > >> debian/ovn-ic-db.install | 2 + > >> .../ovn-ic-db.ovn-ovsdb-server-ic-nb.service | 15 ++ > >> .../ovn-ic-db.ovn-ovsdb-server-ic-sb.service | 15 ++ > >> debian/ovn-ic-db.service | 15 ++ > >> debian/ovn-ic.install | 1 + > >> debian/ovn-ic.service | 16 ++ > >> debian/rules | 104 +++++++++++ > >> debian/source/format | 1 + > >> debian/source/include-binaries | 1 + > >> debian/testlist.py | 72 +++++++ > >> debian/watch | 5 + > >> 50 files changed, 1098 insertions(+), 3 deletions(-) > >> create mode 100644 debian/.gitignore > >> create mode 100644 debian/control > >> create mode 100644 debian/copyright.in > >> create mode 100644 debian/flaky-tests-amd64.txt > >> create mode 100644 debian/flaky-tests-arm64.txt > >> create mode 100644 debian/flaky-tests-armel.txt > >> create mode 100644 debian/flaky-tests-armhf.txt > >> create mode 100644 debian/flaky-tests-i386.txt > >> create mode 100644 debian/flaky-tests-mips64el.txt > >> create mode 100644 debian/flaky-tests-mipsel.txt > >> create mode 100644 debian/flaky-tests-ppc64el.txt > >> create mode 100644 debian/flaky-tests-riscv64.txt > >> create mode 100644 debian/flaky-tests-s390x.txt > >> create mode 100644 debian/gbp.conf > >> create mode 100644 debian/not-installed > >> create mode 100644 debian/ovn-central.default > >> create mode 100644 debian/ovn-central.install > >> create mode 100644 debian/ovn-central.ovn-northd.service > >> create mode 100644 debian/ovn-central.ovn-ovsdb-server-nb.service > >> create mode 100644 debian/ovn-central.ovn-ovsdb-server-sb.service > >> create mode 100644 debian/ovn-central.postrm > >> create mode 100644 debian/ovn-central.service > >> create mode 100644 debian/ovn-common.docs > >> create mode 100644 debian/ovn-common.install > >> create mode 100644 debian/ovn-common.logrotate > >> create mode 100644 debian/ovn-common.postinst > >> create mode 100644 debian/ovn-common.postrm > >> create mode 100644 debian/ovn-controller-vtep.install > >> create mode 100644 debian/ovn-controller-vtep.service > >> create mode 100644 debian/ovn-doc.doc-base > >> create mode 100644 debian/ovn-doc.install > >> create mode 100644 debian/ovn-docker.install > >> create mode 100644 debian/ovn-host.default > >> create mode 100644 debian/ovn-host.install > >> create mode 100644 debian/ovn-host.ovn-controller.service > >> create mode 100644 debian/ovn-host.postrm > >> create mode 100644 debian/ovn-host.service > >> create mode 100644 debian/ovn-ic-db.install > >> create mode 100644 debian/ovn-ic-db.ovn-ovsdb-server-ic-nb.service > >> create mode 100644 debian/ovn-ic-db.ovn-ovsdb-server-ic-sb.service > >> create mode 100644 debian/ovn-ic-db.service > >> create mode 100644 debian/ovn-ic.install > >> create mode 100644 debian/ovn-ic.service > >> create mode 100755 debian/rules > >> create mode 100644 debian/source/format > >> create mode 100644 debian/source/include-binaries > >> create mode 100755 debian/testlist.py > >> create mode 100644 debian/watch > >> > >> diff --git a/build-aux/initial-tab-whitelist b/build-aux/initial-tab-whitelist > >> index b2f5a0791..71d4f007d 100644 > >> --- a/build-aux/initial-tab-whitelist > >> +++ b/build-aux/initial-tab-whitelist > >> @@ -6,6 +6,5 @@ > >> ^ovs/ > >> ^third-party/ > >> ^xenserver/ > >> -^debian/rules.modules$ > >> -^debian/rules$ > >> +^debian/ > >> ^\.gitmodules$ > >> diff --git a/debian/.gitignore b/debian/.gitignore > >> new file mode 100644 > >> index 000000000..d2393b3fd > >> --- /dev/null > >> +++ b/debian/.gitignore > >> @@ -0,0 +1,17 @@ > >> +*.debhelper > >> +*.debhelper.log > >> +*.substvars > >> +/autoreconf.after > >> +/autoreconf.before > >> +/copyright > >> +/files > >> +/ovn-common > >> +/ovn-controller-vtep > >> +/ovn-host > >> +/ovn-central > >> +/ovn-docker > >> +/debhelper-build-stamp > >> +/ovn-doc/ > >> +/ovn-ic-db/ > >> +/ovn-ic/ > >> +/tmp > >> diff --git a/debian/automake.mk b/debian/automake.mk > >> index ce11fd040..d199c925d 100644 > >> --- a/debian/automake.mk > >> +++ b/debian/automake.mk > >> @@ -1,2 +1,85 @@ > >> EXTRA_DIST += \ > >> - debian/changelog > >> + debian/changelog \ > >> + debian/control \ > >> + debian/copyright.in \ > >> + debian/flaky-tests-amd64.txt \ > >> + debian/flaky-tests-arm64.txt \ > >> + debian/flaky-tests-armel.txt \ > >> + debian/flaky-tests-armhf.txt \ > >> + debian/flaky-tests-i386.txt \ > >> + debian/flaky-tests-mips64el.txt \ > >> + debian/flaky-tests-mipsel.txt \ > >> + debian/flaky-tests-ppc64el.txt \ > >> + debian/flaky-tests-riscv64.txt \ > >> + debian/flaky-tests-s390x.txt \ > >> + debian/gbp.conf \ > >> + debian/not-installed \ > >> + debian/ovn-central.default \ > >> + debian/ovn-central.install \ > >> + debian/ovn-central.ovn-northd.service \ > >> + debian/ovn-central.postrm \ > >> + debian/ovn-central.service \ > >> + debian/ovn-common.docs \ > >> + debian/ovn-common.install \ > >> + debian/ovn-common.logrotate \ > >> + debian/ovn-common.postinst \ > >> + debian/ovn-common.postrm \ > >> + debian/ovn-controller-vtep.install \ > >> + debian/ovn-controller-vtep.service \ > >> + debian/ovn-doc.doc-base \ > >> + debian/ovn-doc.install \ > >> + debian/ovn-docker.install \ > >> + debian/ovn-host.default \ > >> + debian/ovn-host.install \ > >> + debian/ovn-host.ovn-controller.service \ > >> + debian/ovn-host.postrm \ > >> + debian/ovn-host.service \ > >> + debian/ovn-ic-db.install \ > >> + debian/ovn-ic-db.service \ > >> + debian/ovn-ic.install \ > >> + debian/ovn-ic.service \ > >> + debian/rules \ > >> + debian/source/format \ > >> + debian/source/include-binaries \ > >> + debian/testlist.py \ > >> + debian/watch > >> + > >> +check-debian-changelog-version: > >> + @DEB_VERSION=`echo '$(VERSION)' | sed 's/pre/~pre/'`; \ > >> + if $(FGREP) '($(DEB_VERSION)' $(srcdir)/debian/changelog >/dev/null; \ > >> + then \ > >> + :; \ > >> + else \ > >> + echo "Update debian/changelog to mention version $(VERSION)"; \ > >> + exit 1; \ > >> + fi > >> +ALL_LOCAL += check-debian-changelog-version > >> +DIST_HOOKS += check-debian-changelog-version > >> + > >> +update_deb_copyright = \ > >> + $(AM_V_GEN) \ > >> + { sed -n -e '/%AUTHORS%/q' -e p < $(srcdir)/debian/copyright.in; \ > >> + tail -n +28 $(srcdir)/AUTHORS.rst | sed '1,/^$$/d' | \ > >> + sed -n -e '/^$$/q' -e 's/^/ /p'; \ > >> + sed -e '1,/%AUTHORS%/d' $(srcdir)/debian/copyright.in; \ > >> + } > debian/copyright > >> + > >> +debian/copyright: AUTHORS.rst debian/copyright.in > >> + $(update_deb_copyright) > >> + > >> +CLEANFILES += debian/copyright > >> + > >> +debian: debian/copyright > >> +.PHONY: debian > >> + > >> +debian-deb: debian > >> + @if test X"$(srcdir)" != X"$(top_builddir)"; then \ > >> + echo "Debian packages should be built from $(abs_srcdir)/"; \ > >> + exit 1; \ > >> + fi > >> + $(MAKE) distclean > >> + $(update_deb_copyright) > >> + $(update_deb_control) > >> + $(AM_V_GEN) fakeroot debian/rules clean > >> + $(AM_V_GEN) DEB_BUILD_OPTIONS="nocheck parallel=`nproc`" \ > >> + fakeroot debian/rules binary > >> diff --git a/debian/control b/debian/control > >> new file mode 100644 > >> index 000000000..a6f395842 > >> --- /dev/null > >> +++ b/debian/control > >> @@ -0,0 +1,176 @@ > >> +Source: ovn > >> +Section: net > >> +Priority: optional > >> +Maintainer: OVN developers <dev@openvswitch.org> > >> +Build-Depends: > >> + autoconf, > >> + automake, > >> + bzip2, > >> + debhelper-compat (= 10), > >> + dh-python, > >> + graphviz, > >> + libcap-ng-dev, > >> + libnuma-dev [amd64 i386 ppc64el arm64], > >> + libpcap-dev [amd64 i386 ppc64el arm64], > >> + libssl-dev, > >> + libtool, > >> + libudev-dev, > >> + libunbound-dev, > >> + openssl, > >> + openstack-pkg-tools, > >> + openvswitch-source (>= 2.17.2-3~), > >> + pkg-config, > >> + procps, > >> + python3-all-dev, > >> + python3-setuptools, > >> + python3-sortedcontainers, > >> + python3-sphinx, > >> + tcpdump, > >> +Standards-Version: 4.6.1 > >> +Homepage: https://www.ovn.org/ > >> + > >> +Package: ovn-central > >> +Architecture: linux-any > >> +Pre-Depends: ${misc:Pre-Depends}, > >> +Depends: > >> + lsb-base, > >> + lsb-release, > >> + openvswitch-common (>= 2.17.0~), > >> + ovn-common (= ${binary:Version}), > >> + ${misc:Depends}, > >> + ${shlibs:Depends}, > >> +Description: OVN central components > >> + 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. > >> + . > >> + ovn-central provides the userspace daemons, utilities and > >> + databases for OVN that is run at a central location. > >> + > >> +Package: ovn-common > >> +Architecture: linux-any > >> +Depends: > >> + ${misc:Depends}, > >> + ${python3:Depends}, > >> + ${shlibs:Depends}, > >> +Breaks: > >> + ovn-ic-db (<< 22.03~), > >> +Replaces: > >> + ovn-ic-db (<< 22.03~), > >> +Description: OVN common components > >> + 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. > >> + . > >> + ovn-common provides components required by other OVN packages. > >> + > >> +Package: ovn-controller-vtep > >> +Architecture: linux-any > >> +Pre-Depends: ${misc:Pre-Depends}, > >> +Depends: > >> + lsb-base, > >> + ovn-common (= ${binary:Version}), > >> + ${misc:Depends}, > >> + ${shlibs:Depends}, > >> +Description: OVN vtep controller > >> + ovn-controller-vtep is the local controller daemon in OVN, the Open Virtual > >> + Network, for VTEP enabled physical switches. It connects up to the OVN > >> + Southbound database over the OVSDB protocol, and down to the VTEP database > >> + over the OVSDB protocol. > >> + . > >> + ovn-controller-vtep provides the ovn-controller-vtep binary for controlling > >> + vtep gateways. > >> + > >> +Package: ovn-doc > >> +Section: doc > >> +Architecture: all > >> +Depends: > >> + ${misc:Depends}, > >> + ${sphinxdoc:Depends}, > >> +Description: OVN documentation > >> + 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. > >> + . > >> + This package provides documentation for configuration and use > >> + of OVN. > >> + > >> +Package: ovn-docker > >> +Architecture: linux-any > >> +Depends: > >> + openvswitch-common (>= 2.17.0~), > >> + ovn-common (= ${binary:Version}), > >> + python3-openvswitch (>= 2.17.0~), > >> + ${misc:Depends}, > >> + ${python3:Depends}, > >> + ${shlibs:Depends}, > >> +Description: OVN Docker drivers > >> + 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. > >> + . > >> + ovn-docker provides the docker drivers for OVN. > >> + > >> +Package: ovn-host > >> +Architecture: linux-any > >> +Pre-Depends: ${misc:Pre-Depends}, > >> +Depends: > >> + lsb-base, > >> + lsb-release, > >> + openvswitch-switch (>= 2.17.0~), > >> + ovn-common (= ${binary:Version}), > >> + ${misc:Depends}, > >> + ${shlibs:Depends}, > >> +Description: OVN host components > >> + 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. > >> + . > >> + ovn-host provides the userspace components and utilities for > >> + OVN that can be run on every host/hypervisor. > >> + > >> +Package: ovn-ic > >> +Architecture: linux-any > >> +Pre-Depends: ${misc:Pre-Depends}, > >> +Depends: > >> + lsb-base, > >> + lsb-release, > >> + ovn-common (= ${binary:Version}), > >> + ${misc:Depends}, > >> + ${shlibs:Depends}, > >> +Enhances: > >> + ovn-central, > >> +Suggests: > >> + ovn-ic-db, > >> +Description: Open Virtual Network interconnection controller > >> + OVN IC, the Open Virtual Network interconnection controller, is a > >> + centralized daemon which communicates with global interconnection > >> + databases to configure and exchange data with local OVN databases for > >> + interconnection with other OVN deployments. > >> + . > >> + This package provides the ovn-ic daemon which should be run alongside > >> + ovn-central services in each OVN deployment zone. > >> + > >> +Package: ovn-ic-db > >> +Architecture: linux-any > >> +Pre-Depends: ${misc:Pre-Depends}, > >> +Depends: > >> + lsb-base, > >> + lsb-release, > >> + openvswitch-common (>= 2.17.0~), > >> + ovn-common (= ${binary:Version}), > >> + ${misc:Depends}, > >> + ${shlibs:Depends}, > >> +Description: Open Virtual Network interconnection controller databases > >> + OVN IC, the Open Virtual Network interconnection controller, is a > >> + centralized daemon which communicates with global interconnection > >> + databases to configure and exchange data with local OVN databases for > >> + interconnection with other OVN deployments. > >> + . > >> + This package provides the global OVN IC southbound and northbound > >> + OVSDB databases. > >> diff --git a/debian/copyright.in b/debian/copyright.in > >> new file mode 100644 > >> index 000000000..911704ae0 > >> --- /dev/null > >> +++ b/debian/copyright.in > >> @@ -0,0 +1,146 @@ > >> +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ > >> +Upstream-Name: Open Virtual Network (OVN) > >> +Source: https://github.com/ovn-org/ovn > >> +Files-Excluded: debian > >> +Upstream-Authors: > >> +%AUTHORS% > >> + > >> +Files: * > >> +Copyright: 2007-2017 Nicira, Inc. > >> + 2010 Jean Tourrilhes - HP-Labs. > >> + 2008,2009,2010 Citrix Systems, Inc. > >> + 2011 Gaetano Catalli > >> + 2000-2003 Geoffrey Wossum <gwossum@acm.org> > >> + 2000 The NetBSD Foundation, Inc. > >> + 1995, 1996, 1997, and 1998 WIDE Project. > >> + 1982, 1986, 1990, 1993 The Regents of the University of California. > >> + 2008, 2012 Vincent Bernat <bernat@luffy.cx> > >> + 2014 Michael Chapman > >> + 2014 WindRiver, Inc. > >> + 2014 Avaya, Inc. > >> + 2001 Daniel Hartmeier > >> + 2002 - 2008 Henning Brauer > >> + 2012 Gleb Smirnoff <glebius@FreeBSD.org> > >> + 2015-2019 Red Hat, Inc. > >> + 2017 DtDream Technology Co., Ltd. > >> + 2018 eBay Inc. > >> +License: Apache-2.0 > >> +Comment: > >> + This package contains code from other projects and authors not > >> + mentioned elsewhere. > >> + . > >> + Open vSwitch > >> + Copyright (c) 2007, 2008, 2009, 2010, 2011, 2013 Nicira, Inc. > >> + . > >> + Open vSwitch BSD port > >> + Copyright (c) 2011 Gaetano Catalli > >> + . > >> + Apache Portable Runtime > >> + Copyright 2008 The Apache Software Foundation. > >> + . > >> + This product includes software developed by > >> + The Apache Software Foundation (http://www.apache.org/). > >> + . > >> + Portions of this software were developed at the National Center > >> + for Supercomputing Applications (NCSA) at the University of > >> + Illinois at Urbana-Champaign. > >> + . > >> + lib/ovs.tmac includes troff macros written by Eric S. Raymond > >> + and Werner Lemberg. > >> + . > >> + m4/include_next.m4 and m4/absolute-header.m4 > >> + Copyright (C) 2006-2013 Free Software Foundation, Inc. > >> + . > >> + Rapid Spanning Tree Protocol (RSTP) implementation > >> + Copyright (c) 2011-2014 M3S, Srl - Italy > >> + . > >> + LLDP implementation > >> + Copyright (c) 2008, 2012 Vincent Bernat <bernat@luffy.cx> > >> + . > >> + LLDP includes code used from the Net::CDP project based on the ISC license > >> + Copyright (c) 2014 Michael Chapman > >> + . > >> + LLDP includes code used from the ladvd project based on the ISC license > >> + Copyright (c) 2008, 2009, 2010 Sten Spans <sten@blinkenlights.nl> > >> + . > >> + Auto Attach implementation > >> + Copyright (c) 2014, 2015 WindRiver, Inc > >> + Copyright (c) 2014, 2015 Avaya, Inc > >> + . > >> + TCP connection tracker from FreeBSD pf, BSD licensed > >> + Copyright (c) 2001 Daniel Hartmeier > >> + Copyright (c) 2002 - 2008 Henning Brauer > >> + Copyright (c) 2012 Gleb Smirnoff <glebius@FreeBSD.org> > > Not a problem of this patch, but I think, half of above > copyrights was copy-pasted from OVS and irrelevant for OVN. Indeed, I'll have a look and see if I can reduce it down to what is actually remaining in the OVN repository. > >> + > >> +Files: build-aux/cccl > >> +Copyright: 2000-2003 Geoffrey Wossum <gwossum@acm.org> > >> +License: GPL-2 > >> + > >> +Files: utilities/bugtool/ovn-bugtool-* > >> + utilities/bugtool/plugins/network-status/ovn.xml > >> +Copyright: 2016 Nicira, Inc. > >> +License: LGPL-2.1 > >> + > >> +Files: m4/absolute-header.m4 > >> + m4/include_next.m4 > >> +Copyright: Derek Price > >> + Paul Eggert > >> + 2006-2013 Free Software Foundation, Inc. > >> +License: file-is-free-software > >> + This file is free software; the Free Software Foundation > >> + gives unlimited permission to copy and/or distribute it, > >> + with or without modifications, as long as this notice is preserved. > >> + > >> +Files: ovn-vif/* > >> +Copyright: 2021 Canonical > >> +License: Apache-2.0 > >> + > >> +License: GPL-2 > >> + This program is free software; you can 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 of the License, or (at your option) any later > >> + version. > >> + . > >> + This program 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 along with > >> + this program; if not, write to the Free Software Foundation, Inc., 51 Franklin > >> + St, Fifth Floor, Boston, MA 02110-1301 USA > >> + . > >> + On Debian systems, the complete text of the GNU General Public License v2 > >> + (GPL) can be found in /usr/share/common-licenses/GPL-2. > >> + > >> +License: LGPL-2.1 > >> + This library is free software; you can redistribute it and/or modify it under > >> + the terms of the GNU Lesser General Public License as published by the Free > >> + Software Foundation; either version 2.1 of the License. > >> + . > >> + This library 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 Lesser General Public License for more > >> + details. > >> + . > >> + You should have received a copy of the GNU Lesser General Public License along > >> + with this library; if not, write to the Free Software Foundation, Inc., 51 > >> + Franklin St, Fifth Floor, Boston, MA 02110-1301 USA > >> + . > >> + On Debian systems, the complete text of the GNU Lesser General Public License > >> + (LGPL) may be found in /usr/share/common-licenses/LGPL-2. > >> + > >> +License: Apache-2.0 > >> + Licensed under the Apache License, Version 2.0 (the "License"); > >> + you may not use this file except in compliance with the License. > >> + You may obtain a copy of the License at > >> + . > >> + http://www.apache.org/licenses/LICENSE-2.0 > >> + . > >> + Unless required by applicable law or agreed to in writing, software > >> + distributed under the License is distributed on an "AS IS" BASIS, > >> + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. > >> + See the License for the specific language governing permissions and > >> + limitations under the License. > >> + . > >> + On Debian-based systems the full text of the Apache version 2.0 license > >> + can be found in `/usr/share/common-licenses/Apache-2.0'. > >> diff --git a/debian/flaky-tests-amd64.txt b/debian/flaky-tests-amd64.txt > >> new file mode 100644 > >> index 000000000..cfe5d8c66 > >> --- /dev/null > >> +++ b/debian/flaky-tests-amd64.txt > >> @@ -0,0 +1,6 @@ > >> +send gratuitous arp on localnet > >> +policy-based routing IPv6: 1 HVs, 3 LSs, 1 lport/LS, 1 LR > >> +ACLs on Port Groups > >> +multi-vtep SB Chassis encap updates > >> +ACL with Port Group conjunction flow efficiency > >> +northd ssl file change > >> diff --git a/debian/flaky-tests-arm64.txt b/debian/flaky-tests-arm64.txt > >> new file mode 100644 > >> index 000000000..996d0537e > >> --- /dev/null > >> +++ b/debian/flaky-tests-arm64.txt > >> @@ -0,0 +1,5 @@ > >> +ovn-controller incremental processing > >> +nb_cfg timestamp > >> +multi-vtep SB Chassis encap updates > >> +ACL with Port Group conjunction flow efficiency > >> +ipsec -- basic configuration > >> diff --git a/debian/flaky-tests-armel.txt b/debian/flaky-tests-armel.txt > >> new file mode 100644 > >> index 000000000..6ce03bb10 > >> --- /dev/null > >> +++ b/debian/flaky-tests-armel.txt > >> @@ -0,0 +1,7 @@ > >> +policy-based routing IPv6: 1 HVs, 3 LSs, 1 lport/LS, 1 LR > >> +1 LR with distributed router gateway port > >> +ACL conjunction > >> +IP packet buffering > >> +test transport zones > >> +lflow cache for conjunctions > >> +nb_cfg timestamp > >> diff --git a/debian/flaky-tests-armhf.txt b/debian/flaky-tests-armhf.txt > >> new file mode 100644 > >> index 000000000..43654f3ae > >> --- /dev/null > >> +++ b/debian/flaky-tests-armhf.txt > >> @@ -0,0 +1,9 @@ > >> +policy-based routing IPv6: 1 HVs, 3 LSs, 1 lport/LS, 1 LR > >> +ovn-controller incremental processing > >> +ACL conjunction > >> +neighbor update on same HV > >> +nb_cfg timestamp > >> +multi-vtep SB Chassis encap updates > >> +ACL with Port Group conjunction flow efficiency > >> +ovn-ic -- gateway sync > >> +ipsec -- basic configuration > >> diff --git a/debian/flaky-tests-i386.txt b/debian/flaky-tests-i386.txt > >> new file mode 100644 > >> index 000000000..b82300de9 > >> --- /dev/null > >> +++ b/debian/flaky-tests-i386.txt > >> @@ -0,0 +1,8 @@ > >> +policy-based routing: 1 HVs, 2 LSs, 1 lport/LS, 1 LR > >> +nb_cfg timestamp > >> +ARP replies for SNAT external ips > >> +conflict ACLs with address set > >> +multi-vtep SB Chassis encap updates > >> +ACL with Port Group conjunction flow efficiency > >> +ovn-ic -- gateway sync > >> +ipsec -- basic configuration > >> diff --git a/debian/flaky-tests-mips64el.txt b/debian/flaky-tests-mips64el.txt > >> new file mode 100644 > >> index 000000000..e67e2c4ca > >> --- /dev/null > >> +++ b/debian/flaky-tests-mips64el.txt > >> @@ -0,0 +1,5 @@ > >> +multi-vtep SB Chassis encap updates > >> +ACL with Port Group conjunction flow efficiency > >> +ovn-ic -- gateway sync > >> +ipsec -- basic configuration > >> +nb_cfg timestamp > >> diff --git a/debian/flaky-tests-mipsel.txt b/debian/flaky-tests-mipsel.txt > >> new file mode 100644 > >> index 000000000..00d383572 > >> --- /dev/null > >> +++ b/debian/flaky-tests-mipsel.txt > >> @@ -0,0 +1,21 @@ > >> +vtep: 3 HVs, 1 VIFs/HV, 1 GW, 1 LS > >> +policy-based routing: 1 HVs, 2 LSs, 1 lport/LS, 1 LR > >> +policy-based routing IPv6: 1 HVs, 3 LSs, 1 lport/LS, 1 LR > >> +send gratuitous arp for nat ips in localnet > >> +send gratuitous arp for NAT rules on distributed router > >> +vlan traffic for external network with distributed router gateway port > >> +send gratuitous ARP for NAT rules on HA distributed router > >> +ACL conjunction > >> +router - check packet length - icmp defrag > >> +router - check packet length - icmp defrag > >> +IP packet buffering > >> +test transport zones > >> +Load balancer health checks > >> +interconnection > >> +nb_cfg timestamp > >> +conflict ACLs with address set > >> +multi-vtep SB Chassis encap updates > >> +ACL with Port Group conjunction flow efficiency > >> +northd ssl file change > >> +ovn-ic -- gateway sync > >> +ipsec -- basic configuration > >> diff --git a/debian/flaky-tests-ppc64el.txt b/debian/flaky-tests-ppc64el.txt > >> new file mode 100644 > >> index 000000000..6e089b6cb > >> --- /dev/null > >> +++ b/debian/flaky-tests-ppc64el.txt > >> @@ -0,0 +1,6 @@ > >> +options:requested-chassis for logical port > >> +multi-vtep SB Chassis encap updates > >> +ACL with Port Group conjunction flow efficiency > >> +northd ssl file change > >> +ovn-ic -- gateway sync > >> +ipsec -- basic configuration > >> diff --git a/debian/flaky-tests-riscv64.txt b/debian/flaky-tests-riscv64.txt > >> new file mode 100644 > >> index 000000000..50570ab80 > >> --- /dev/null > >> +++ b/debian/flaky-tests-riscv64.txt > >> @@ -0,0 +1,6 @@ > >> +send gratuitous arp on localnet > >> +1 LR with distributed router gateway port > >> +router - check packet length - icmp defrag > >> +multi-vtep SB Chassis encap updates > >> +ACL with Port Group conjunction flow efficiency > >> +ipsec -- basic configuration > >> diff --git a/debian/flaky-tests-s390x.txt b/debian/flaky-tests-s390x.txt > >> new file mode 100644 > >> index 000000000..a642063d9 > >> --- /dev/null > >> +++ b/debian/flaky-tests-s390x.txt > >> @@ -0,0 +1,5 @@ > >> +options:requested-chassis for logical port > >> +ACLs on Port Groups > >> +multi-vtep SB Chassis encap updates > >> +ACL with Port Group conjunction flow efficiency > >> +ipsec -- basic configuration > >> diff --git a/debian/gbp.conf b/debian/gbp.conf > >> new file mode 100644 > >> index 000000000..438b3fa8d > >> --- /dev/null > >> +++ b/debian/gbp.conf > >> @@ -0,0 +1,13 @@ > >> +[DEFAULT] > >> +debian-branch = main > >> +upstream-branch = upstream > >> +pristine-tar = True > >> +components = ['ovn-vif'] > >> + > >> +[import-orig] > >> +upstream-vcs-tag = v%(version)s > >> + > >> +[dch] > >> +multimaint-merge = True > >> +customizations=/usr/share/doc/git-buildpackage/examples/wrap_cl.py > >> +git-log=--first-parent > >> diff --git a/debian/not-installed b/debian/not-installed > >> new file mode 100644 > >> index 000000000..e213b139d > >> --- /dev/null > >> +++ b/debian/not-installed > >> @@ -0,0 +1,5 @@ > >> +# The OVN library and headers are currently not considered ABI/API stable. > >> +# If the need arises to build sibling projects we should probably provide an > >> +# ovn-source package. > >> +usr/include/* > >> +usr/lib/* > >> diff --git a/debian/ovn-central.default b/debian/ovn-central.default > >> new file mode 100644 > >> index 000000000..7cea13e50 > >> --- /dev/null > >> +++ b/debian/ovn-central.default > >> @@ -0,0 +1,5 @@ > >> +# This is a POSIX shell fragment -*- sh -*- > >> + > >> +# OVN_CTL_OPTS: Extra options to pass to ovs-ctl. This is, for example, > >> +# a suitable place to specify --ovn-northd-wrapper=valgrind. > >> +# OVN_CTL_OPTS= > >> diff --git a/debian/ovn-central.install b/debian/ovn-central.install > >> new file mode 100644 > >> index 000000000..095ca7cfa > >> --- /dev/null > >> +++ b/debian/ovn-central.install > >> @@ -0,0 +1,3 @@ > >> +usr/bin/ovn-northd > >> +usr/share/ovn/ovn-nb.ovsschema > >> +usr/share/ovn/ovn-sb.ovsschema > >> diff --git a/debian/ovn-central.ovn-northd.service b/debian/ovn-central.ovn-northd.service > >> new file mode 100644 > >> index 000000000..09c600016 > >> --- /dev/null > >> +++ b/debian/ovn-central.ovn-northd.service > >> @@ -0,0 +1,15 @@ > >> +[Unit] > >> +Description=Open Virtual Network central control daemon > >> +After=network.target ovn-nb-ovsdb.service ovn-sb-ovsdb.service > >> +PartOf=ovn-central.service > >> +DefaultDependencies=no > >> + > >> +[Service] > >> +Type=forking > >> +EnvironmentFile=-/etc/default/ovn-central > >> +PIDFile=%t/ovn/ovn-northd.pid > >> +ExecStart=/usr/share/ovn/scripts/ovn-ctl start_northd --ovn-manage-ovsdb=no --no-monitor $OVN_CTL_OPTS > >> +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_northd --no-monitor > >> +Restart=on-failure > >> +LimitNOFILE=65535 > >> +TimeoutStopSec=15 > >> diff --git a/debian/ovn-central.ovn-ovsdb-server-nb.service b/debian/ovn-central.ovn-ovsdb-server-nb.service > >> new file mode 100644 > >> index 000000000..81f6c75a3 > >> --- /dev/null > >> +++ b/debian/ovn-central.ovn-ovsdb-server-nb.service > >> @@ -0,0 +1,18 @@ > >> +[Unit] > >> +Description=Open vSwitch database server for OVN Northbound database > >> +After=network.target > >> +PartOf=ovn-central.service > >> +DefaultDependencies=no > >> + > >> +[Service] > >> +Type=simple > >> +EnvironmentFile=-/etc/default/ovn-central > >> +PIDFile=%t/ovn/ovnnb_db.pid > >> +ExecStart=/usr/share/ovn/scripts/ovn-ctl run_nb_ovsdb $OVN_CTL_OPTS > >> +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_nb_ovsdb > >> +Restart=on-failure > >> +LimitNOFILE=65535 > >> +TimeoutStopSec=15 > >> + > >> +[Install] > >> +Alias=ovn-nb-ovsdb.service > >> diff --git a/debian/ovn-central.ovn-ovsdb-server-sb.service b/debian/ovn-central.ovn-ovsdb-server-sb.service > >> new file mode 100644 > >> index 000000000..3aa840d2f > >> --- /dev/null > >> +++ b/debian/ovn-central.ovn-ovsdb-server-sb.service > >> @@ -0,0 +1,18 @@ > >> +[Unit] > >> +Description=Open vSwitch database server for OVN Southbound database > >> +After=network.target > >> +PartOf=ovn-central.service > >> +DefaultDependencies=no > >> + > >> +[Service] > >> +Type=simple > >> +EnvironmentFile=-/etc/default/ovn-central > >> +PIDFile=%t/run/ovn/ovnsb_db.pid > >> +ExecStart=/usr/share/ovn/scripts/ovn-ctl run_sb_ovsdb $OVN_CTL_OPTS > >> +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_sb_ovsdb > >> +Restart=on-failure > >> +LimitNOFILE=65535 > >> +TimeoutStopSec=15 > >> + > >> +[Install] > >> +Alias=ovn-sb-ovsdb.service > >> diff --git a/debian/ovn-central.postrm b/debian/ovn-central.postrm > >> new file mode 100644 > >> index 000000000..3b3483fc3 > >> --- /dev/null > >> +++ b/debian/ovn-central.postrm > >> @@ -0,0 +1,47 @@ > >> +#!/bin/sh > >> +# postrm script for ovn-central > >> +# > >> +# see: dh_installdeb(1) > >> + > >> +set -e > >> + > >> +# summary of how this script can be called: > >> +# * <postrm> `remove' > >> +# * <postrm> `purge' > >> +# * <old-postrm> `upgrade' <new-version> > >> +# * <new-postrm> `failed-upgrade' <old-version> > >> +# * <new-postrm> `abort-install' > >> +# * <new-postrm> `abort-install' <old-version> > >> +# * <new-postrm> `abort-upgrade' <old-version> > >> +# * <disappearer's-postrm> `disappear' <overwriter> > >> +# <overwriter-version> > >> +# for details, see http://www.debian.org/doc/debian-policy/ or > >> +# the debian-policy package > >> + > >> + > >> +case "$1" in > >> + purge) > >> + rm -f /etc/openvswitch/ovnnb.db* > >> + rm -f /etc/openvswitch/.ovnnb.db.~lock~ > >> + rm -f /etc/openvswitch/ovnsb.db* > >> + rm -f /etc/openvswitch/.ovnsb.db.~lock~ > >> + rm -f /var/log/openvswitch/ovn-northd.log* || true > >> + ;; > >> + > >> + remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) > >> + ;; > >> + > >> + *) > >> + echo "postrm called with unknown argument \`$1'" >&2 > >> + exit 1 > >> + ;; > >> +esac > >> + > >> +# dh_installdeb will replace this with shell code automatically > >> +# generated by other debhelper scripts. > >> + > >> +#DEBHELPER# > >> + > >> +exit 0 > >> + > >> + > >> diff --git a/debian/ovn-central.service b/debian/ovn-central.service > >> new file mode 100644 > >> index 000000000..aead7eae6 > >> --- /dev/null > >> +++ b/debian/ovn-central.service > >> @@ -0,0 +1,16 @@ > >> +[Unit] > >> +Description=Open Virtual Network central components > >> +After=network.target > >> +Requires=network.target > >> +Wants=ovn-northd.service > >> +Wants=ovn-ovsdb-server-sb.service > >> +Wants=ovn-ovsdb-server-nb.service > >> + > >> +[Service] > >> +Type=oneshot > >> +ExecStart=/bin/true > >> +ExecStop=/bin/true > >> +RemainAfterExit=yes > >> + > >> +[Install] > >> +WantedBy=multi-user.target > >> diff --git a/debian/ovn-common.docs b/debian/ovn-common.docs > >> new file mode 100644 > >> index 000000000..6d5ee1d05 > >> --- /dev/null > >> +++ b/debian/ovn-common.docs > >> @@ -0,0 +1 @@ > >> +NOTICE > >> diff --git a/debian/ovn-common.install b/debian/ovn-common.install > >> new file mode 100644 > >> index 000000000..52e9e0050 > >> --- /dev/null > >> +++ b/debian/ovn-common.install > >> @@ -0,0 +1,32 @@ > >> +usr/bin/ovn-appctl > >> +usr/bin/ovn_detrace.py > >> +usr/bin/ovn-detrace > >> +usr/bin/ovn-nbctl > >> +usr/bin/ovn-sbctl > >> +/usr/bin/ovn-ic-nbctl > >> +/usr/bin/ovn-ic-sbctl > >> +usr/bin/ovn-trace > >> +usr/share/ovn/bugtool-plugins/network-status/ovn.xml > >> +usr/share/ovn/scripts/ovn-ctl > >> +usr/share/ovn/scripts/ovn-lib > >> +usr/share/ovn/scripts/ovndb-servers.ocf > >> +usr/share/ovn/scripts/ovn-bugtool-nbctl-show > >> +usr/share/ovn/scripts/ovn-bugtool-sbctl-lflow-list > >> +usr/share/ovn/scripts/ovn-bugtool-sbctl-show > >> +usr/share/man/man1/ovn-detrace.1 > >> +usr/share/man/man5/ovn-ic-nb.5 > >> +usr/share/man/man5/ovn-ic-sb.5 > >> +usr/share/man/man5/ovn-nb.5 > >> +usr/share/man/man5/ovn-sb.5 > >> +usr/share/man/man7/ovn-architecture.7 > >> +usr/share/man/man8/ovn-appctl.8 > >> +usr/share/man/man8/ovn-controller-vtep.8 > >> +usr/share/man/man8/ovn-controller.8 > >> +usr/share/man/man8/ovn-ctl.8 > >> +usr/share/man/man8/ovn-ic-nbctl.8 > >> +usr/share/man/man8/ovn-ic-sbctl.8 > >> +usr/share/man/man8/ovn-ic.8 > >> +usr/share/man/man8/ovn-nbctl.8 > >> +usr/share/man/man8/ovn-northd.8 > >> +usr/share/man/man8/ovn-sbctl.8 > >> +usr/share/man/man8/ovn-trace.8 > >> diff --git a/debian/ovn-common.logrotate b/debian/ovn-common.logrotate > >> new file mode 100644 > >> index 000000000..a351ec303 > >> --- /dev/null > >> +++ b/debian/ovn-common.logrotate > >> @@ -0,0 +1,22 @@ > >> +# Copyright (C) 2019 Red Hat, Inc. > >> +# > >> +# Copying and distribution of this file, with or without modification, > >> +# are permitted in any medium without royalty provided the copyright > >> +# notice and this notice are preserved. This file is offered as-is, > >> +# without warranty of any kind. > >> + > >> +/var/log/ovn/*.log { > >> + su root root > >> + daily > >> + compress > >> + sharedscripts > >> + missingok > >> + postrotate > >> + # Tell OVN daemons to reopen their log files > >> + if [ -d /var/run/ovn ]; then > >> + for ctl in /var/run/ovn/*.ctl; do > >> + ovs-appctl -t "$ctl" vlog/reopen 2>/dev/null || : > >> + done > >> + fi > >> + endscript > >> +} > >> diff --git a/debian/ovn-common.postinst b/debian/ovn-common.postinst > >> new file mode 100644 > >> index 000000000..588044fbc > >> --- /dev/null > >> +++ b/debian/ovn-common.postinst > >> @@ -0,0 +1,24 @@ > >> +#!/bin/sh > >> +# postinst script for ovn-common > >> +# > >> +# see: dh_installdeb(1) > >> + > >> +set -e > >> + > >> +case "$1" in > >> + configure) > >> + mkdir -p /usr/lib/ocf/resource.d/ovn > >> + ln -sf /usr/share/openvswitch/scripts/ovndb-servers.ocf /usr/lib/ocf/resource.d/ovn/ovndb-servers > >> + ;; > >> + abort-upgrade|abort-remove|abort-deconfigure) > >> + ;; > >> + > >> + *) > >> + echo "postinst called with unknown argument \`$1'" >&2 > >> + exit 1 > >> + ;; > >> +esac > >> + > >> +#DEBHELPER# > >> + > >> +exit 0 > >> diff --git a/debian/ovn-common.postrm b/debian/ovn-common.postrm > >> new file mode 100644 > >> index 000000000..9face726b > >> --- /dev/null > >> +++ b/debian/ovn-common.postrm > >> @@ -0,0 +1,23 @@ > >> +#!/bin/sh > >> +# postrm script for openvswitch-testcontroller > >> +# > >> +# see: dh_installdeb(1) > >> + > >> +set -e > >> + > >> +case "$1" in > >> + purge|remove) > >> + rm -rf /usr/lib/ocf/resource.d/ovn > >> + ;; > >> + upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) > >> + ;; > >> + > >> + *) > >> + echo "postrm called with unknown argument \`$1'" >&2 > >> + exit 1 > >> + ;; > >> +esac > >> + > >> +#DEBHELPER# > >> + > >> +exit 0 > >> diff --git a/debian/ovn-controller-vtep.install b/debian/ovn-controller-vtep.install > >> new file mode 100644 > >> index 000000000..1d208f37e > >> --- /dev/null > >> +++ b/debian/ovn-controller-vtep.install > >> @@ -0,0 +1 @@ > >> +usr/bin/ovn-controller-vtep > >> diff --git a/debian/ovn-controller-vtep.service b/debian/ovn-controller-vtep.service > >> new file mode 100644 > >> index 000000000..d51e75277 > >> --- /dev/null > >> +++ b/debian/ovn-controller-vtep.service > >> @@ -0,0 +1,16 @@ > >> +[Unit] > >> +Description=Open Virtual Network VTEP gateway controller daemon > >> +After=openvswitch-switch.service > >> +Requires=openvswitch-switch.service > >> + > >> +[Service] > >> +Type=forking > >> +PIDFile=%t/ovn/ovn-controller-vtep.pid > >> +ExecStart=/usr/share/ovn/scripts/ovn-ctl start_controller_vtep --no-monitor $OVN_CTL_OPTS > >> +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_controller_vtep --no-monitor > >> +Restart=on-failure > >> +LimitNOFILE=65535 > >> +TimeoutStopSec=15 > >> + > >> +[Install] > >> +WantedBy=multi-user.target > >> diff --git a/debian/ovn-doc.doc-base b/debian/ovn-doc.doc-base > >> new file mode 100644 > >> index 000000000..c7192ebdb > >> --- /dev/null > >> +++ b/debian/ovn-doc.doc-base > >> @@ -0,0 +1,9 @@ > >> +Document: ovn-doc > >> +Title: Open Virtual Network Documentation > >> +Author: N/A > >> +Abstract: Sphinx documentation for Open Virtual Network > >> +Section: Network/Communication > >> + > >> +Format: HTML > >> +Index: /usr/share/doc/ovn-doc/html/index.html > >> +Files: /usr/share/doc/ovn-doc/html/* > >> diff --git a/debian/ovn-doc.install b/debian/ovn-doc.install > >> new file mode 100644 > >> index 000000000..4cfd153cf > >> --- /dev/null > >> +++ b/debian/ovn-doc.install > >> @@ -0,0 +1 @@ > >> +Documentation/_build/html/* /usr/share/doc/ovn-doc/html/ > >> diff --git a/debian/ovn-docker.install b/debian/ovn-docker.install > >> new file mode 100644 > >> index 000000000..583306732 > >> --- /dev/null > >> +++ b/debian/ovn-docker.install > >> @@ -0,0 +1,2 @@ > >> +usr/bin/ovn-docker-overlay-driver > >> +usr/bin/ovn-docker-underlay-driver > >> diff --git a/debian/ovn-host.default b/debian/ovn-host.default > >> new file mode 100644 > >> index 000000000..7fd54efda > >> --- /dev/null > >> +++ b/debian/ovn-host.default > >> @@ -0,0 +1,5 @@ > >> +# This is a POSIX shell fragment -*- sh -*- > >> + > >> +# OVN_CTL_OPTS: Extra options to pass to ovs-ctl. This is, for example, > >> +# a suitable place to specify --ovn-controller-wrapper=valgrind. > >> +# OVN_CTL_OPTS= > >> diff --git a/debian/ovn-host.install b/debian/ovn-host.install > >> new file mode 100644 > >> index 000000000..d2de82fd9 > >> --- /dev/null > >> +++ b/debian/ovn-host.install > >> @@ -0,0 +1 @@ > >> +usr/bin/ovn-controller > >> diff --git a/debian/ovn-host.ovn-controller.service b/debian/ovn-host.ovn-controller.service > >> new file mode 100644 > >> index 000000000..a41e77d75 > >> --- /dev/null > >> +++ b/debian/ovn-host.ovn-controller.service > >> @@ -0,0 +1,15 @@ > >> +[Unit] > >> +Description=Open Virtual Network host control daemon > >> +After=network.target openvswitch-switch.service > >> +PartOf=ovn-host.service > >> +DefaultDependencies=no > >> + > >> +[Service] > >> +Type=forking > >> +EnvironmentFile=-/etc/default/ovn-host > >> +PIDFile=%t/ovn/ovn-controller.pid > >> +ExecStart=/usr/share/ovn/scripts/ovn-ctl start_controller --ovn-manage-ovsdb=no --no-monitor $OVN_CTL_OPTS > >> +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_controller --no-monitor > >> +Restart=on-failure > >> +LimitNOFILE=65535 > >> +TimeoutStopSec=15 > >> diff --git a/debian/ovn-host.postrm b/debian/ovn-host.postrm > >> new file mode 100644 > >> index 000000000..9d17ef966 > >> --- /dev/null > >> +++ b/debian/ovn-host.postrm > >> @@ -0,0 +1,43 @@ > >> +#!/bin/sh > >> +# postrm script for ovn-host > >> +# > >> +# see: dh_installdeb(1) > >> + > >> +set -e > >> + > >> +# summary of how this script can be called: > >> +# * <postrm> `remove' > >> +# * <postrm> `purge' > >> +# * <old-postrm> `upgrade' <new-version> > >> +# * <new-postrm> `failed-upgrade' <old-version> > >> +# * <new-postrm> `abort-install' > >> +# * <new-postrm> `abort-install' <old-version> > >> +# * <new-postrm> `abort-upgrade' <old-version> > >> +# * <disappearer's-postrm> `disappear' <overwriter> > >> +# <overwriter-version> > >> +# for details, see http://www.debian.org/doc/debian-policy/ or > >> +# the debian-policy package > >> + > >> + > >> +case "$1" in > >> + purge) > >> + rm -f /var/log/openvswitch/ovn-controller.log* || true > >> + ;; > >> + > >> + remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) > >> + ;; > >> + > >> + *) > >> + echo "postrm called with unknown argument \`$1'" >&2 > >> + exit 1 > >> + ;; > >> +esac > >> + > >> +# dh_installdeb will replace this with shell code automatically > >> +# generated by other debhelper scripts. > >> + > >> +#DEBHELPER# > >> + > >> +exit 0 > >> + > >> + > >> diff --git a/debian/ovn-host.service b/debian/ovn-host.service > >> new file mode 100644 > >> index 000000000..b524888fd > >> --- /dev/null > >> +++ b/debian/ovn-host.service > >> @@ -0,0 +1,14 @@ > >> +[Unit] > >> +Description=Open Virtual Network host components > >> +After=network.target > >> +Requires=network.target > >> +Wants=ovn-controller.service > >> + > >> +[Service] > >> +Type=oneshot > >> +ExecStart=/bin/true > >> +ExecStop=/bin/true > >> +RemainAfterExit=yes > >> + > >> +[Install] > >> +WantedBy=multi-user.target > >> diff --git a/debian/ovn-ic-db.install b/debian/ovn-ic-db.install > >> new file mode 100644 > >> index 000000000..a4d50002e > >> --- /dev/null > >> +++ b/debian/ovn-ic-db.install > >> @@ -0,0 +1,2 @@ > >> +/usr/share/ovn/ovn-ic-nb.ovsschema > >> +/usr/share/ovn/ovn-ic-sb.ovsschema > >> diff --git a/debian/ovn-ic-db.ovn-ovsdb-server-ic-nb.service b/debian/ovn-ic-db.ovn-ovsdb-server-ic-nb.service > >> new file mode 100644 > >> index 000000000..193024daf > >> --- /dev/null > >> +++ b/debian/ovn-ic-db.ovn-ovsdb-server-ic-nb.service > >> @@ -0,0 +1,15 @@ > >> +[Unit] > >> +Description=Open vSwitch database server for OVN IC Northbound database > >> +After=network.target > >> +PartOf=ovn-ic-db.service > >> +DefaultDependencies=no > >> + > >> +[Service] > >> +Type=simple > >> +EnvironmentFile=-/etc/default/ovn-ic > >> +PIDFile=%t/ovn/ovn_ic_nb_db.pid > >> +ExecStart=/usr/share/ovn/scripts/ovn-ctl run_ic_nb_ovsdb $OVN_CTL_OPTS > >> +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_ic_nb_ovsdb > >> +Restart=on-failure > >> +LimitNOFILE=65535 > >> +TimeoutStopSec=15 > >> diff --git a/debian/ovn-ic-db.ovn-ovsdb-server-ic-sb.service b/debian/ovn-ic-db.ovn-ovsdb-server-ic-sb.service > >> new file mode 100644 > >> index 000000000..714748325 > >> --- /dev/null > >> +++ b/debian/ovn-ic-db.ovn-ovsdb-server-ic-sb.service > >> @@ -0,0 +1,15 @@ > >> +[Unit] > >> +Description=Open vSwitch database server for OVN IC Southbound database > >> +After=network.target > >> +PartOf=ovn-ic-db.service > >> +DefaultDependencies=no > >> + > >> +[Service] > >> +Type=simple > >> +EnvironmentFile=-/etc/default/ovn-ic > >> +PIDFile=%t/ovn/ovn_ic_sb_db.pid > >> +ExecStart=/usr/share/ovn/scripts/ovn-ctl run_ic_sb_ovsdb $OVN_CTL_OPTS > >> +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_ic_sb_ovsdb > >> +Restart=on-failure > >> +LimitNOFILE=65535 > >> +TimeoutStopSec=15 > >> diff --git a/debian/ovn-ic-db.service b/debian/ovn-ic-db.service > >> new file mode 100644 > >> index 000000000..b116bc79d > >> --- /dev/null > >> +++ b/debian/ovn-ic-db.service > >> @@ -0,0 +1,15 @@ > >> +[Unit] > >> +Description=Open Virtual Network interconnection databases > >> +After=network.target > >> +Requires=network.target > >> +Wants=ovn-ovsdb-server-ic-sb.service > >> +Wants=ovn-ovsdb-server-ic-nb.service > >> + > >> +[Service] > >> +Type=oneshot > >> +ExecStart=/bin/true > >> +ExecStop=/bin/true > >> +RemainAfterExit=yes > >> + > >> +[Install] > >> +WantedBy=multi-user.target > >> diff --git a/debian/ovn-ic.install b/debian/ovn-ic.install > >> new file mode 100644 > >> index 000000000..b15508259 > >> --- /dev/null > >> +++ b/debian/ovn-ic.install > >> @@ -0,0 +1 @@ > >> +/usr/bin/ovn-ic > >> diff --git a/debian/ovn-ic.service b/debian/ovn-ic.service > >> new file mode 100644 > >> index 000000000..07974285f > >> --- /dev/null > >> +++ b/debian/ovn-ic.service > >> @@ -0,0 +1,16 @@ > >> +[Unit] > >> +Description=Open Virtual Network interconnection controller > >> +After=network.target > >> +Requires=network.target > >> + > >> +[Service] > >> +Type=forking > >> +PIDFile=%t/ovn/ovn-ic.pid > >> +ExecStart=/usr/share/ovn/scripts/ovn-ctl start_ic --no-monitor > >> +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_ic > >> +Restart=on-failure > >> +LimitNOFILE=65535 > >> +TimeoutStopSec=15 > >> + > >> +[Install] > >> +WantedBy=multi-user.target > >> diff --git a/debian/rules b/debian/rules > >> new file mode 100755 > >> index 000000000..4596afb49 > >> --- /dev/null > >> +++ b/debian/rules > >> @@ -0,0 +1,104 @@ > >> +#!/usr/bin/make -f > >> +# -*- makefile -*- > >> +#export DH_VERBOSE=1 > >> +export DEB_BUILD_MAINT_OPTIONS = hardening=+all > >> + > >> +%: > >> + dh $@ --with autoreconf,python3,sphinxdoc > >> + > >> +ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) > >> +PARALLEL = -j$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) > >> +else > >> +PARALLEL = > >> +endif > >> + > >> +override_dh_auto_configure: > >> + # Configure OVS before OVN > >> + test -d $(CURDIR)/ovs || mkdir ovs > >> + cd ovs && tar -xzf /usr/src/openvswitch/openvswitch.tar.gz --strip-components=1 > > This looks hard to maintain. The source archive AFAICT > is coming from the openvswitch-source package installed > from ubuntu reporitories, but there is no guarantee that > the version of OVS needed for upstream OVN is available > in ubuntu repos. It might be outdated because ubuntu > is using some stable version of OVN, but not OVN master. > And also any patch that tries to advance the OVS submodule > version will likely fail the CI, because there is no way > to change openvswitch-source package at the same time. > > I think, we need to build with included submodule here. > That is what OVN users will expect if they are changing > some code in the OVS submodule and re-building the OVN > package locally, I guess. > > We talked before about OVN providing submodule as part of > a source archive for releases. That should remove the > dependency on openvswitch-source package here and should > work for both upstream and downstream builds in ubuntu. I have to admit that I put forward this in order to have a green result on the patch set prior to the soft freeze, and I do agree that this probably does not work moving forward. Switching to using a OVN source artifact with the OVS submodule embeded would be ideal, to keep the diff in the package source minimal I would like to wait with that until we can actually publish those on OVN releases though, if that's ok. One alternative I thought about was if we in the OVN linux-deb gate job also built the OVS package, that would give it a fresh source from the point in time the developer intended and could work as a stop-gap. > >> + cd ovs && ./configure --enable-ssl --localstatedir=/var --sysconfdir=/etc --prefix=/usr && make $(PARALLEL) > >> + # Configure OVN to allow building OVN VIF > >> + ./boot.sh && ./configure \ > >> + --prefix=/usr \ > >> + --localstatedir=/var \ > >> + --sysconfdir=/etc \ > >> + --with-dbdir=/var/lib/ovn \ > >> + --with-ovs-source=$(CURDIR)/ovs \ > >> + --enable-ssl > >> + # Configure and build OVN VIF > >> + cd ovn-vif && \ > > This should be noted somewhere that ovn-vif is a required > dependency. Or did I miss that part of the documentation? > > It might be better to make it optional somehow, so upstream > users, who don't need it, could build OVN from just OVN > source tree. Yes, I'll make this a build-time configurable thing, just like we did with the dpdk bits for the OVS package. For OVN it would be simpler though because we can pass environment variables into debian/rules and do not need to do compose build artifacts. > >> + ./boot.sh && \ > >> + ./configure \ > >> + --with-ovs-source=$(CURDIR)/ovs \ > >> + --with-ovn-source=$(CURDIR) \ > >> + --enable-plug-representor && \ > >> + make $(PARALLEL) > >> + # Use dh_auto_configure to build OVN > >> + dh_auto_configure -- \ > >> + --prefix=/usr \ > >> + --localstatedir=/var \ > >> + --sysconfdir=/etc \ > >> + --with-dbdir=/var/lib/ovn \ > >> + --with-ovs-source=$(CURDIR)/ovs \ > >> + --enable-ssl \ > >> + --with-vif-plug-provider=$(CURDIR)/ovn-vif > >> + $(MAKE) debian/copyright > >> + > >> +TEST_LIST = $(shell \ > >> + $(CURDIR)/debian/testlist.py \ > >> + $(CURDIR)/debian/flaky-tests-$(DEB_HOST_ARCH).txt \ > >> + $(CURDIR)/tests/testsuite) > >> + > >> +override_dh_auto_test: > >> +ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) > >> + if $(MAKE) check TESTSUITEFLAGS='$(PARALLEL) $(TEST_LIST)' || \ > >> + $(MAKE) check TESTSUITEFLAGS='--recheck'; then :; \ > >> + else \ > >> + cat tests/testsuite.log; \ > >> + exit 1; \ > >> + fi > >> +endif # nocheck > >> + > >> +override_dh_auto_build: > >> + cd ovs && $(MAKE) $(PARALLEL) > >> + $(MAKE) $(PARALLEL) > >> + > >> +override_dh_auto_clean: > >> + dh_auto_clean > >> + cd ovn-vif && make distclean | : > >> + rm -rf ovs > >> + > >> +override_dh_installinit: > >> + # Package does not ship any init.d files > >> + dh_installinit --no-scripts > >> + > >> +override_dh_installsystemd: > >> + dh_installsystemd --restart-after-upgrade -povn-central --name=ovn-northd > >> + dh_installsystemd --restart-after-upgrade -povn-central --name=ovn-ovsdb-server-sb > >> + dh_installsystemd --restart-after-upgrade -povn-central --name=ovn-ovsdb-server-nb > >> + dh_installsystemd --restart-after-upgrade -povn-ic-db --name=ovn-ovsdb-server-ic-sb > >> + dh_installsystemd --restart-after-upgrade -povn-ic-db --name=ovn-ovsdb-server-ic-nb > >> + dh_installsystemd --restart-after-upgrade -povn-host --name=ovn-controller > >> + dh_installsystemd --restart-after-upgrade > >> + > >> +override_dh_python3: > >> + dh_python3 --shebang=/usr/bin/python3 > >> + > >> +# Helper target for creating snapshots from upstream git > >> +DATE=$(shell date +%Y%m%d) > >> +# Upstream branch to track > >> +BRANCH=main > >> +VERSION=22.09.0 > >> + > >> +get-orig-snapshot: > >> + rm -Rf ovn-upstream ovn-vif-upstream > >> + git clone --branch $(BRANCH) --depth 1 https://github.com/ovn-org/ovn ovn-upstream > >> + git clone --branch $(BRANCH) --depth 1 https://github.com/ovn-org/ovn-vif ovn-vif-upstream > > Why is it possible to clone ovn-vif, but ovs is used from the > openvswitch-sources package? Double standards! :) The get-orig-snapshot build target is a help script to create a snapshot package of not yet released software, this is typically use during the development of a distro release. > >> + cd ovn-upstream && \ > >> + export COMMIT=`git rev-parse --short HEAD` && \ > >> + git archive --format tgz --prefix=ovn-$(VERSION)~git$(DATE).$$COMMIT/ \ > >> + -o ../../ovn_$(VERSION)~git$(DATE).$$COMMIT.orig.tar.gz $(BRANCH) && \ > > Can we just archive the submodule here as well? It's not some > separate shared library, it's just a set of required sources > that are necessary to build with. The OVN package uses components, or multi-tar, which is possible for OVN and OVN-VIF because they follow the exact same release schedule and versioning. The package maintainer tooling essentially downloads the upstream published tarballs and repackages them into one single source package. You can see hints of how this works in the debian/watch and debian/gbp.conf files. The component feature does unfortunately not work with more unrelated source archives where the versioning differ etc. Having said that, I have heard mention of ceph as an example of a heavy user of submodules, I can check with the maintainer of the ceph packages if there is anything we can learn from them in this regard. I don't know if we would be able to complete that before the hard freeze though.
diff --git a/build-aux/initial-tab-whitelist b/build-aux/initial-tab-whitelist index b2f5a0791..71d4f007d 100644 --- a/build-aux/initial-tab-whitelist +++ b/build-aux/initial-tab-whitelist @@ -6,6 +6,5 @@ ^ovs/ ^third-party/ ^xenserver/ -^debian/rules.modules$ -^debian/rules$ +^debian/ ^\.gitmodules$ diff --git a/debian/.gitignore b/debian/.gitignore new file mode 100644 index 000000000..d2393b3fd --- /dev/null +++ b/debian/.gitignore @@ -0,0 +1,17 @@ +*.debhelper +*.debhelper.log +*.substvars +/autoreconf.after +/autoreconf.before +/copyright +/files +/ovn-common +/ovn-controller-vtep +/ovn-host +/ovn-central +/ovn-docker +/debhelper-build-stamp +/ovn-doc/ +/ovn-ic-db/ +/ovn-ic/ +/tmp diff --git a/debian/automake.mk b/debian/automake.mk index ce11fd040..d199c925d 100644 --- a/debian/automake.mk +++ b/debian/automake.mk @@ -1,2 +1,85 @@ EXTRA_DIST += \ - debian/changelog + debian/changelog \ + debian/control \ + debian/copyright.in \ + debian/flaky-tests-amd64.txt \ + debian/flaky-tests-arm64.txt \ + debian/flaky-tests-armel.txt \ + debian/flaky-tests-armhf.txt \ + debian/flaky-tests-i386.txt \ + debian/flaky-tests-mips64el.txt \ + debian/flaky-tests-mipsel.txt \ + debian/flaky-tests-ppc64el.txt \ + debian/flaky-tests-riscv64.txt \ + debian/flaky-tests-s390x.txt \ + debian/gbp.conf \ + debian/not-installed \ + debian/ovn-central.default \ + debian/ovn-central.install \ + debian/ovn-central.ovn-northd.service \ + debian/ovn-central.postrm \ + debian/ovn-central.service \ + debian/ovn-common.docs \ + debian/ovn-common.install \ + debian/ovn-common.logrotate \ + debian/ovn-common.postinst \ + debian/ovn-common.postrm \ + debian/ovn-controller-vtep.install \ + debian/ovn-controller-vtep.service \ + debian/ovn-doc.doc-base \ + debian/ovn-doc.install \ + debian/ovn-docker.install \ + debian/ovn-host.default \ + debian/ovn-host.install \ + debian/ovn-host.ovn-controller.service \ + debian/ovn-host.postrm \ + debian/ovn-host.service \ + debian/ovn-ic-db.install \ + debian/ovn-ic-db.service \ + debian/ovn-ic.install \ + debian/ovn-ic.service \ + debian/rules \ + debian/source/format \ + debian/source/include-binaries \ + debian/testlist.py \ + debian/watch + +check-debian-changelog-version: + @DEB_VERSION=`echo '$(VERSION)' | sed 's/pre/~pre/'`; \ + if $(FGREP) '($(DEB_VERSION)' $(srcdir)/debian/changelog >/dev/null; \ + then \ + :; \ + else \ + echo "Update debian/changelog to mention version $(VERSION)"; \ + exit 1; \ + fi +ALL_LOCAL += check-debian-changelog-version +DIST_HOOKS += check-debian-changelog-version + +update_deb_copyright = \ + $(AM_V_GEN) \ + { sed -n -e '/%AUTHORS%/q' -e p < $(srcdir)/debian/copyright.in; \ + tail -n +28 $(srcdir)/AUTHORS.rst | sed '1,/^$$/d' | \ + sed -n -e '/^$$/q' -e 's/^/ /p'; \ + sed -e '1,/%AUTHORS%/d' $(srcdir)/debian/copyright.in; \ + } > debian/copyright + +debian/copyright: AUTHORS.rst debian/copyright.in + $(update_deb_copyright) + +CLEANFILES += debian/copyright + +debian: debian/copyright +.PHONY: debian + +debian-deb: debian + @if test X"$(srcdir)" != X"$(top_builddir)"; then \ + echo "Debian packages should be built from $(abs_srcdir)/"; \ + exit 1; \ + fi + $(MAKE) distclean + $(update_deb_copyright) + $(update_deb_control) + $(AM_V_GEN) fakeroot debian/rules clean + $(AM_V_GEN) DEB_BUILD_OPTIONS="nocheck parallel=`nproc`" \ + fakeroot debian/rules binary diff --git a/debian/control b/debian/control new file mode 100644 index 000000000..a6f395842 --- /dev/null +++ b/debian/control @@ -0,0 +1,176 @@ +Source: ovn +Section: net +Priority: optional +Maintainer: OVN developers <dev@openvswitch.org> +Build-Depends: + autoconf, + automake, + bzip2, + debhelper-compat (= 10), + dh-python, + graphviz, + libcap-ng-dev, + libnuma-dev [amd64 i386 ppc64el arm64], + libpcap-dev [amd64 i386 ppc64el arm64], + libssl-dev, + libtool, + libudev-dev, + libunbound-dev, + openssl, + openstack-pkg-tools, + openvswitch-source (>= 2.17.2-3~), + pkg-config, + procps, + python3-all-dev, + python3-setuptools, + python3-sortedcontainers, + python3-sphinx, + tcpdump, +Standards-Version: 4.6.1 +Homepage: https://www.ovn.org/ + +Package: ovn-central +Architecture: linux-any +Pre-Depends: ${misc:Pre-Depends}, +Depends: + lsb-base, + lsb-release, + openvswitch-common (>= 2.17.0~), + ovn-common (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends}, +Description: OVN central components + 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. + . + ovn-central provides the userspace daemons, utilities and + databases for OVN that is run at a central location. + +Package: ovn-common +Architecture: linux-any +Depends: + ${misc:Depends}, + ${python3:Depends}, + ${shlibs:Depends}, +Breaks: + ovn-ic-db (<< 22.03~), +Replaces: + ovn-ic-db (<< 22.03~), +Description: OVN common components + 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. + . + ovn-common provides components required by other OVN packages. + +Package: ovn-controller-vtep +Architecture: linux-any +Pre-Depends: ${misc:Pre-Depends}, +Depends: + lsb-base, + ovn-common (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends}, +Description: OVN vtep controller + ovn-controller-vtep is the local controller daemon in OVN, the Open Virtual + Network, for VTEP enabled physical switches. It connects up to the OVN + Southbound database over the OVSDB protocol, and down to the VTEP database + over the OVSDB protocol. + . + ovn-controller-vtep provides the ovn-controller-vtep binary for controlling + vtep gateways. + +Package: ovn-doc +Section: doc +Architecture: all +Depends: + ${misc:Depends}, + ${sphinxdoc:Depends}, +Description: OVN documentation + 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. + . + This package provides documentation for configuration and use + of OVN. + +Package: ovn-docker +Architecture: linux-any +Depends: + openvswitch-common (>= 2.17.0~), + ovn-common (= ${binary:Version}), + python3-openvswitch (>= 2.17.0~), + ${misc:Depends}, + ${python3:Depends}, + ${shlibs:Depends}, +Description: OVN Docker drivers + 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. + . + ovn-docker provides the docker drivers for OVN. + +Package: ovn-host +Architecture: linux-any +Pre-Depends: ${misc:Pre-Depends}, +Depends: + lsb-base, + lsb-release, + openvswitch-switch (>= 2.17.0~), + ovn-common (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends}, +Description: OVN host components + 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. + . + ovn-host provides the userspace components and utilities for + OVN that can be run on every host/hypervisor. + +Package: ovn-ic +Architecture: linux-any +Pre-Depends: ${misc:Pre-Depends}, +Depends: + lsb-base, + lsb-release, + ovn-common (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends}, +Enhances: + ovn-central, +Suggests: + ovn-ic-db, +Description: Open Virtual Network interconnection controller + OVN IC, the Open Virtual Network interconnection controller, is a + centralized daemon which communicates with global interconnection + databases to configure and exchange data with local OVN databases for + interconnection with other OVN deployments. + . + This package provides the ovn-ic daemon which should be run alongside + ovn-central services in each OVN deployment zone. + +Package: ovn-ic-db +Architecture: linux-any +Pre-Depends: ${misc:Pre-Depends}, +Depends: + lsb-base, + lsb-release, + openvswitch-common (>= 2.17.0~), + ovn-common (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends}, +Description: Open Virtual Network interconnection controller databases + OVN IC, the Open Virtual Network interconnection controller, is a + centralized daemon which communicates with global interconnection + databases to configure and exchange data with local OVN databases for + interconnection with other OVN deployments. + . + This package provides the global OVN IC southbound and northbound + OVSDB databases. diff --git a/debian/copyright.in b/debian/copyright.in new file mode 100644 index 000000000..911704ae0 --- /dev/null +++ b/debian/copyright.in @@ -0,0 +1,146 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: Open Virtual Network (OVN) +Source: https://github.com/ovn-org/ovn +Files-Excluded: debian +Upstream-Authors: +%AUTHORS% + +Files: * +Copyright: 2007-2017 Nicira, Inc. + 2010 Jean Tourrilhes - HP-Labs. + 2008,2009,2010 Citrix Systems, Inc. + 2011 Gaetano Catalli + 2000-2003 Geoffrey Wossum <gwossum@acm.org> + 2000 The NetBSD Foundation, Inc. + 1995, 1996, 1997, and 1998 WIDE Project. + 1982, 1986, 1990, 1993 The Regents of the University of California. + 2008, 2012 Vincent Bernat <bernat@luffy.cx> + 2014 Michael Chapman + 2014 WindRiver, Inc. + 2014 Avaya, Inc. + 2001 Daniel Hartmeier + 2002 - 2008 Henning Brauer + 2012 Gleb Smirnoff <glebius@FreeBSD.org> + 2015-2019 Red Hat, Inc. + 2017 DtDream Technology Co., Ltd. + 2018 eBay Inc. +License: Apache-2.0 +Comment: + This package contains code from other projects and authors not + mentioned elsewhere. + . + Open vSwitch + Copyright (c) 2007, 2008, 2009, 2010, 2011, 2013 Nicira, Inc. + . + Open vSwitch BSD port + Copyright (c) 2011 Gaetano Catalli + . + Apache Portable Runtime + Copyright 2008 The Apache Software Foundation. + . + This product includes software developed by + The Apache Software Foundation (http://www.apache.org/). + . + Portions of this software were developed at the National Center + for Supercomputing Applications (NCSA) at the University of + Illinois at Urbana-Champaign. + . + lib/ovs.tmac includes troff macros written by Eric S. Raymond + and Werner Lemberg. + . + m4/include_next.m4 and m4/absolute-header.m4 + Copyright (C) 2006-2013 Free Software Foundation, Inc. + . + Rapid Spanning Tree Protocol (RSTP) implementation + Copyright (c) 2011-2014 M3S, Srl - Italy + . + LLDP implementation + Copyright (c) 2008, 2012 Vincent Bernat <bernat@luffy.cx> + . + LLDP includes code used from the Net::CDP project based on the ISC license + Copyright (c) 2014 Michael Chapman + . + LLDP includes code used from the ladvd project based on the ISC license + Copyright (c) 2008, 2009, 2010 Sten Spans <sten@blinkenlights.nl> + . + Auto Attach implementation + Copyright (c) 2014, 2015 WindRiver, Inc + Copyright (c) 2014, 2015 Avaya, Inc + . + TCP connection tracker from FreeBSD pf, BSD licensed + Copyright (c) 2001 Daniel Hartmeier + Copyright (c) 2002 - 2008 Henning Brauer + Copyright (c) 2012 Gleb Smirnoff <glebius@FreeBSD.org> + +Files: build-aux/cccl +Copyright: 2000-2003 Geoffrey Wossum <gwossum@acm.org> +License: GPL-2 + +Files: utilities/bugtool/ovn-bugtool-* + utilities/bugtool/plugins/network-status/ovn.xml +Copyright: 2016 Nicira, Inc. +License: LGPL-2.1 + +Files: m4/absolute-header.m4 + m4/include_next.m4 +Copyright: Derek Price + Paul Eggert + 2006-2013 Free Software Foundation, Inc. +License: file-is-free-software + This file is free software; the Free Software Foundation + gives unlimited permission to copy and/or distribute it, + with or without modifications, as long as this notice is preserved. + +Files: ovn-vif/* +Copyright: 2021 Canonical +License: Apache-2.0 + +License: GPL-2 + This program is free software; you can 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 of the License, or (at your option) any later + version. + . + This program 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 along with + this program; if not, write to the Free Software Foundation, Inc., 51 Franklin + St, Fifth Floor, Boston, MA 02110-1301 USA + . + On Debian systems, the complete text of the GNU General Public License v2 + (GPL) can be found in /usr/share/common-licenses/GPL-2. + +License: LGPL-2.1 + This library is free software; you can redistribute it and/or modify it under + the terms of the GNU Lesser General Public License as published by the Free + Software Foundation; either version 2.1 of the License. + . + This library 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 Lesser General Public License for more + details. + . + You should have received a copy of the GNU Lesser General Public License along + with this library; if not, write to the Free Software Foundation, Inc., 51 + Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + . + On Debian systems, the complete text of the GNU Lesser General Public License + (LGPL) may be found in /usr/share/common-licenses/LGPL-2. + +License: Apache-2.0 + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + . + http://www.apache.org/licenses/LICENSE-2.0 + . + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + . + On Debian-based systems the full text of the Apache version 2.0 license + can be found in `/usr/share/common-licenses/Apache-2.0'. diff --git a/debian/flaky-tests-amd64.txt b/debian/flaky-tests-amd64.txt new file mode 100644 index 000000000..cfe5d8c66 --- /dev/null +++ b/debian/flaky-tests-amd64.txt @@ -0,0 +1,6 @@ +send gratuitous arp on localnet +policy-based routing IPv6: 1 HVs, 3 LSs, 1 lport/LS, 1 LR +ACLs on Port Groups +multi-vtep SB Chassis encap updates +ACL with Port Group conjunction flow efficiency +northd ssl file change diff --git a/debian/flaky-tests-arm64.txt b/debian/flaky-tests-arm64.txt new file mode 100644 index 000000000..996d0537e --- /dev/null +++ b/debian/flaky-tests-arm64.txt @@ -0,0 +1,5 @@ +ovn-controller incremental processing +nb_cfg timestamp +multi-vtep SB Chassis encap updates +ACL with Port Group conjunction flow efficiency +ipsec -- basic configuration diff --git a/debian/flaky-tests-armel.txt b/debian/flaky-tests-armel.txt new file mode 100644 index 000000000..6ce03bb10 --- /dev/null +++ b/debian/flaky-tests-armel.txt @@ -0,0 +1,7 @@ +policy-based routing IPv6: 1 HVs, 3 LSs, 1 lport/LS, 1 LR +1 LR with distributed router gateway port +ACL conjunction +IP packet buffering +test transport zones +lflow cache for conjunctions +nb_cfg timestamp diff --git a/debian/flaky-tests-armhf.txt b/debian/flaky-tests-armhf.txt new file mode 100644 index 000000000..43654f3ae --- /dev/null +++ b/debian/flaky-tests-armhf.txt @@ -0,0 +1,9 @@ +policy-based routing IPv6: 1 HVs, 3 LSs, 1 lport/LS, 1 LR +ovn-controller incremental processing +ACL conjunction +neighbor update on same HV +nb_cfg timestamp +multi-vtep SB Chassis encap updates +ACL with Port Group conjunction flow efficiency +ovn-ic -- gateway sync +ipsec -- basic configuration diff --git a/debian/flaky-tests-i386.txt b/debian/flaky-tests-i386.txt new file mode 100644 index 000000000..b82300de9 --- /dev/null +++ b/debian/flaky-tests-i386.txt @@ -0,0 +1,8 @@ +policy-based routing: 1 HVs, 2 LSs, 1 lport/LS, 1 LR +nb_cfg timestamp +ARP replies for SNAT external ips +conflict ACLs with address set +multi-vtep SB Chassis encap updates +ACL with Port Group conjunction flow efficiency +ovn-ic -- gateway sync +ipsec -- basic configuration diff --git a/debian/flaky-tests-mips64el.txt b/debian/flaky-tests-mips64el.txt new file mode 100644 index 000000000..e67e2c4ca --- /dev/null +++ b/debian/flaky-tests-mips64el.txt @@ -0,0 +1,5 @@ +multi-vtep SB Chassis encap updates +ACL with Port Group conjunction flow efficiency +ovn-ic -- gateway sync +ipsec -- basic configuration +nb_cfg timestamp diff --git a/debian/flaky-tests-mipsel.txt b/debian/flaky-tests-mipsel.txt new file mode 100644 index 000000000..00d383572 --- /dev/null +++ b/debian/flaky-tests-mipsel.txt @@ -0,0 +1,21 @@ +vtep: 3 HVs, 1 VIFs/HV, 1 GW, 1 LS +policy-based routing: 1 HVs, 2 LSs, 1 lport/LS, 1 LR +policy-based routing IPv6: 1 HVs, 3 LSs, 1 lport/LS, 1 LR +send gratuitous arp for nat ips in localnet +send gratuitous arp for NAT rules on distributed router +vlan traffic for external network with distributed router gateway port +send gratuitous ARP for NAT rules on HA distributed router +ACL conjunction +router - check packet length - icmp defrag +router - check packet length - icmp defrag +IP packet buffering +test transport zones +Load balancer health checks +interconnection +nb_cfg timestamp +conflict ACLs with address set +multi-vtep SB Chassis encap updates +ACL with Port Group conjunction flow efficiency +northd ssl file change +ovn-ic -- gateway sync +ipsec -- basic configuration diff --git a/debian/flaky-tests-ppc64el.txt b/debian/flaky-tests-ppc64el.txt new file mode 100644 index 000000000..6e089b6cb --- /dev/null +++ b/debian/flaky-tests-ppc64el.txt @@ -0,0 +1,6 @@ +options:requested-chassis for logical port +multi-vtep SB Chassis encap updates +ACL with Port Group conjunction flow efficiency +northd ssl file change +ovn-ic -- gateway sync +ipsec -- basic configuration diff --git a/debian/flaky-tests-riscv64.txt b/debian/flaky-tests-riscv64.txt new file mode 100644 index 000000000..50570ab80 --- /dev/null +++ b/debian/flaky-tests-riscv64.txt @@ -0,0 +1,6 @@ +send gratuitous arp on localnet +1 LR with distributed router gateway port +router - check packet length - icmp defrag +multi-vtep SB Chassis encap updates +ACL with Port Group conjunction flow efficiency +ipsec -- basic configuration diff --git a/debian/flaky-tests-s390x.txt b/debian/flaky-tests-s390x.txt new file mode 100644 index 000000000..a642063d9 --- /dev/null +++ b/debian/flaky-tests-s390x.txt @@ -0,0 +1,5 @@ +options:requested-chassis for logical port +ACLs on Port Groups +multi-vtep SB Chassis encap updates +ACL with Port Group conjunction flow efficiency +ipsec -- basic configuration diff --git a/debian/gbp.conf b/debian/gbp.conf new file mode 100644 index 000000000..438b3fa8d --- /dev/null +++ b/debian/gbp.conf @@ -0,0 +1,13 @@ +[DEFAULT] +debian-branch = main +upstream-branch = upstream +pristine-tar = True +components = ['ovn-vif'] + +[import-orig] +upstream-vcs-tag = v%(version)s + +[dch] +multimaint-merge = True +customizations=/usr/share/doc/git-buildpackage/examples/wrap_cl.py +git-log=--first-parent diff --git a/debian/not-installed b/debian/not-installed new file mode 100644 index 000000000..e213b139d --- /dev/null +++ b/debian/not-installed @@ -0,0 +1,5 @@ +# The OVN library and headers are currently not considered ABI/API stable. +# If the need arises to build sibling projects we should probably provide an +# ovn-source package. +usr/include/* +usr/lib/* diff --git a/debian/ovn-central.default b/debian/ovn-central.default new file mode 100644 index 000000000..7cea13e50 --- /dev/null +++ b/debian/ovn-central.default @@ -0,0 +1,5 @@ +# This is a POSIX shell fragment -*- sh -*- + +# OVN_CTL_OPTS: Extra options to pass to ovs-ctl. This is, for example, +# a suitable place to specify --ovn-northd-wrapper=valgrind. +# OVN_CTL_OPTS= diff --git a/debian/ovn-central.install b/debian/ovn-central.install new file mode 100644 index 000000000..095ca7cfa --- /dev/null +++ b/debian/ovn-central.install @@ -0,0 +1,3 @@ +usr/bin/ovn-northd +usr/share/ovn/ovn-nb.ovsschema +usr/share/ovn/ovn-sb.ovsschema diff --git a/debian/ovn-central.ovn-northd.service b/debian/ovn-central.ovn-northd.service new file mode 100644 index 000000000..09c600016 --- /dev/null +++ b/debian/ovn-central.ovn-northd.service @@ -0,0 +1,15 @@ +[Unit] +Description=Open Virtual Network central control daemon +After=network.target ovn-nb-ovsdb.service ovn-sb-ovsdb.service +PartOf=ovn-central.service +DefaultDependencies=no + +[Service] +Type=forking +EnvironmentFile=-/etc/default/ovn-central +PIDFile=%t/ovn/ovn-northd.pid +ExecStart=/usr/share/ovn/scripts/ovn-ctl start_northd --ovn-manage-ovsdb=no --no-monitor $OVN_CTL_OPTS +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_northd --no-monitor +Restart=on-failure +LimitNOFILE=65535 +TimeoutStopSec=15 diff --git a/debian/ovn-central.ovn-ovsdb-server-nb.service b/debian/ovn-central.ovn-ovsdb-server-nb.service new file mode 100644 index 000000000..81f6c75a3 --- /dev/null +++ b/debian/ovn-central.ovn-ovsdb-server-nb.service @@ -0,0 +1,18 @@ +[Unit] +Description=Open vSwitch database server for OVN Northbound database +After=network.target +PartOf=ovn-central.service +DefaultDependencies=no + +[Service] +Type=simple +EnvironmentFile=-/etc/default/ovn-central +PIDFile=%t/ovn/ovnnb_db.pid +ExecStart=/usr/share/ovn/scripts/ovn-ctl run_nb_ovsdb $OVN_CTL_OPTS +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_nb_ovsdb +Restart=on-failure +LimitNOFILE=65535 +TimeoutStopSec=15 + +[Install] +Alias=ovn-nb-ovsdb.service diff --git a/debian/ovn-central.ovn-ovsdb-server-sb.service b/debian/ovn-central.ovn-ovsdb-server-sb.service new file mode 100644 index 000000000..3aa840d2f --- /dev/null +++ b/debian/ovn-central.ovn-ovsdb-server-sb.service @@ -0,0 +1,18 @@ +[Unit] +Description=Open vSwitch database server for OVN Southbound database +After=network.target +PartOf=ovn-central.service +DefaultDependencies=no + +[Service] +Type=simple +EnvironmentFile=-/etc/default/ovn-central +PIDFile=%t/run/ovn/ovnsb_db.pid +ExecStart=/usr/share/ovn/scripts/ovn-ctl run_sb_ovsdb $OVN_CTL_OPTS +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_sb_ovsdb +Restart=on-failure +LimitNOFILE=65535 +TimeoutStopSec=15 + +[Install] +Alias=ovn-sb-ovsdb.service diff --git a/debian/ovn-central.postrm b/debian/ovn-central.postrm new file mode 100644 index 000000000..3b3483fc3 --- /dev/null +++ b/debian/ovn-central.postrm @@ -0,0 +1,47 @@ +#!/bin/sh +# postrm script for ovn-central +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * <postrm> `remove' +# * <postrm> `purge' +# * <old-postrm> `upgrade' <new-version> +# * <new-postrm> `failed-upgrade' <old-version> +# * <new-postrm> `abort-install' +# * <new-postrm> `abort-install' <old-version> +# * <new-postrm> `abort-upgrade' <old-version> +# * <disappearer's-postrm> `disappear' <overwriter> +# <overwriter-version> +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + purge) + rm -f /etc/openvswitch/ovnnb.db* + rm -f /etc/openvswitch/.ovnnb.db.~lock~ + rm -f /etc/openvswitch/ovnsb.db* + rm -f /etc/openvswitch/.ovnsb.db.~lock~ + rm -f /var/log/openvswitch/ovn-northd.log* || true + ;; + + remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + diff --git a/debian/ovn-central.service b/debian/ovn-central.service new file mode 100644 index 000000000..aead7eae6 --- /dev/null +++ b/debian/ovn-central.service @@ -0,0 +1,16 @@ +[Unit] +Description=Open Virtual Network central components +After=network.target +Requires=network.target +Wants=ovn-northd.service +Wants=ovn-ovsdb-server-sb.service +Wants=ovn-ovsdb-server-nb.service + +[Service] +Type=oneshot +ExecStart=/bin/true +ExecStop=/bin/true +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/debian/ovn-common.docs b/debian/ovn-common.docs new file mode 100644 index 000000000..6d5ee1d05 --- /dev/null +++ b/debian/ovn-common.docs @@ -0,0 +1 @@ +NOTICE diff --git a/debian/ovn-common.install b/debian/ovn-common.install new file mode 100644 index 000000000..52e9e0050 --- /dev/null +++ b/debian/ovn-common.install @@ -0,0 +1,32 @@ +usr/bin/ovn-appctl +usr/bin/ovn_detrace.py +usr/bin/ovn-detrace +usr/bin/ovn-nbctl +usr/bin/ovn-sbctl +/usr/bin/ovn-ic-nbctl +/usr/bin/ovn-ic-sbctl +usr/bin/ovn-trace +usr/share/ovn/bugtool-plugins/network-status/ovn.xml +usr/share/ovn/scripts/ovn-ctl +usr/share/ovn/scripts/ovn-lib +usr/share/ovn/scripts/ovndb-servers.ocf +usr/share/ovn/scripts/ovn-bugtool-nbctl-show +usr/share/ovn/scripts/ovn-bugtool-sbctl-lflow-list +usr/share/ovn/scripts/ovn-bugtool-sbctl-show +usr/share/man/man1/ovn-detrace.1 +usr/share/man/man5/ovn-ic-nb.5 +usr/share/man/man5/ovn-ic-sb.5 +usr/share/man/man5/ovn-nb.5 +usr/share/man/man5/ovn-sb.5 +usr/share/man/man7/ovn-architecture.7 +usr/share/man/man8/ovn-appctl.8 +usr/share/man/man8/ovn-controller-vtep.8 +usr/share/man/man8/ovn-controller.8 +usr/share/man/man8/ovn-ctl.8 +usr/share/man/man8/ovn-ic-nbctl.8 +usr/share/man/man8/ovn-ic-sbctl.8 +usr/share/man/man8/ovn-ic.8 +usr/share/man/man8/ovn-nbctl.8 +usr/share/man/man8/ovn-northd.8 +usr/share/man/man8/ovn-sbctl.8 +usr/share/man/man8/ovn-trace.8 diff --git a/debian/ovn-common.logrotate b/debian/ovn-common.logrotate new file mode 100644 index 000000000..a351ec303 --- /dev/null +++ b/debian/ovn-common.logrotate @@ -0,0 +1,22 @@ +# Copyright (C) 2019 Red Hat, Inc. +# +# Copying and distribution of this file, with or without modification, +# are permitted in any medium without royalty provided the copyright +# notice and this notice are preserved. This file is offered as-is, +# without warranty of any kind. + +/var/log/ovn/*.log { + su root root + daily + compress + sharedscripts + missingok + postrotate + # Tell OVN daemons to reopen their log files + if [ -d /var/run/ovn ]; then + for ctl in /var/run/ovn/*.ctl; do + ovs-appctl -t "$ctl" vlog/reopen 2>/dev/null || : + done + fi + endscript +} diff --git a/debian/ovn-common.postinst b/debian/ovn-common.postinst new file mode 100644 index 000000000..588044fbc --- /dev/null +++ b/debian/ovn-common.postinst @@ -0,0 +1,24 @@ +#!/bin/sh +# postinst script for ovn-common +# +# see: dh_installdeb(1) + +set -e + +case "$1" in + configure) + mkdir -p /usr/lib/ocf/resource.d/ovn + ln -sf /usr/share/openvswitch/scripts/ovndb-servers.ocf /usr/lib/ocf/resource.d/ovn/ovndb-servers + ;; + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# + +exit 0 diff --git a/debian/ovn-common.postrm b/debian/ovn-common.postrm new file mode 100644 index 000000000..9face726b --- /dev/null +++ b/debian/ovn-common.postrm @@ -0,0 +1,23 @@ +#!/bin/sh +# postrm script for openvswitch-testcontroller +# +# see: dh_installdeb(1) + +set -e + +case "$1" in + purge|remove) + rm -rf /usr/lib/ocf/resource.d/ovn + ;; + upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# + +exit 0 diff --git a/debian/ovn-controller-vtep.install b/debian/ovn-controller-vtep.install new file mode 100644 index 000000000..1d208f37e --- /dev/null +++ b/debian/ovn-controller-vtep.install @@ -0,0 +1 @@ +usr/bin/ovn-controller-vtep diff --git a/debian/ovn-controller-vtep.service b/debian/ovn-controller-vtep.service new file mode 100644 index 000000000..d51e75277 --- /dev/null +++ b/debian/ovn-controller-vtep.service @@ -0,0 +1,16 @@ +[Unit] +Description=Open Virtual Network VTEP gateway controller daemon +After=openvswitch-switch.service +Requires=openvswitch-switch.service + +[Service] +Type=forking +PIDFile=%t/ovn/ovn-controller-vtep.pid +ExecStart=/usr/share/ovn/scripts/ovn-ctl start_controller_vtep --no-monitor $OVN_CTL_OPTS +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_controller_vtep --no-monitor +Restart=on-failure +LimitNOFILE=65535 +TimeoutStopSec=15 + +[Install] +WantedBy=multi-user.target diff --git a/debian/ovn-doc.doc-base b/debian/ovn-doc.doc-base new file mode 100644 index 000000000..c7192ebdb --- /dev/null +++ b/debian/ovn-doc.doc-base @@ -0,0 +1,9 @@ +Document: ovn-doc +Title: Open Virtual Network Documentation +Author: N/A +Abstract: Sphinx documentation for Open Virtual Network +Section: Network/Communication + +Format: HTML +Index: /usr/share/doc/ovn-doc/html/index.html +Files: /usr/share/doc/ovn-doc/html/* diff --git a/debian/ovn-doc.install b/debian/ovn-doc.install new file mode 100644 index 000000000..4cfd153cf --- /dev/null +++ b/debian/ovn-doc.install @@ -0,0 +1 @@ +Documentation/_build/html/* /usr/share/doc/ovn-doc/html/ diff --git a/debian/ovn-docker.install b/debian/ovn-docker.install new file mode 100644 index 000000000..583306732 --- /dev/null +++ b/debian/ovn-docker.install @@ -0,0 +1,2 @@ +usr/bin/ovn-docker-overlay-driver +usr/bin/ovn-docker-underlay-driver diff --git a/debian/ovn-host.default b/debian/ovn-host.default new file mode 100644 index 000000000..7fd54efda --- /dev/null +++ b/debian/ovn-host.default @@ -0,0 +1,5 @@ +# This is a POSIX shell fragment -*- sh -*- + +# OVN_CTL_OPTS: Extra options to pass to ovs-ctl. This is, for example, +# a suitable place to specify --ovn-controller-wrapper=valgrind. +# OVN_CTL_OPTS= diff --git a/debian/ovn-host.install b/debian/ovn-host.install new file mode 100644 index 000000000..d2de82fd9 --- /dev/null +++ b/debian/ovn-host.install @@ -0,0 +1 @@ +usr/bin/ovn-controller diff --git a/debian/ovn-host.ovn-controller.service b/debian/ovn-host.ovn-controller.service new file mode 100644 index 000000000..a41e77d75 --- /dev/null +++ b/debian/ovn-host.ovn-controller.service @@ -0,0 +1,15 @@ +[Unit] +Description=Open Virtual Network host control daemon +After=network.target openvswitch-switch.service +PartOf=ovn-host.service +DefaultDependencies=no + +[Service] +Type=forking +EnvironmentFile=-/etc/default/ovn-host +PIDFile=%t/ovn/ovn-controller.pid +ExecStart=/usr/share/ovn/scripts/ovn-ctl start_controller --ovn-manage-ovsdb=no --no-monitor $OVN_CTL_OPTS +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_controller --no-monitor +Restart=on-failure +LimitNOFILE=65535 +TimeoutStopSec=15 diff --git a/debian/ovn-host.postrm b/debian/ovn-host.postrm new file mode 100644 index 000000000..9d17ef966 --- /dev/null +++ b/debian/ovn-host.postrm @@ -0,0 +1,43 @@ +#!/bin/sh +# postrm script for ovn-host +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * <postrm> `remove' +# * <postrm> `purge' +# * <old-postrm> `upgrade' <new-version> +# * <new-postrm> `failed-upgrade' <old-version> +# * <new-postrm> `abort-install' +# * <new-postrm> `abort-install' <old-version> +# * <new-postrm> `abort-upgrade' <old-version> +# * <disappearer's-postrm> `disappear' <overwriter> +# <overwriter-version> +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + purge) + rm -f /var/log/openvswitch/ovn-controller.log* || true + ;; + + remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + diff --git a/debian/ovn-host.service b/debian/ovn-host.service new file mode 100644 index 000000000..b524888fd --- /dev/null +++ b/debian/ovn-host.service @@ -0,0 +1,14 @@ +[Unit] +Description=Open Virtual Network host components +After=network.target +Requires=network.target +Wants=ovn-controller.service + +[Service] +Type=oneshot +ExecStart=/bin/true +ExecStop=/bin/true +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/debian/ovn-ic-db.install b/debian/ovn-ic-db.install new file mode 100644 index 000000000..a4d50002e --- /dev/null +++ b/debian/ovn-ic-db.install @@ -0,0 +1,2 @@ +/usr/share/ovn/ovn-ic-nb.ovsschema +/usr/share/ovn/ovn-ic-sb.ovsschema diff --git a/debian/ovn-ic-db.ovn-ovsdb-server-ic-nb.service b/debian/ovn-ic-db.ovn-ovsdb-server-ic-nb.service new file mode 100644 index 000000000..193024daf --- /dev/null +++ b/debian/ovn-ic-db.ovn-ovsdb-server-ic-nb.service @@ -0,0 +1,15 @@ +[Unit] +Description=Open vSwitch database server for OVN IC Northbound database +After=network.target +PartOf=ovn-ic-db.service +DefaultDependencies=no + +[Service] +Type=simple +EnvironmentFile=-/etc/default/ovn-ic +PIDFile=%t/ovn/ovn_ic_nb_db.pid +ExecStart=/usr/share/ovn/scripts/ovn-ctl run_ic_nb_ovsdb $OVN_CTL_OPTS +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_ic_nb_ovsdb +Restart=on-failure +LimitNOFILE=65535 +TimeoutStopSec=15 diff --git a/debian/ovn-ic-db.ovn-ovsdb-server-ic-sb.service b/debian/ovn-ic-db.ovn-ovsdb-server-ic-sb.service new file mode 100644 index 000000000..714748325 --- /dev/null +++ b/debian/ovn-ic-db.ovn-ovsdb-server-ic-sb.service @@ -0,0 +1,15 @@ +[Unit] +Description=Open vSwitch database server for OVN IC Southbound database +After=network.target +PartOf=ovn-ic-db.service +DefaultDependencies=no + +[Service] +Type=simple +EnvironmentFile=-/etc/default/ovn-ic +PIDFile=%t/ovn/ovn_ic_sb_db.pid +ExecStart=/usr/share/ovn/scripts/ovn-ctl run_ic_sb_ovsdb $OVN_CTL_OPTS +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_ic_sb_ovsdb +Restart=on-failure +LimitNOFILE=65535 +TimeoutStopSec=15 diff --git a/debian/ovn-ic-db.service b/debian/ovn-ic-db.service new file mode 100644 index 000000000..b116bc79d --- /dev/null +++ b/debian/ovn-ic-db.service @@ -0,0 +1,15 @@ +[Unit] +Description=Open Virtual Network interconnection databases +After=network.target +Requires=network.target +Wants=ovn-ovsdb-server-ic-sb.service +Wants=ovn-ovsdb-server-ic-nb.service + +[Service] +Type=oneshot +ExecStart=/bin/true +ExecStop=/bin/true +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/debian/ovn-ic.install b/debian/ovn-ic.install new file mode 100644 index 000000000..b15508259 --- /dev/null +++ b/debian/ovn-ic.install @@ -0,0 +1 @@ +/usr/bin/ovn-ic diff --git a/debian/ovn-ic.service b/debian/ovn-ic.service new file mode 100644 index 000000000..07974285f --- /dev/null +++ b/debian/ovn-ic.service @@ -0,0 +1,16 @@ +[Unit] +Description=Open Virtual Network interconnection controller +After=network.target +Requires=network.target + +[Service] +Type=forking +PIDFile=%t/ovn/ovn-ic.pid +ExecStart=/usr/share/ovn/scripts/ovn-ctl start_ic --no-monitor +ExecStop=/usr/share/ovn/scripts/ovn-ctl stop_ic +Restart=on-failure +LimitNOFILE=65535 +TimeoutStopSec=15 + +[Install] +WantedBy=multi-user.target diff --git a/debian/rules b/debian/rules new file mode 100755 index 000000000..4596afb49 --- /dev/null +++ b/debian/rules @@ -0,0 +1,104 @@ +#!/usr/bin/make -f +# -*- makefile -*- +#export DH_VERBOSE=1 +export DEB_BUILD_MAINT_OPTIONS = hardening=+all + +%: + dh $@ --with autoreconf,python3,sphinxdoc + +ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) +PARALLEL = -j$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) +else +PARALLEL = +endif + +override_dh_auto_configure: + # Configure OVS before OVN + test -d $(CURDIR)/ovs || mkdir ovs + cd ovs && tar -xzf /usr/src/openvswitch/openvswitch.tar.gz --strip-components=1 + cd ovs && ./configure --enable-ssl --localstatedir=/var --sysconfdir=/etc --prefix=/usr && make $(PARALLEL) + # Configure OVN to allow building OVN VIF + ./boot.sh && ./configure \ + --prefix=/usr \ + --localstatedir=/var \ + --sysconfdir=/etc \ + --with-dbdir=/var/lib/ovn \ + --with-ovs-source=$(CURDIR)/ovs \ + --enable-ssl + # Configure and build OVN VIF + cd ovn-vif && \ + ./boot.sh && \ + ./configure \ + --with-ovs-source=$(CURDIR)/ovs \ + --with-ovn-source=$(CURDIR) \ + --enable-plug-representor && \ + make $(PARALLEL) + # Use dh_auto_configure to build OVN + dh_auto_configure -- \ + --prefix=/usr \ + --localstatedir=/var \ + --sysconfdir=/etc \ + --with-dbdir=/var/lib/ovn \ + --with-ovs-source=$(CURDIR)/ovs \ + --enable-ssl \ + --with-vif-plug-provider=$(CURDIR)/ovn-vif + $(MAKE) debian/copyright + +TEST_LIST = $(shell \ + $(CURDIR)/debian/testlist.py \ + $(CURDIR)/debian/flaky-tests-$(DEB_HOST_ARCH).txt \ + $(CURDIR)/tests/testsuite) + +override_dh_auto_test: +ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) + if $(MAKE) check TESTSUITEFLAGS='$(PARALLEL) $(TEST_LIST)' || \ + $(MAKE) check TESTSUITEFLAGS='--recheck'; then :; \ + else \ + cat tests/testsuite.log; \ + exit 1; \ + fi +endif # nocheck + +override_dh_auto_build: + cd ovs && $(MAKE) $(PARALLEL) + $(MAKE) $(PARALLEL) + +override_dh_auto_clean: + dh_auto_clean + cd ovn-vif && make distclean | : + rm -rf ovs + +override_dh_installinit: + # Package does not ship any init.d files + dh_installinit --no-scripts + +override_dh_installsystemd: + dh_installsystemd --restart-after-upgrade -povn-central --name=ovn-northd + dh_installsystemd --restart-after-upgrade -povn-central --name=ovn-ovsdb-server-sb + dh_installsystemd --restart-after-upgrade -povn-central --name=ovn-ovsdb-server-nb + dh_installsystemd --restart-after-upgrade -povn-ic-db --name=ovn-ovsdb-server-ic-sb + dh_installsystemd --restart-after-upgrade -povn-ic-db --name=ovn-ovsdb-server-ic-nb + dh_installsystemd --restart-after-upgrade -povn-host --name=ovn-controller + dh_installsystemd --restart-after-upgrade + +override_dh_python3: + dh_python3 --shebang=/usr/bin/python3 + +# Helper target for creating snapshots from upstream git +DATE=$(shell date +%Y%m%d) +# Upstream branch to track +BRANCH=main +VERSION=22.09.0 + +get-orig-snapshot: + rm -Rf ovn-upstream ovn-vif-upstream + git clone --branch $(BRANCH) --depth 1 https://github.com/ovn-org/ovn ovn-upstream + git clone --branch $(BRANCH) --depth 1 https://github.com/ovn-org/ovn-vif ovn-vif-upstream + cd ovn-upstream && \ + export COMMIT=`git rev-parse --short HEAD` && \ + git archive --format tgz --prefix=ovn-$(VERSION)~git$(DATE).$$COMMIT/ \ + -o ../../ovn_$(VERSION)~git$(DATE).$$COMMIT.orig.tar.gz $(BRANCH) && \ + cd ../ovn-vif-upstream && \ + git archive --format tgz --prefix=ovn-vif-$(VERSION)~git$(DATE).$$COMMIT/ \ + -o ../../ovn_$(VERSION)~git$(DATE).$$COMMIT.orig-ovn-vif.tar.gz $(BRANCH) + rm -Rf ovn-upstream ovn-vif-upstream diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 000000000..163aaf8d8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/source/include-binaries b/debian/source/include-binaries new file mode 100644 index 000000000..2dfb2fe55 --- /dev/null +++ b/debian/source/include-binaries @@ -0,0 +1 @@ +ovn-vif/Documentation/_static/logo.png diff --git a/debian/testlist.py b/debian/testlist.py new file mode 100755 index 000000000..24d2ae9c5 --- /dev/null +++ b/debian/testlist.py @@ -0,0 +1,72 @@ +#!/usr/bin/env python3 +import enum +import itertools +import os +import sys + + +if len(sys.argv) < 3: + print( + "usage: {} skipdescriptionlist testsuite\n" + "\n" + "This program reads two files, a skiplist containing the \n" + "description of tests to skip separated by newline, and a \n" + "generated testsuite script.\n" + "\n" + "From this it produces string with range of tests to execute \n" + "which can be provided to the testsuite script.\n".format(sys.argv[0]), + file=sys.stderr, + ) + sys.exit(os.EX_USAGE) + + +SKIP_TEST_STRINGS = [] +with open(sys.argv[1]) as fin: + SKIP_TEST_STRINGS = [line.rstrip() for line in fin.readlines()] + + +@enum.unique +class State(enum.Enum): + INIT = enum.auto() + AT_HELP_ALL = enum.auto() + + +SKIP_TESTS = set() +TESTS = set() +with open(sys.argv[2]) as fin: + state = State.INIT + last_test = 0 + for line in fin.readlines(): + if state == State.INIT: + if not line.startswith('at_help_all="'): + continue + else: + state = State.AT_HELP_ALL + data = line.split('"')[1].rstrip().split(";") + elif state == State.AT_HELP_ALL: + if line.startswith('"'): + break + data = line.rstrip().split(";") + test_nr = int(data[0]) + if last_test < test_nr: + last_test = test_nr + for skip_string in SKIP_TEST_STRINGS: + if skip_string in data[2]: + SKIP_TESTS.add(test_nr) + else: + TESTS.add(test_nr) + + +def ranges(testlist): + for a, b in itertools.groupby( + enumerate(list(testlist)), lambda pair: pair[1] - pair[0] + ): + b = list(b) + yield b[0][1], b[-1][1] + + +testranges = [ + "{}-{}".format(testrange[0], testrange[1]) + for testrange in ranges(TESTS - SKIP_TESTS) +] +print(" ".join(testranges)) diff --git a/debian/watch b/debian/watch new file mode 100644 index 000000000..4831f3456 --- /dev/null +++ b/debian/watch @@ -0,0 +1,5 @@ +version=4 +opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/ovn-$1\.tar\.gz/ \ + https://github.com/ovn-org/ovn/tags .*/v?(\d\S+)\.tar\.gz +opts="filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/ovn-vif-$1\.tar\.gz/, component=ovn-vif" \ + https://github.com/ovn-org/ovn-vif/tags .*/v?(\d\S+)\.tar\.gz