[ovs-build] Passed: ovsrobot/ovn#1015 (series_202541 - df7a976)

Travis CI builds at travis-ci.com
Fri Sep 18 07:44:19 UTC 2020

Build Update for ovsrobot/ovn

Build: #1015
Status: Passed

Duration: 23 mins and 20 secs
Commit: df7a976 (series_202541)
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}/system-id file before running the controller.

The latter option may be more useful in container environment where
the same image may be reused for multiple controller instances, where
ovs_sysconfigdir/system-id is a volume mounted into this generic

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}/system-id 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, a new
external-ids:ovn-is-concurrent config option is introduced. It will
avoid removing "unknown" patch ports and tunnel endpoints.


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/compare/194778dcae0c^...df7a9768bdbe

View the full build log and details: https://travis-ci.com/github/ovsrobot/ovn/builds/185095781?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/28b506ad/attachment-0001.html>

More information about the build mailing list