The previous content was a placeholder from 2020 stating that OVN packages needed to be split from OVS. The split has long been completed and the debian/ packaging infrastructure is fully functional.
Replace the stub with complete documentation covering both installation from distribution repositories (apt-get) and building .deb packages from source. The build dependencies are aligned with the Build-Depends in debian/control and the build instructions reflect the actual debian/rules process which requires OVSDIR to point to a built OVS source tree. Cover both Debian and Ubuntu since the steps are the same. Assisted-by: Claude Opus 4.6, OpenCode Signed-off-by: Ales Musil <[email protected]> --- Documentation/intro/install/debian.rst | 121 ++++++++++++++++++++++++- 1 file changed, 116 insertions(+), 5 deletions(-) diff --git a/Documentation/intro/install/debian.rst b/Documentation/intro/install/debian.rst index fa22b370c..2e0fbaff0 100644 --- a/Documentation/intro/install/debian.rst +++ b/Documentation/intro/install/debian.rst @@ -21,9 +21,120 @@ Avoid deeper levels because they do not render well. -================================= -Debian Packaging for OVN -================================= +============================================ +Debian/Ubuntu Packaging for OVN +============================================ -OVN packages needs to be split from OVS. This section will be -updated once it is done. +This document provides instructions for installing OVN on Debian and +Ubuntu, either from distribution packages or by building ``.deb`` +packages from source. Instructions for installing OVN from source +without packaging can be found in the :doc:`general`. + +The steps below are practically the same for Debian and Ubuntu. + +Installing from Packages +------------------------ + +Debian and Ubuntu provide pre-built OVN packages. You can install them +using ``apt-get`` as superuser. + +For a central node (runs OVN databases and ovn-northd):: + + $ sudo apt-get install ovn-central + +For each host/hypervisor (runs ovn-controller):: + + $ sudo apt-get install ovn-host + +Additional packages:: + + $ sudo apt-get install ovn-common # shared components + $ sudo apt-get install ovn-controller-vtep # VTEP gateway support + +.. note:: + The packaged version available in distributions may not be the latest + OVN release. + +Building .deb Packages from Source +---------------------------------- + +Build Requirements +~~~~~~~~~~~~~~~~~~ + +Install the standard Debian packaging tools and the OVN build +dependencies. On Debian/Ubuntu:: + + $ sudo apt-get install build-essential fakeroot devscripts + $ sudo apt-get install graphviz autoconf automake bzip2 \ + debhelper dh-autoreconf dh-python libssl-dev libtool \ + openssl procps python3-all python3-sphinx \ + python3-twisted python3-zope.interface \ + libunbound-dev libunwind-dev + +The second set of packages corresponds to the ``Build-Depends`` +list in the ``debian/control`` file of the OVN source tree. + +Bootstrapping +~~~~~~~~~~~~~ + +Refer to :ref:`general-bootstrapping`. + +Configuring +~~~~~~~~~~~ + +Refer to :ref:`general-configuring`. + +The Debian build rules configure OVN with ``--enable-ssl``, +``--enable-shared``, and ``--with-ovs-source``. If you are building +manually, make sure to prepare the OVS sources first as described in the +bootstrapping section. + +Building +~~~~~~~~ + +The ``OVSDIR`` environment variable must point to a fully configured +and built OVS source tree (i.e., one where ``./boot.sh``, +``./configure``, and ``make`` have been run) before building the +packages:: + + $ export OVSDIR=/path/to/built/ovs + +You can then build the ``.deb`` packages using ``dpkg-buildpackage``:: + + $ dpkg-buildpackage -us -uc + +Or using debuild:: + + $ debuild -us -uc + +Both methods use the ``debian/rules`` file which takes care of +configuring, building, and packaging. + +This produces the following ``.deb`` packages: + +- ``ovn-common``: Shared OVN components (ovn-nbctl, ovn-sbctl, + ovn-trace, ovn-appctl, ovn-detrace, ovn-ctl, man pages). +- ``ovn-central``: OVN DB servers and ovn-northd for the central + node. +- ``ovn-host``: ovn-controller for each host/hypervisor. +- ``ovn-controller-vtep``: ovn-controller-vtep for VTEP gateways. + +Installing +~~~~~~~~~~ + +Install the packages using ``dpkg``:: + + $ sudo dpkg -i ovn-common_*.deb + $ sudo dpkg -i ovn-central_*.deb # on central node + $ sudo dpkg -i ovn-host_*.deb # on each host + +.. note:: + ``dpkg`` does not automatically resolve dependencies. If you + encounter dependency errors, run ``sudo apt-get install -f`` + to install the missing dependencies. + +Reporting Bugs +-------------- + +Report problems to https://github.com/ovn-org/ovn/issues or [email protected]. -- 2.54.0 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
