[ovs-build] Passed: ovsrobot/ovn#1030 (series_202759 - 3fce8d2)

Travis CI builds at travis-ci.com
Fri Sep 18 21:09:36 UTC 2020

Build Update for ovsrobot/ovn

Build: #1030
Status: Passed

Duration: 22 mins and 48 secs
Commit: 3fce8d2 (series_202759)
Author: Ihar Hrachyshka
Message: Allow to run multiple controllers on the same machine

User stories:
1) NFV: an admin wants to run two separate instances of OVN controller
   using the same database but configuring ports on different bridges.
   Some of these bridges may use DPDK while others may not.

2) Parallel OVN instances: an admin wants to run two separate
   instances of OVN controller using different databases. The
   instances are completely independent and serve different consumers.
   For example, the same machine runs both OpenStack and OpenShift
   stacks, each running its own separate OVN stack.

To serve these use cases, several features should be added to

- use different database configuration for multiple controllers;
- customize chassis name used by controller.


For each of the following database configuration options, their
extended chassis specific counterparts are introduced:


For example,

external_ids:ovn-bridge -> external_ids:ovn-bridge-<chassis-name>=
external_ids:ovn-encap-ip -> external_ids:ovn-encap-ip-<chassis-name>=
external_ids:ovn-remote -> external_ids:ovn-remote-<chassis-name>=

Priority wise, <chassis-name> specific options take precedence.


For system-id,

You can now pass intended chassis name via CLI argument:

  $ ovn-controller ... -n <chassis_name>

Alternatively, you can configure a chassis name by putting it into the
${ovs_sysconfdir}/ovn/system-id-override file before running the

The latter option may be more useful in container environment where
the same image may be reused for multiple controller instances, where
ovs_sysconfigdir/ovn/system-id-override is a volume mounted into this
generic image. The override file is read once on startup. If you want
to apply a new chassis name to a controller instance, restart it to
reread the file.

Priority wise, this is the order in which different means to configure
the chassis name are used:

- ovn-controller ... -n <chassis_name> CLI argument.
- ${ovs_sysconfdir}/ovn/system-id-override file;
- external_ids:system-id= ovsdb option;


Concurrent chassis running on the same host may inadvertantly remove
patch ports that belong to their peer chassis. To avoid that, patch
ports are now tagged in external-ids:owner with the appropriate
chassis name, and only patch ports that belong to the chassis are
touched when cleaning up. Also, now only tunnels on the active
integration bridge are cleaned up.


Note: this patch assumes that each chassis has its own unique IP.
Future work may consider adding support to specify custom port numbers
for tunneling that would allow to reuse the same IP address for
multiple chassis running on the same host. This work is out of scope
for this patch.

Signed-off-by: Ihar Hrachyshka <ihrachys at redhat.com>
Signed-off-by: 0-day Robot <robot at bytheb.org>

View the changeset: https://github.com/ovsrobot/ovn/commit/3fce8d2dafcd

View the full build log and details: https://travis-ci.com/github/ovsrobot/ovn/builds/185250079?utm_medium=notification&utm_source=email


You can unsubscribe from build emails from the ovsrobot/ovn repository going to https://travis-ci.com/account/preferences/unsubscribe?repository=9136199&utm_medium=notification&utm_source=email.
Or unsubscribe from *all* email updating your settings at https://travis-ci.com/account/preferences/unsubscribe?utm_medium=notification&utm_source=email.
Or configure specific recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-build/attachments/20200918/be6e785e/attachment.html>

More information about the build mailing list