[Bug 1843582] Re: ovn: additional systemd units requested
James Page
1843582 at bugs.launchpad.net
Mon Jun 28 09:14:03 UTC 2021
** Changed in: openvswitch (Ubuntu)
Status: In Progress => Fix Released
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to openvswitch in Ubuntu.
https://bugs.launchpad.net/bugs/1843582
Title:
ovn: additional systemd units requested
Status in openvswitch package in Ubuntu:
Fix Released
Bug description:
I am working on Juju Charms for deploying OVN.
At present the OVN components are distributed in the following binary
packages:
- ``ovn-common``
- CLI tools, man pages, scripts
- ``ovn-docker``
- Docker components
- ``ovn-host``
- Host components, the local controller to install on each
participant in a OVN network
- ``ovn-central``
- ovn-northd daemon, OVSDB database schemas for the Northbound and
Southbound databases
- ``ovn-controller-vtep``
- Controller to integrate with hardware VTEP-enabled switches
The ``ovn-central`` package contains a SysV init script that reads
some parameters from ``/etc/default/ovn-central`` and calls out to the
``/usr/share/openvswitch/scripts/ovn-ctl`` script from the ``ovn-
common`` package.
The default mode of operation for this init script is to start ovsdb-
server processes for both the Northbound and Southbound databases and
then start the ``ovn-northd`` daemon.
While working on the design of the charm [0] it has been identified
[1][2] that the Southbound DB has different scaling requirements than
the other components, and its load will be relative to the number of
transport nodes (controllers) in the system [3].
As a consequence the charm will aim to support separate placement of
the Southbound DB. To accomplish this I would need individual service
control for the ``ovn-northd`` daemon, the ``ovsdb-server`` for
Northound DB and the ``ovsdb-server`` for Southbound DB.
You get to pull most levers by controlling command line arguments through the ``OVN_CTL_OPTS`` variable in ``/etc/default/ovn-central``, including starting the ``ovn-northd`` daemon by itself.
But you do not get to individual service control of the Northbound-
and Southbound- databases.
What I propose is that we add systemd units for ``nb_ovsdb`` and ``sb_ovsdb`` which pulls in variables from /etc/default/<unit name> in similar fashion as the existing ``ovn-central`` script and then calls out to ``/usr/share/openvswitch/scripts/ovn-ctl`` with ``start_nb_ovsdb`` and ``start_sb_ovsdb`` parameters respectively.
I guess a generic approach would be to support this for all the start
and stop targets the ``ovn-ctl`` script supports, but I only have use
for individual control of ``ovn-northd``, ``nb_ovsdb`` and
``sb_ovsdb`` at this point.
A argument for not just using the ``ovn-ctl`` script directly from the charm is that there are well established workflows in our charm frameworks for service control through init scripts, and it would be useful to be able to use that directly.
Side note: the OVN project have recently moved into its own set of repositories [4] and we may need to consider creating a separate source package for it at some point.
0: https://specs.openstack.org/openstack/charm-specs/specs/train/approved/charm-openstack-ovn.html
1: https://review.opendev.org/#/c/680415/
2: https://pbs.twimg.com/media/EDr3IPXXsAAg2Vb.jpg
3: http://www.openvswitch.org/support/dist-docs/ovn-architecture.7.html
4: https://github.com/ovn-org/
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openvswitch/+bug/1843582/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list