<div dir="ltr">Howdy!<div><br></div><div style>I have a design question regarding developing an ML2 MechanismDriver to interface with an external provisioning system. I am assuming that openstack-devel is an appropriate forum for such discussions until somebody points me in another direction :-).</div>

<div><br></div><div>Synchronization. OpenStack Networking and an add-on external SDN (etc) system need to agree on the logical definition of the network. That means the SDN system's world-view has to match the one in the OpenStack Networking database tables. The ML2 MechanismDriver is responsible for ensuring synchronization.</div>

<div><br></div><div>One way to do this is to declare that the SDN system's configuration is transient. In the event of any synchronization problem (reboot, connection restart, etc) the full configuration will be transferred from OpenStack to the SDN system. Then each further change will be sent individually and asynchronously until the next reboot/reconnect/etc.</div>
<div><br></div><div style>My understanding is that the BigSwitch plugin works this way and that the full network configuration is cached inside the Python process running the plugin and that this is used for the resynchronization step.</div>
<div style><br></div><div style>So questions..</div><div style><br></div><div style>Is this a reasonable description of how the BigSwitch plugin works?</div><div style>Is this a good design?</div><div style>Is this a reasonable way forward also for other provisioning systems e.g. Cisco, Brocade, Arista, OpenDaylight, ...?</div>
<div style>Or is there a plan to do (say) something transactional with all systems being persistent master copies?</div><div style><br></div><div style>Cheers!</div><div style>-Luke</div>
<div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 5 June 2013 15:44, Kyle Mestery (kmestery) <span dir="ltr"><<a href="mailto:kmestery@cisco.com" target="_blank">kmestery@cisco.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><br>
On Jun 5, 2013, at 5:11 AM, Luke Gorrie <<a href="mailto:luke@tail-f.com">luke@tail-f.com</a>> wrote:<br>
<br>
> Howdy!<br>
><br>
> Great work Bob & all on getting the ML2 plugin code onto master, exciting stuff :-)))<br>
><br>
> I want to use the upcoming ML2 MechanismDriver to make REST requests to an external system. Is anybody else interested in this too and planning related work? If so then perhaps we could join forces.<br>
><br>
> I am flexible with respect to the exact REST API design. In principle I would favor something as close as possible to the raw MechanismDriver API.<br>
><br>
> I am doing this work to integrate with the Tail-f Network Control System (NCS). The blueprint for this work was approved this morning for Havana. <a href="https://blueprints.launchpad.net/quantum/+spec/tailf-ncs" target="_blank">https://blueprints.launchpad.net/quantum/+spec/tailf-ncs</a><br>

><br>
> NCS will be customized to support the REST API that we develop on the OpenStack side. So there are no legacy/compatibility constraints on how the REST API needs to look from my perspective.<br>
><br>
> I am guessing that the maintainers of the BigSwitch plugin would be interested, being as that is also REST-based and may want to be updated to fit into ML2?<br>
><br>
> So please give me a ping if you are interested in MechanismDriver+REST, or point me at where I can find people who are :-)<br>
><br>
> Cheers,<br>
> -Luke<br>
><br>
</div></div>Hi Luke, Bob is organizing some sub team meetings around ML2 going forward, we'll be sure to include you in those! Right now, there are 4 blueprints open for continued ML2 work. I'm not aware of anyone doing a controller MechanismDriver yet, so you may have just signed up to be the first!<br>

<br>
Looking forward to having you a part of the ML2 team!<br>
<br>
Kyle<br>
<br>
><br>
> _______________________________________________<br>
> OpenStack-dev mailing list<br>
> <a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br>
<br>
_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</blockquote></div><br></div>