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
[email protected]
http://openvswitch.org/mailman/listinfo/dev