diff --git a/ovn/.gitignore b/ovn/.gitignore index e354a82d3..9ddcbb8ee 100644 --- a/ovn/.gitignore +++ b/ovn/.gitignore @@ -1,17 +1,17 @@ -/ovn.5 -/ovn.gv -/ovn.pic /ovn-architecture.7 /ovn-controller.8 -/ovn-idl.c -/ovn-idl.h -/ovn-idl.ovsidl /ovn-nb.5 /ovn-nb.gv /ovn-nb.pic /ovn-nb-idl.c /ovn-nb-idl.h /ovn-nb-idl.ovsidl +/ovn-sb.5 +/ovn-sb.gv +/ovn-sb.pic +/ovn-sb-idl.c +/ovn-sb-idl.h +/ovn-sb-idl.ovsidl /ovn-nbctl /ovn-nbctl.8 /ovn-nbd diff --git a/ovn/TODO b/ovn/TODO index 43a867cf2..7bd89dfca 100644 --- a/ovn/TODO +++ b/ovn/TODO @@ -159,7 +159,7 @@ We can probably use the same default as ovs-vsctl. -*** Location of OVN database. +*** Location of OVN Southbound database. Probably no useful default. @@ -183,16 +183,16 @@ Initially, the simplest way to do this is probably to write straight C code to do a full translation of the entire OVN_Northbound database into the format for the Pipeline table in - the OVN database. As scale increases, this will probably be too - inefficient since a small change in OVN_Northbound requires a full - recomputation. At that point, we probably want to adopt a more - systematic approach, such as something akin to the "nlog" system - used in NVP (see Koponen et al. "Network Virtualization in - Multi-tenant Datacenters", NSDI 2014). + the OVN Southbound database. As scale increases, this will probably + be too inefficient since a small change in OVN_Northbound requires a + full recomputation. At that point, we probably want to adopt a more + systematic approach, such as something akin to the "nlog" system used + in NVP (see Koponen et al. "Network Virtualization in Multi-tenant + Datacenters", NSDI 2014). ** Push logical datapath flows to Pipeline table. -** Monitor OVN database Bindings table. +** Monitor OVN Southbound database Bindings table. Sync rows in the OVN Bindings table to the "up" column in the OVN_Northbound database. @@ -208,9 +208,9 @@ ** Scaling number of connections. In typical use today a given ovsdb-server has only a single-digit - number of simultaneous connections. The OVN database will have a - connection from every hypervisor. This use case needs testing and - probably coding work. Here are some possible improvements. + number of simultaneous connections. The OVN Southbound database will + have a connection from every hypervisor. This use case needs testing + and probably coding work. Here are some possible improvements. *** Reducing amount of data sent to clients. diff --git a/ovn/automake.mk b/ovn/automake.mk index 426e54785..180352e52 100644 --- a/ovn/automake.mk +++ b/ovn/automake.mk @@ -1,35 +1,35 @@ -# OVN schema and IDL -EXTRA_DIST += ovn/ovn.ovsschema -pkgdata_DATA += ovn/ovn.ovsschema +# OVN southbound schema and IDL +EXTRA_DIST += ovn/ovn-sb.ovsschema +pkgdata_DATA += ovn/ovn-sb.ovsschema -# OVN E-R diagram +# OVN southbound E-R diagram # # If "python" or "dot" is not available, then we do not add graphical diagram # to the documentation. if HAVE_PYTHON if HAVE_DOT -ovn/ovn.gv: ovsdb/ovsdb-dot.in ovn/ovn.ovsschema - $(AM_V_GEN)$(OVSDB_DOT) --no-arrows $(srcdir)/ovn/ovn.ovsschema > $@ -ovn/ovn.pic: ovn/ovn.gv ovsdb/dot2pic - $(AM_V_GEN)(dot -T plain < ovn/ovn.gv | $(PERL) $(srcdir)/ovsdb/dot2pic -f 3) > $@.tmp && \ +ovn/ovn-sb.gv: ovsdb/ovsdb-dot.in ovn/ovn-sb.ovsschema + $(AM_V_GEN)$(OVSDB_DOT) --no-arrows $(srcdir)/ovn/ovn-sb.ovsschema > $@ +ovn/ovn-sb.pic: ovn/ovn-sb.gv ovsdb/dot2pic + $(AM_V_GEN)(dot -T plain < ovn/ovn-sb.gv | $(PERL) $(srcdir)/ovsdb/dot2pic -f 3) > $@.tmp && \ mv $@.tmp $@ -OVN_PIC = ovn/ovn.pic -OVN_DOT_DIAGRAM_ARG = --er-diagram=$(OVN_PIC) -DISTCLEANFILES += ovn/ovn.gv ovn/ovn.pic +OVN_SB_PIC = ovn/ovn-sb.pic +OVN_SB_DOT_DIAGRAM_ARG = --er-diagram=$(OVN_SB_PIC) +DISTCLEANFILES += ovn/ovn-sb.gv ovn/ovn-sb.pic endif endif -# OVN schema documentation -EXTRA_DIST += ovn/ovn.xml -DISTCLEANFILES += ovn/ovn.5 -man_MANS += ovn/ovn.5 -ovn/ovn.5: \ - ovsdb/ovsdb-doc ovn/ovn.xml ovn/ovn.ovsschema $(OVN_PIC) +# OVN southbound schema documentation +EXTRA_DIST += ovn/ovn-sb.xml +DISTCLEANFILES += ovn/ovn-sb.5 +man_MANS += ovn/ovn-sb.5 +ovn/ovn-sb.5: \ + ovsdb/ovsdb-doc ovn/ovn-sb.xml ovn/ovn-sb.ovsschema $(OVN_SB_PIC) $(AM_V_GEN)$(OVSDB_DOC) \ - $(OVN_DOT_DIAGRAM_ARG) \ + $(OVN_SB_DOT_DIAGRAM_ARG) \ --version=$(VERSION) \ - $(srcdir)/ovn/ovn.ovsschema \ - $(srcdir)/ovn/ovn.xml > $@.tmp && \ + $(srcdir)/ovn/ovn-sb.ovsschema \ + $(srcdir)/ovn/ovn-sb.xml > $@.tmp && \ mv $@.tmp $@ # OVN northbound schema and IDL @@ -78,19 +78,19 @@ EXTRA_DIST += \ ovn/TODO \ ovn/CONTAINERS.OpenStack.md -# ovn IDL +# ovn-sb IDL OVSIDL_BUILT += \ - $(srcdir)/ovn/ovn-idl.c \ - $(srcdir)/ovn/ovn-idl.h \ - $(srcdir)/ovn/ovn.ovsidl -EXTRA_DIST += $(srcdir)/ovn/ovn-idl.ann -OVN_IDL_FILES = \ - $(srcdir)/ovn/ovn.ovsschema \ - $(srcdir)/ovn/ovn-idl.ann -$(srcdir)/ovn/ovn-idl.ovsidl: $(OVN_IDL_FILES) - $(AM_V_GEN)$(OVSDB_IDLC) annotate $(OVN_IDL_FILES) > $@.tmp && \ + $(srcdir)/ovn/ovn-sb-idl.c \ + $(srcdir)/ovn/ovn-sb-idl.h \ + $(srcdir)/ovn/ovn-sb.ovsidl +EXTRA_DIST += $(srcdir)/ovn/ovn-sb-idl.ann +OVN_SB_IDL_FILES = \ + $(srcdir)/ovn/ovn-sb.ovsschema \ + $(srcdir)/ovn/ovn-sb-idl.ann +$(srcdir)/ovn/ovn-sb-idl.ovsidl: $(OVN_SB_IDL_FILES) + $(AM_V_GEN)$(OVSDB_IDLC) annotate $(OVN_SB_IDL_FILES) > $@.tmp && \ mv $@.tmp $@ -CLEANFILES += ovn/ovn-idl.c ovn/ovn-idl.h +CLEANFILES += ovn/ovn-sb-idl.c ovn/ovn-sb-idl.h # ovn-nb IDL OVSIDL_BUILT += \ @@ -113,8 +113,8 @@ ovn_libovn_la_LDFLAGS = \ -Wl,--version-script=$(top_builddir)/ovn/libovn.sym \ $(AM_LDFLAGS) ovn_libovn_la_SOURCES = \ - ovn/ovn-idl.c \ - ovn/ovn-idl.h \ + ovn/ovn-sb-idl.c \ + ovn/ovn-sb-idl.h \ ovn/ovn-nb-idl.c \ ovn/ovn-nb-idl.h diff --git a/ovn/ovn-architecture.7.xml b/ovn/ovn-architecture.7.xml index 035527fa0..57e3042e0 100644 --- a/ovn/ovn-architecture.7.xml +++ b/ovn/ovn-architecture.7.xml @@ -109,21 +109,21 @@
  • ovn-nbd(8) connects to the OVN Northbound Database above it - and the OVN Database below it. It translates the logical network - configuration in terms of conventional network concepts, taken from the - OVN Northbound Database, into logical datapath flows in the OVN Database - below it. + and the OVN Southbound Database below it. It translates the + logical network configuration in terms of conventional network + concepts, taken from the OVN Northbound Database, into logical + datapath flows in the OVN Southbound Database below it.
  • - The OVN Database is the center of the system. Its clients - are ovn-nbd(8) above it and ovn-controller(8) - on every transport node below it. + The OVN Southbound Database is the center of the system. + Its clients are ovn-nbd(8) above it and + ovn-controller(8) on every transport node below it.

    - The OVN Database contains three kinds of data: Physical + The OVN Southbound Database contains three kinds of data: Physical Network (PN) tables that specify how to reach hypervisor and other nodes, Logical Network (LN) tables that describe the logical network in terms of ``logical datapath flows,'' and @@ -134,9 +134,10 @@

    - OVN Database performance must scale with the number of transport nodes. - This will likely require some work on ovsdb-server(1) as - we encounter bottlenecks. Clustering for availability may be needed. + OVN Southbound Database performance must scale with the number of + transport nodes. This will likely require some work on + ovsdb-server(1) as we encounter bottlenecks. + Clustering for availability may be needed.

  • @@ -148,13 +149,14 @@