mirror of
https://github.com/openvswitch/ovs
synced 2025-08-22 01:51:26 +00:00
rhel: Split OpenvSwitch and OVN packages
Up until now, OVN rpms were generated as sub packages of OpenvSwitch. This patch now splits it and makes OVN rpms independent. A new spec file - ovn-fedora.spec.in is added for this. The openvswitch-fedora.spec.in has been modified to create only OpenvSwitch packages. Since we are not splitting the OVN code, the spec files run the same build procedure. Only the required binaries/files are copied into the rpms. The new package names will be ovn, ovn-common, ovn-central, ovn-host, ovn-vtep and ovn-docker. Acked-by: Flavio Leitner <fbl@sysclose.org> Signed-off-by: Numan Siddique <nusiddiq@redhat.com> Acked-by: Timothy Redaelli <tredaelli@redhat.com> Tested-By: Timothy Redaelli <tredaelli@redhat.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
This commit is contained in:
parent
e2ab461a80
commit
78203a9cd3
@ -103,9 +103,7 @@ in which `./configure` was executed:
|
||||
$ make rpm-fedora
|
||||
|
||||
This will create the RPMs `openvswitch`, `python-openvswitch`,
|
||||
`openvswitch-test`, `openvswitch-devel`, `openvswitch-ovn-common`,
|
||||
`openvswitch-ovn-central`, `openvswitch-ovn-host`, `openvswitch-ovn-vtep`,
|
||||
`openvswitch-ovn-docker`, and `openvswitch-debuginfo`.
|
||||
`openvswitch-test`, `openvswitch-devel` and `openvswitch-debuginfo`.
|
||||
|
||||
To enable DPDK support in the openvswitch package, the ``--with dpdk`` option
|
||||
can be added:
|
||||
@ -121,6 +119,17 @@ tests. This can take several minutes.
|
||||
|
||||
$ make rpm-fedora RPMBUILD_OPT="--with check"
|
||||
|
||||
To build OVN RPMs, execute the following from the directory in which
|
||||
`./configure` was executed:
|
||||
|
||||
::
|
||||
|
||||
$ make rpm-fedora-ovn
|
||||
|
||||
This will create the RPMs `ovn`, `ovn-common`, `ovn-central`, `ovn-host`,
|
||||
`ovn-docker` and `ovn-vtep`.
|
||||
|
||||
|
||||
Kernel OVS Tree Datapath RPM
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@ -156,7 +165,7 @@ In most cases only the `openvswitch` RPM will need to be installed. The
|
||||
`openvswitch-debuginfo` RPMs are optional unless required for a specific
|
||||
purpose.
|
||||
|
||||
The `openvswitch-ovn-*` packages are only needed when using OVN.
|
||||
The `ovn-*` packages are only needed when using OVN.
|
||||
|
||||
Refer to the `RHEL README`__ for additional usage and configuration
|
||||
information.
|
||||
|
4
NEWS
4
NEWS
@ -35,6 +35,10 @@ Post-v2.10.0
|
||||
rebalancing of offloaded flows.
|
||||
- The environment variable OVS_RESOLV_CONF, if set, is now used
|
||||
as the DNS server configuration file.
|
||||
- RHEL packaging:
|
||||
* OVN packages are split from OVS packages. A new spec
|
||||
file - ovn-fedora.spec.in is added to generate OVN packages.
|
||||
|
||||
|
||||
v2.10.0 - 18 Aug 2018
|
||||
---------------------
|
||||
|
1
rhel/.gitignore
vendored
1
rhel/.gitignore
vendored
@ -4,4 +4,5 @@ kmod-openvswitch-rhel6.spec
|
||||
openvswitch-kmod-fedora.spec
|
||||
openvswitch.spec
|
||||
openvswitch-fedora.spec
|
||||
ovn-fedora.spec
|
||||
usr_lib_systemd_system_ovs-vswitchd.service
|
||||
|
@ -23,6 +23,8 @@ EXTRA_DIST += \
|
||||
rhel/openvswitch.spec.in \
|
||||
rhel/openvswitch-fedora.spec \
|
||||
rhel/openvswitch-fedora.spec.in \
|
||||
rhel/ovn-fedora.spec \
|
||||
rhel/ovn-fedora.spec.in \
|
||||
rhel/usr_share_openvswitch_scripts_ovs-systemd-reload \
|
||||
rhel/usr_share_openvswitch_scripts_sysconfig.template \
|
||||
rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template \
|
||||
@ -72,6 +74,13 @@ rpm-fedora: dist $(srcdir)/rhel/openvswitch-fedora.spec
|
||||
-D "_topdir ${RPMBUILD_TOP}" \
|
||||
-ba $(srcdir)/rhel/openvswitch-fedora.spec
|
||||
|
||||
rpm-fedora-ovn: dist $(srcdir)/rhel/ovn-fedora.spec
|
||||
${MKDIR_P} ${RPMBUILD_TOP}/SOURCES
|
||||
cp ${DIST_ARCHIVES} ${RPMBUILD_TOP}/SOURCES
|
||||
rpmbuild ${RPMBUILD_OPT} \
|
||||
-D "_topdir ${RPMBUILD_TOP}" \
|
||||
-ba $(srcdir)/rhel/ovn-fedora.spec
|
||||
|
||||
# Build kernel datapath RPM
|
||||
rpm-fedora-kmod: dist $(srcdir)/rhel/openvswitch-kmod-fedora.spec
|
||||
${MKDIR_P} ${RPMBUILD_TOP}/SOURCES
|
||||
|
@ -173,54 +173,6 @@ This provides the ifup and ifdown scripts for use with the legacy network
|
||||
service.
|
||||
%endif
|
||||
|
||||
%package ovn-central
|
||||
Summary: Open vSwitch - Open Virtual Network support
|
||||
License: ASL 2.0
|
||||
Requires: openvswitch openvswitch-ovn-common
|
||||
Requires: firewalld-filesystem
|
||||
|
||||
%description ovn-central
|
||||
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.
|
||||
|
||||
%package ovn-host
|
||||
Summary: Open vSwitch - Open Virtual Network support
|
||||
License: ASL 2.0
|
||||
Requires: openvswitch openvswitch-ovn-common
|
||||
Requires: firewalld-filesystem
|
||||
|
||||
%description ovn-host
|
||||
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.
|
||||
|
||||
%package ovn-vtep
|
||||
Summary: Open vSwitch - Open Virtual Network support
|
||||
License: ASL 2.0
|
||||
Requires: openvswitch openvswitch-ovn-common
|
||||
|
||||
%description ovn-vtep
|
||||
OVN vtep controller
|
||||
|
||||
%package ovn-common
|
||||
Summary: Open vSwitch - Open Virtual Network support
|
||||
License: ASL 2.0
|
||||
Requires: openvswitch
|
||||
|
||||
%description ovn-common
|
||||
Utilities that are use to diagnose and manage the OVN components.
|
||||
|
||||
%package ovn-docker
|
||||
Summary: Open vSwitch - Open Virtual Network support
|
||||
License: ASL 2.0
|
||||
Requires: openvswitch openvswitch-ovn-common %{_py2}-openvswitch
|
||||
|
||||
%description ovn-docker
|
||||
Docker network plugins for OVN.
|
||||
|
||||
%package ipsec
|
||||
Summary: Open vSwitch IPsec tunneling support
|
||||
License: ASL 2.0
|
||||
@ -282,7 +234,6 @@ install -p -D -m 0644 \
|
||||
rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template \
|
||||
$RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/openvswitch
|
||||
for service in openvswitch ovsdb-server ovs-vswitchd ovs-delete-transient-ports \
|
||||
ovn-controller ovn-controller-vtep ovn-northd \
|
||||
openvswitch-ipsec; do
|
||||
install -p -D -m 0644 \
|
||||
rhel/usr_lib_systemd_system_${service}.service \
|
||||
@ -328,14 +279,6 @@ install -p -m 644 -D selinux/openvswitch-custom.pp \
|
||||
$RPM_BUILD_ROOT%{_datadir}/selinux/packages/%{name}/openvswitch-custom.pp
|
||||
|
||||
install -d $RPM_BUILD_ROOT%{_prefix}/lib/firewalld/services/
|
||||
install -p -m 0644 rhel/usr_lib_firewalld_services_ovn-central-firewall-service.xml \
|
||||
$RPM_BUILD_ROOT%{_prefix}/lib/firewalld/services/ovn-central-firewall-service.xml
|
||||
install -p -m 0644 rhel/usr_lib_firewalld_services_ovn-host-firewall-service.xml \
|
||||
$RPM_BUILD_ROOT%{_prefix}/lib/firewalld/services/ovn-host-firewall-service.xml
|
||||
|
||||
install -d -m 0755 $RPM_BUILD_ROOT%{_prefix}/lib/ocf/resource.d/ovn
|
||||
ln -s %{_datadir}/openvswitch/scripts/ovndb-servers.ocf \
|
||||
$RPM_BUILD_ROOT%{_prefix}/lib/ocf/resource.d/ovn/ovndb-servers
|
||||
|
||||
install -p -D -m 0755 \
|
||||
rhel/usr_share_openvswitch_scripts_ovs-systemd-reload \
|
||||
@ -346,6 +289,17 @@ rm -f $RPM_BUILD_ROOT%{_bindir}/ovs-parse-backtrace \
|
||||
$RPM_BUILD_ROOT%{_sbindir}/ovs-vlan-bug-workaround \
|
||||
$RPM_BUILD_ROOT%{_mandir}/man8/ovs-vlan-bug-workaround.8
|
||||
|
||||
# remove ovn unpackages files
|
||||
rm -f $RPM_BUILD_ROOT%{_bindir}/ovn*
|
||||
rm -f $RPM_BUILD_ROOT%{_mandir}/man1/ovn*
|
||||
rm -f $RPM_BUILD_ROOT%{_mandir}/man5/ovn*
|
||||
rm -f $RPM_BUILD_ROOT%{_mandir}/man7/ovn*
|
||||
rm -f $RPM_BUILD_ROOT%{_mandir}/man8/ovn*
|
||||
rm -f $RPM_BUILD_ROOT%{_datadir}/openvswitch/ovn*
|
||||
rm -f $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/ovn*
|
||||
rm -f $RPM_BUILD_ROOT%{_includedir}/ovn/*
|
||||
rm -f $RPM_BUILD_ROOT%{_libdir}/libovn*
|
||||
|
||||
%check
|
||||
%if %{with check}
|
||||
if make check TESTSUITEFLAGS='%{_smp_mflags}' RECHECK=yes; then :;
|
||||
@ -379,39 +333,6 @@ rm -rf $RPM_BUILD_ROOT
|
||||
fi
|
||||
%endif
|
||||
|
||||
%preun ovn-central
|
||||
%if 0%{?systemd_preun:1}
|
||||
%systemd_preun ovn-northd.service
|
||||
%else
|
||||
if [ $1 -eq 0 ] ; then
|
||||
# Package removal, not upgrade
|
||||
/bin/systemctl --no-reload disable ovn-northd.service >/dev/null 2>&1 || :
|
||||
/bin/systemctl stop ovn-northd.service >/dev/null 2>&1 || :
|
||||
fi
|
||||
%endif
|
||||
|
||||
%preun ovn-host
|
||||
%if 0%{?systemd_preun:1}
|
||||
%systemd_preun ovn-controller.service
|
||||
%else
|
||||
if [ $1 -eq 0 ] ; then
|
||||
# Package removal, not upgrade
|
||||
/bin/systemctl --no-reload disable ovn-controller.service >/dev/null 2>&1 || :
|
||||
/bin/systemctl stop ovn-controller.service >/dev/null 2>&1 || :
|
||||
fi
|
||||
%endif
|
||||
|
||||
%preun ovn-vtep
|
||||
%if 0%{?systemd_preun:1}
|
||||
%systemd_preun ovn-controller-vtep.service
|
||||
%else
|
||||
if [ $1 -eq 0 ] ; then
|
||||
# Package removal, not upgrade
|
||||
/bin/systemctl --no-reload disable ovn-controller-vtep.service >/dev/null 2>&1 || :
|
||||
/bin/systemctl stop ovn-controller-vtep.service >/dev/null 2>&1 || :
|
||||
fi
|
||||
%endif
|
||||
|
||||
%pre
|
||||
getent group openvswitch >/dev/null || groupadd -r openvswitch
|
||||
getent passwd openvswitch >/dev/null || \
|
||||
@ -449,36 +370,6 @@ fi
|
||||
fi
|
||||
%endif
|
||||
|
||||
%post ovn-central
|
||||
%if 0%{?systemd_post:1}
|
||||
%systemd_post ovn-northd.service
|
||||
%else
|
||||
# Package install, not upgrade
|
||||
if [ $1 -eq 1 ]; then
|
||||
/bin/systemctl daemon-reload >dev/null || :
|
||||
fi
|
||||
%endif
|
||||
|
||||
%post ovn-host
|
||||
%if 0%{?systemd_post:1}
|
||||
%systemd_post ovn-controller.service
|
||||
%else
|
||||
# Package install, not upgrade
|
||||
if [ $1 -eq 1 ]; then
|
||||
/bin/systemctl daemon-reload >dev/null || :
|
||||
fi
|
||||
%endif
|
||||
|
||||
%post ovn-vtep
|
||||
%if 0%{?systemd_post:1}
|
||||
%systemd_post ovn-controller-vtep.service
|
||||
%else
|
||||
# Package install, not upgrade
|
||||
if [ $1 -eq 1 ]; then
|
||||
/bin/systemctl daemon-reload >dev/null || :
|
||||
fi
|
||||
%endif
|
||||
|
||||
%post selinux-policy
|
||||
%selinux_modules_install -s targeted %{_datadir}/selinux/packages/%{name}/openvswitch-custom.pp
|
||||
|
||||
@ -489,27 +380,6 @@ fi
|
||||
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
|
||||
%endif
|
||||
|
||||
%postun ovn-central
|
||||
%if 0%{?systemd_postun:1}
|
||||
%systemd_postun ovn-northd.service
|
||||
%else
|
||||
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
|
||||
%endif
|
||||
|
||||
%postun ovn-host
|
||||
%if 0%{?systemd_postun:1}
|
||||
%systemd_postun ovn-controller.service
|
||||
%else
|
||||
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
|
||||
%endif
|
||||
|
||||
%postun ovn-vtep
|
||||
%if 0%{?systemd_postun:1}
|
||||
%systemd_postun ovn-controller-vtep.service
|
||||
%else
|
||||
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
|
||||
%endif
|
||||
|
||||
%postun selinux-policy
|
||||
if [ $1 -eq 0 ] ; then
|
||||
%selinux_modules_uninstall -s targeted openvswitch-custom
|
||||
@ -550,7 +420,6 @@ fi
|
||||
%{_libdir}/pkgconfig/*.pc
|
||||
%{_includedir}/openvswitch/*
|
||||
%{_includedir}/openflow/*
|
||||
%{_includedir}/ovn/*
|
||||
%exclude %{_libdir}/*.la
|
||||
|
||||
%if 0%{?rhel} > 7 || 0%{?fedora} > 28
|
||||
@ -638,49 +507,6 @@ fi
|
||||
%attr(750,root,root) /var/log/openvswitch
|
||||
%ghost %attr(755,root,root) %{_rundir}/openvswitch
|
||||
|
||||
%files ovn-docker
|
||||
%{_bindir}/ovn-docker-overlay-driver
|
||||
%{_bindir}/ovn-docker-underlay-driver
|
||||
|
||||
%files ovn-common
|
||||
%{_bindir}/ovn-nbctl
|
||||
%{_bindir}/ovn-sbctl
|
||||
%{_bindir}/ovn-trace
|
||||
%{_bindir}/ovn-detrace
|
||||
%{_datadir}/openvswitch/scripts/ovn-ctl
|
||||
%{_datadir}/openvswitch/scripts/ovndb-servers.ocf
|
||||
%{_datadir}/openvswitch/scripts/ovn-bugtool-nbctl-show
|
||||
%{_datadir}/openvswitch/scripts/ovn-bugtool-sbctl-lflow-list
|
||||
%{_datadir}/openvswitch/scripts/ovn-bugtool-sbctl-show
|
||||
%{_mandir}/man8/ovn-ctl.8*
|
||||
%{_mandir}/man8/ovn-nbctl.8*
|
||||
%{_mandir}/man8/ovn-trace.8*
|
||||
%{_mandir}/man1/ovn-detrace.1*
|
||||
%{_mandir}/man7/ovn-architecture.7*
|
||||
%{_mandir}/man8/ovn-sbctl.8*
|
||||
%{_mandir}/man5/ovn-nb.5*
|
||||
%{_mandir}/man5/ovn-sb.5*
|
||||
%{_prefix}/lib/ocf/resource.d/ovn/ovndb-servers
|
||||
|
||||
%files ovn-central
|
||||
%{_bindir}/ovn-northd
|
||||
%{_mandir}/man8/ovn-northd.8*
|
||||
%config %{_datadir}/openvswitch/ovn-nb.ovsschema
|
||||
%config %{_datadir}/openvswitch/ovn-sb.ovsschema
|
||||
%{_unitdir}/ovn-northd.service
|
||||
%{_prefix}/lib/firewalld/services/ovn-central-firewall-service.xml
|
||||
|
||||
%files ovn-host
|
||||
%{_bindir}/ovn-controller
|
||||
%{_mandir}/man8/ovn-controller.8*
|
||||
%{_unitdir}/ovn-controller.service
|
||||
%{_prefix}/lib/firewalld/services/ovn-host-firewall-service.xml
|
||||
|
||||
%files ovn-vtep
|
||||
%{_bindir}/ovn-controller-vtep
|
||||
%{_mandir}/man8/ovn-controller-vtep.8*
|
||||
%{_unitdir}/ovn-controller-vtep.service
|
||||
|
||||
%files ipsec
|
||||
%{_datadir}/openvswitch/scripts/ovs-monitor-ipsec
|
||||
%{_unitdir}/openvswitch-ipsec.service
|
||||
|
440
rhel/ovn-fedora.spec.in
Normal file
440
rhel/ovn-fedora.spec.in
Normal file
@ -0,0 +1,440 @@
|
||||
# Spec file for Open Virtual Network (OVN).
|
||||
|
||||
# Copyright (C) 2018 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.
|
||||
#
|
||||
# If tests have to be skipped while building, specify the '--without check'
|
||||
# option. For example:
|
||||
# rpmbuild -bb --without check rhel/ovn-fedora.spec
|
||||
#
|
||||
|
||||
# If libcap-ng isn't available and there is no need for running OVS
|
||||
# as regular user, specify the '--without libcapng'
|
||||
%bcond_without libcapng
|
||||
|
||||
# Enable Python 3 by specifying '--with build_python3'.
|
||||
# This is enabled by default for versions of the distribution that
|
||||
# have Python 3 by default (Fedora > 22).
|
||||
%bcond_with build_python3
|
||||
|
||||
# Enable PIE, bz#955181
|
||||
%global _hardened_build 1
|
||||
|
||||
# some distros (e.g: RHEL-7) don't define _rundir macro yet
|
||||
# Fedora 15 onwards uses /run as _rundir
|
||||
%if 0%{!?_rundir:1}
|
||||
%define _rundir /run
|
||||
%endif
|
||||
|
||||
# define the python package prefix based on distribution version so that we can
|
||||
# simultaneously support RHEL-based and later Fedora versions in this spec file.
|
||||
%if 0%{?fedora} >= 25
|
||||
%define _py2 python2
|
||||
%endif
|
||||
|
||||
%if 0%{?rhel} || 0%{?fedora} < 25
|
||||
%define _py2 python
|
||||
%endif
|
||||
|
||||
Name: ovn
|
||||
Summary: Open Virtual Network support
|
||||
Group: System Environment/Daemons
|
||||
URL: http://www.openvswitch.org/
|
||||
Version: @VERSION@
|
||||
|
||||
# Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the
|
||||
# lib/sflow*.[ch] files are SISSL
|
||||
License: ASL 2.0 and LGPLv2+ and SISSL
|
||||
Release: 1%{?dist}
|
||||
Source: http://openvswitch.org/releases/openvswitch-%{version}.tar.gz
|
||||
|
||||
BuildRequires: gcc gcc-c++
|
||||
BuildRequires: autoconf automake libtool
|
||||
BuildRequires: systemd-units openssl openssl-devel
|
||||
BuildRequires: %{_py2}-devel
|
||||
%if 0%{?fedora} > 22 || %{with build_python3}
|
||||
BuildRequires: python3-devel
|
||||
%endif
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: groff graphviz
|
||||
BuildRequires: checkpolicy, selinux-policy-devel
|
||||
BuildRequires: %{_py2}-sphinx
|
||||
# make check dependencies
|
||||
BuildRequires: %{_py2}-twisted%{?rhel:-core} %{_py2}-zope-interface %{_py2}-six
|
||||
BuildRequires: procps-ng
|
||||
%if %{with libcapng}
|
||||
BuildRequires: libcap-ng libcap-ng-devel
|
||||
%endif
|
||||
BuildRequires: unbound unbound-devel
|
||||
|
||||
Requires: openssl hostname iproute module-init-tools openvswitch
|
||||
|
||||
Requires(post): systemd-units
|
||||
Requires(preun): systemd-units
|
||||
Requires(postun): systemd-units
|
||||
|
||||
# to skip running checks, pass --without check
|
||||
%bcond_without check
|
||||
|
||||
%description
|
||||
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.
|
||||
|
||||
%package central
|
||||
Summary: Open Virtual Network support
|
||||
License: ASL 2.0
|
||||
Requires: ovn ovn-common
|
||||
Requires: firewalld-filesystem
|
||||
Obsoletes: openvswitch-ovn-central
|
||||
Provides: openvswitch-ovn-central = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description central
|
||||
OVN DB servers and ovn-northd running on a central node.
|
||||
|
||||
%package host
|
||||
Summary: Open Virtual Network support
|
||||
License: ASL 2.0
|
||||
Requires: ovn ovn-common
|
||||
Requires: firewalld-filesystem
|
||||
Obsoletes: openvswitch-ovn-host
|
||||
Provides: openvswitch-ovn-host = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description host
|
||||
OVN controller running on each host.
|
||||
|
||||
%package vtep
|
||||
Summary: Open Virtual Network support
|
||||
License: ASL 2.0
|
||||
Requires: ovn ovn-common
|
||||
Obsoletes: openvswitch-ovn-vtep
|
||||
Provides: openvswitch-ovn-vtep = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description vtep
|
||||
OVN vtep controller
|
||||
|
||||
%package common
|
||||
Summary: Open Virtual Network support
|
||||
License: ASL 2.0
|
||||
Requires: ovn
|
||||
Obsoletes: openvswitch-ovn-common
|
||||
Provides: openvswitch-ovn-common = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description common
|
||||
Utilities that are use to diagnose and manage the OVN components.
|
||||
|
||||
%package docker
|
||||
Summary: Open Virtual Network support
|
||||
License: ASL 2.0
|
||||
Requires: ovn ovn-common %{_py2}-openvswitch
|
||||
Obsoletes: openvswitch-ovn-docker
|
||||
Provides: openvswitch-ovn-docker = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description docker
|
||||
Docker network plugins for OVN.
|
||||
|
||||
%prep
|
||||
%setup -n openvswitch-%{version}
|
||||
|
||||
%build
|
||||
%configure \
|
||||
%if %{with libcapng}
|
||||
--enable-libcapng \
|
||||
%else
|
||||
--disable-libcapng \
|
||||
%endif
|
||||
--enable-ssl \
|
||||
--with-pkidir=%{_sharedstatedir}/openvswitch/pki \
|
||||
%if 0%{?fedora} > 22 || %{with build_python3}
|
||||
PYTHON3=%{__python3} \
|
||||
PYTHON=%{__python2}
|
||||
%else
|
||||
PYTHON=%{__python}
|
||||
%endif
|
||||
|
||||
make %{?_smp_mflags}
|
||||
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
make install DESTDIR=$RPM_BUILD_ROOT
|
||||
|
||||
for service in ovn-controller ovn-controller-vtep ovn-northd; do
|
||||
install -p -D -m 0644 \
|
||||
rhel/usr_lib_systemd_system_${service}.service \
|
||||
$RPM_BUILD_ROOT%{_unitdir}/${service}.service
|
||||
done
|
||||
|
||||
rm -rf $RPM_BUILD_ROOT/%{_datadir}/openvswitch/python/
|
||||
|
||||
install -d -m 0755 $RPM_BUILD_ROOT/%{_sharedstatedir}/openvswitch
|
||||
|
||||
install -d $RPM_BUILD_ROOT%{_prefix}/lib/firewalld/services/
|
||||
install -p -m 0644 rhel/usr_lib_firewalld_services_ovn-central-firewall-service.xml \
|
||||
$RPM_BUILD_ROOT%{_prefix}/lib/firewalld/services/ovn-central-firewall-service.xml
|
||||
install -p -m 0644 rhel/usr_lib_firewalld_services_ovn-host-firewall-service.xml \
|
||||
$RPM_BUILD_ROOT%{_prefix}/lib/firewalld/services/ovn-host-firewall-service.xml
|
||||
|
||||
install -d -m 0755 $RPM_BUILD_ROOT%{_prefix}/lib/ocf/resource.d/ovn
|
||||
ln -s %{_datadir}/openvswitch/scripts/ovndb-servers.ocf \
|
||||
$RPM_BUILD_ROOT%{_prefix}/lib/ocf/resource.d/ovn/ovndb-servers
|
||||
|
||||
# remove OVS unpackages files
|
||||
rm -f $RPM_BUILD_ROOT%{_bindir}/ovs*
|
||||
rm -f $RPM_BUILD_ROOT%{_bindir}/vtep-ctl
|
||||
rm -f $RPM_BUILD_ROOT%{_sbindir}/ovs*
|
||||
rm -f $RPM_BUILD_ROOT%{_mandir}/man1/ovs*
|
||||
rm -f $RPM_BUILD_ROOT%{_mandir}/man5/ovs*
|
||||
rm -f $RPM_BUILD_ROOT%{_mandir}/man5/vtep*
|
||||
rm -f $RPM_BUILD_ROOT%{_mandir}/man7/ovs*
|
||||
rm -f $RPM_BUILD_ROOT%{_mandir}/man8/ovs*
|
||||
rm -f $RPM_BUILD_ROOT%{_mandir}/man8/vtep*
|
||||
rm -f $RPM_BUILD_ROOT%{_datadir}/openvswitch/ovs*
|
||||
rm -f $RPM_BUILD_ROOT%{_datadir}/openvswitch/vswitch.ovsschema
|
||||
rm -f $RPM_BUILD_ROOT%{_datadir}/openvswitch/vtep.ovsschema
|
||||
rm -f $RPM_BUILD_ROOT%{_datadir}/openvswitch/scripts/ovs*
|
||||
rm -rf $RPM_BUILD_ROOT%{_datadir}/openvswitch/bugtool-plugins
|
||||
rm -f $RPM_BUILD_ROOT%{_includedir}/openvswitch/*
|
||||
rm -f $RPM_BUILD_ROOT%{_includedir}/openflow/*
|
||||
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
|
||||
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
|
||||
rm -f $RPM_BUILD_ROOT%{_libdir}/pkgconfig/*.pc
|
||||
rm -f $RPM_BUILD_ROOT%{_includedir}/openvswitch/*
|
||||
rm -f $RPM_BUILD_ROOT%{_includedir}/openflow/*
|
||||
rm -f $RPM_BUILD_ROOT%{_includedir}/ovn/*
|
||||
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d/ovs-appctl-bashcomp.bash
|
||||
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d/ovs-vsctl-bashcomp.bash
|
||||
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/openvswitch
|
||||
|
||||
%check
|
||||
%if %{with check}
|
||||
if make check TESTSUITEFLAGS='%{_smp_mflags}' RECHECK=yes; then :;
|
||||
else
|
||||
cat tests/testsuite.log
|
||||
exit 1
|
||||
fi
|
||||
%endif
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%pre central
|
||||
if [ $1 -eq 1 ] ; then
|
||||
# Package install.
|
||||
/bin/systemctl status ovn-northd.service >/dev/null
|
||||
ovn_status=$?
|
||||
rpm -ql openvswitch-ovn-central > /dev/null
|
||||
if [[ "$?" = "0" && "$ovn_status" = "0" ]]; then
|
||||
# ovn-northd service is running which means old openvswitch-ovn-central
|
||||
# is already installed and it will be cleaned up. So start ovn-northd
|
||||
# service when posttrans central is called.
|
||||
touch %{_localstatedir}/lib/rpm-state/ovn-northd
|
||||
fi
|
||||
fi
|
||||
|
||||
%pre host
|
||||
if [ $1 -eq 1 ] ; then
|
||||
# Package install.
|
||||
/bin/systemctl status ovn-controller.service >/dev/null
|
||||
ovn_status=$?
|
||||
rpm -ql openvswitch-ovn-host > /dev/null
|
||||
if [[ "$?" = "0" && "$ovn_status" = "0" ]]; then
|
||||
# ovn-controller service is running which means old
|
||||
# openvswitch-ovn-host is installed and it will be cleaned up. So
|
||||
# start ovn-controller service when posttrans host is called.
|
||||
touch %{_localstatedir}/lib/rpm-state/ovn-controller
|
||||
fi
|
||||
fi
|
||||
|
||||
%pre vtep
|
||||
if [ $1 -eq 1 ] ; then
|
||||
# Package install.
|
||||
/bin/systemctl status ovn-controller-vtep.service >/dev/null
|
||||
ovn_status=$?
|
||||
rpm -ql openvswitch-ovn-vtep > /dev/null
|
||||
if [[ "$?" = "0" && "$ovn_status" = "0" ]]; then
|
||||
# ovn-controller-vtep service is running which means old
|
||||
# openvswitch-ovn-vtep is installed and it will be cleaned up. So
|
||||
# start ovn-controller-vtep service when posttrans host is called.
|
||||
touch %{_localstatedir}/lib/rpm-state/ovn-controller-vtep
|
||||
fi
|
||||
fi
|
||||
|
||||
%preun central
|
||||
%if 0%{?systemd_preun:1}
|
||||
%systemd_preun ovn-northd.service
|
||||
%else
|
||||
if [ $1 -eq 0 ] ; then
|
||||
# Package removal, not upgrade
|
||||
/bin/systemctl --no-reload disable ovn-northd.service >/dev/null 2>&1 || :
|
||||
/bin/systemctl stop ovn-northd.service >/dev/null 2>&1 || :
|
||||
fi
|
||||
%endif
|
||||
|
||||
%preun host
|
||||
%if 0%{?systemd_preun:1}
|
||||
%systemd_preun ovn-controller.service
|
||||
%else
|
||||
if [ $1 -eq 0 ] ; then
|
||||
# Package removal, not upgrade
|
||||
/bin/systemctl --no-reload disable ovn-controller.service >/dev/null 2>&1 || :
|
||||
/bin/systemctl stop ovn-controller.service >/dev/null 2>&1 || :
|
||||
fi
|
||||
%endif
|
||||
|
||||
%preun vtep
|
||||
%if 0%{?systemd_preun:1}
|
||||
%systemd_preun ovn-controller-vtep.service
|
||||
%else
|
||||
if [ $1 -eq 0 ] ; then
|
||||
# Package removal, not upgrade
|
||||
/bin/systemctl --no-reload disable ovn-controller-vtep.service >/dev/null 2>&1 || :
|
||||
/bin/systemctl stop ovn-controller-vtep.service >/dev/null 2>&1 || :
|
||||
fi
|
||||
%endif
|
||||
|
||||
%post central
|
||||
%if 0%{?systemd_post:1}
|
||||
%systemd_post ovn-northd.service
|
||||
%else
|
||||
# Package install, not upgrade
|
||||
if [ $1 -eq 1 ]; then
|
||||
/bin/systemctl daemon-reload >dev/null || :
|
||||
fi
|
||||
%endif
|
||||
|
||||
%post host
|
||||
%if 0%{?systemd_post:1}
|
||||
%systemd_post ovn-controller.service
|
||||
%else
|
||||
# Package install, not upgrade
|
||||
if [ $1 -eq 1 ]; then
|
||||
/bin/systemctl daemon-reload >dev/null || :
|
||||
fi
|
||||
%endif
|
||||
|
||||
%post vtep
|
||||
%if 0%{?systemd_post:1}
|
||||
%systemd_post ovn-controller-vtep.service
|
||||
%else
|
||||
# Package install, not upgrade
|
||||
if [ $1 -eq 1 ]; then
|
||||
/bin/systemctl daemon-reload >dev/null || :
|
||||
fi
|
||||
%endif
|
||||
|
||||
%postun
|
||||
|
||||
%postun central
|
||||
%if 0%{?systemd_postun_with_restart:1}
|
||||
%systemd_postun_with_restart ovn-northd.service
|
||||
%else
|
||||
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
|
||||
if [ "$1" -ge "1" ] ; then
|
||||
# Package upgrade, not uninstall
|
||||
/bin/systemctl try-restart ovn-northd.service >/dev/null 2>&1 || :
|
||||
fi
|
||||
%endif
|
||||
|
||||
%postun host
|
||||
%if 0%{?systemd_postun_with_restart:1}
|
||||
%systemd_postun_with_restart ovn-controller.service
|
||||
%else
|
||||
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
|
||||
if [ "$1" -ge "1" ] ; then
|
||||
# Package upgrade, not uninstall
|
||||
/bin/systemctl try-restart ovn-controller.service >/dev/null 2>&1 || :
|
||||
fi
|
||||
%endif
|
||||
|
||||
%postun vtep
|
||||
%if 0%{?systemd_postun_with_restart:1}
|
||||
%systemd_postun_with_restart ovn-controller-vtep.service
|
||||
%else
|
||||
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
|
||||
if [ "$1" -ge "1" ] ; then
|
||||
# Package upgrade, not uninstall
|
||||
/bin/systemctl try-restart ovn-controller-vtep.service >/dev/null 2>&1 || :
|
||||
fi
|
||||
%endif
|
||||
|
||||
%posttrans central
|
||||
if [ $1 -eq 1 ]; then
|
||||
# Package install, not upgrade
|
||||
if [ -e %{_localstatedir}/lib/rpm-state/ovn-northd ]; then
|
||||
rm %{_localstatedir}/lib/rpm-state/ovn-northd
|
||||
/bin/systemctl start ovn-northd.service >/dev/null 2>&1 || :
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
%posttrans host
|
||||
if [ $1 -eq 1 ]; then
|
||||
# Package install, not upgrade
|
||||
if [ -e %{_localstatedir}/lib/rpm-state/ovn-controller ]; then
|
||||
rm %{_localstatedir}/lib/rpm-state/ovn-controller
|
||||
/bin/systemctl start ovn-controller.service >/dev/null 2>&1 || :
|
||||
fi
|
||||
fi
|
||||
|
||||
%posttrans vtep
|
||||
if [ $1 -eq 1 ]; then
|
||||
# Package install, not upgrade
|
||||
if [ -e %{_localstatedir}/lib/rpm-state/ovn-controller-vtep ]; then
|
||||
rm %{_localstatedir}/lib/rpm-state/ovn-controller-vtep
|
||||
/bin/systemctl start ovn-controller-vtep.service >/dev/null 2>&1 || :
|
||||
fi
|
||||
fi
|
||||
|
||||
%files
|
||||
|
||||
%files docker
|
||||
%{_bindir}/ovn-docker-overlay-driver
|
||||
%{_bindir}/ovn-docker-underlay-driver
|
||||
|
||||
%files common
|
||||
%{_bindir}/ovn-nbctl
|
||||
%{_bindir}/ovn-sbctl
|
||||
%{_bindir}/ovn-trace
|
||||
%{_bindir}/ovn-detrace
|
||||
%{_datadir}/openvswitch/scripts/ovn-ctl
|
||||
%{_datadir}/openvswitch/scripts/ovndb-servers.ocf
|
||||
%{_datadir}/openvswitch/scripts/ovn-bugtool-nbctl-show
|
||||
%{_datadir}/openvswitch/scripts/ovn-bugtool-sbctl-lflow-list
|
||||
%{_datadir}/openvswitch/scripts/ovn-bugtool-sbctl-show
|
||||
%{_mandir}/man8/ovn-ctl.8*
|
||||
%{_mandir}/man8/ovn-nbctl.8*
|
||||
%{_mandir}/man8/ovn-trace.8*
|
||||
%{_mandir}/man1/ovn-detrace.1*
|
||||
%{_mandir}/man7/ovn-architecture.7*
|
||||
%{_mandir}/man8/ovn-sbctl.8*
|
||||
%{_mandir}/man5/ovn-nb.5*
|
||||
%{_mandir}/man5/ovn-sb.5*
|
||||
%{_prefix}/lib/ocf/resource.d/ovn/ovndb-servers
|
||||
|
||||
%files central
|
||||
%{_bindir}/ovn-northd
|
||||
%{_mandir}/man8/ovn-northd.8*
|
||||
%config %{_datadir}/openvswitch/ovn-nb.ovsschema
|
||||
%config %{_datadir}/openvswitch/ovn-sb.ovsschema
|
||||
%{_unitdir}/ovn-northd.service
|
||||
%{_prefix}/lib/firewalld/services/ovn-central-firewall-service.xml
|
||||
|
||||
%files host
|
||||
%{_bindir}/ovn-controller
|
||||
%{_mandir}/man8/ovn-controller.8*
|
||||
%{_unitdir}/ovn-controller.service
|
||||
%{_prefix}/lib/firewalld/services/ovn-host-firewall-service.xml
|
||||
|
||||
%files vtep
|
||||
%{_bindir}/ovn-controller-vtep
|
||||
%{_mandir}/man8/ovn-controller-vtep.8*
|
||||
%{_unitdir}/ovn-controller-vtep.service
|
||||
|
||||
%changelog
|
||||
* Thu Dec 20 2018 Numan Siddique <nusiddiq@redhat.com>
|
||||
- OVS/OVN split.
|
Loading…
x
Reference in New Issue
Block a user