On Thu, Feb 19, 2015 at 04:52:44PM -0500, Russell Bryant wrote: > On 02/19/2015 04:20 PM, Thomas Graf wrote: > > This is a first high level review. I'll be digging into the schema > > next. > > > > On 02/19/15 at 11:16am, Ben Pfaff wrote: > >> + <ul> > >> + <li> > >> + The Cloud Management System, as defined above. > >> + </li> > >> + > >> + <li> > >> + <p> > >> + The <dfn>OVN/CMS Plugin</dfn> is the component of the CMS that > >> + interfaces to OVN. In OpenStack, this is a Neutron plugin. > >> + The plugin's main purpose is to translate the CMS's notion of logical > >> + network configuration, stored in the CMS's configuration database in a > >> + CMS-specific format, into an intermediate representation understood by > >> + OVN. > >> + </p> > > > > Does it make sense to consider a multi writer CMS scenario where > > multiple CMS managed a single physical network? An assumption could > > be made that a particular hypervisor is only controlled through a > > single CMS and that only the logical network and binding would require > > some form of standardization. > > > > I don't have a good practical example at this point so this is mostly > > a brain exercise but I can't come up for a reason why this may not > > come up as a future requirement. > > I think it makes sense to consider a multi-writer scenario. I was > trying to see if I could come up with a reason that scenario would be a > problem. Do you see any? > > The only thing I came up with was the need for each CMS to note which > resources are theirs vs. managed by something else. The inclusion of > "external_ids" in every table in the OVN northbound schema seems to > cover that bit.
If you or Thomas have an idea of how this might work, then let's talk a bit more about details. Until then, how about the following incremental diff to at least capture this thought? diff --git a/ovn/ovn-architecture.7.xml b/ovn/ovn-architecture.7.xml index 303865e..f2ca268 100644 --- a/ovn/ovn-architecture.7.xml +++ b/ovn/ovn-architecture.7.xml @@ -19,11 +19,18 @@ <ul> <li> - A <dfn>Cloud Management System</dfn> (<dfn>CMS</dfn>), which is - OVN's ultimate client (via its users and administrators). OVN - integration requires installing a CMS-specific plugin and - related software (see below). OVN initially targets OpenStack - as CMS. + <p> + A <dfn>Cloud Management System</dfn> (<dfn>CMS</dfn>), which is + OVN's ultimate client (via its users and administrators). OVN + integration requires installing a CMS-specific plugin and + related software (see below). OVN initially targets OpenStack + as CMS. + </p> + + <p> + We generally speak of ``the'' CMS, but one can imagine scenarios in + which multiple CMSes manage different parts of an OVN deployment. + </p> </li> <li> diff --git a/ovn/ovn-nb.xml b/ovn/ovn-nb.xml index 9a2423a..dcd9651 100644 --- a/ovn/ovn-nb.xml +++ b/ovn/ovn-nb.xml @@ -8,6 +8,11 @@ db="OVN"/> database. </p> + <p> + We generally speak of ``the'' CMS, but one can imagine scenarios in + which multiple CMSes manage different parts of an OVN deployment. + </p> + <h2>External IDs</h2> <p> > >> + <li> > >> + Eventually, a user powers off the VM that owns the VIF. On the > >> + hypervisor where the VM was powered on, the VIF is deleted from the > >> OVN > >> + integration bridge. > >> + </li> > >> > > I think it should also be noted who is responsible for cleaning up > > this non-persistent data in case the power off does not occur, e.g. > > system crash of he hypervisor. I assume it's the CMS integration plugin > > running on the hypervisor. It could also be part of the ovn-controller > > system bootup script. > > I think making this the responsibility of the CMS integration makes > sense. Taking OpenStack as an example, I would think OpenStack > Neutron's db is the source of truth of what the current state should be. > It will have to include the ability to do a sync in response to any > event that could have put them out of sync and make sure the data in OVN > matches. That would include this sort of cleanup. In the case of a > hypervisor crash, something should still come around and tell Neutron > that the associated ports need to be deleted. From OVN's point of view a crashed hypervisor is just unreachable, I think. The row for a permanently down hypervisor needs to be deleted eventually; ovs-nbd could handle that, I guess, probably by adding an occasionally updated "timestamp" or similar field. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev