Hi Sumit,

Very good questions.  I'll give you my take inline, and Ryu should jump in
as well :)

Dan

On Sun, Jul 24, 2011 at 12:50 PM, Sumit Naiksatam (snaiksat) <
snaik...@cisco.com> wrote:

> Hi Ryu, Dan, and others involved,
>
> I had some questions regarding how the code base in the
> "network-refactoring-l2" branch currently works (or is supposed to) with
> Quantum.
>

The network-refactoring-l2 branch itself doesn't actually interact with
Quantum.  It is really just a first step to providing more flexibility
within nova for how VM interfaces are created and plugged into a "switch".
 This will be very helpful for many people using Quantum, as the existing
nova code was hard-coded to use the Linux bridge.


>
> As I understand, eventually we want to get to a point where one should
> be able to run the Quantum service instead of the nova-network service.
>

I actually don't think that's necessarily true.  The existing nova-network
service does many things beyond L2 networking, namely:

- IP address management (melange project is targeting providing an improved
version of this)
- Network Node capabilities, including DHCP, L3 gateway, VPN, metadata
server, floating IP forwarding, etc (such functionality may grow to be their
own independent services, or an addon to Quantum in the future).
- Network orchestration, in the sense that it automatically attaches VIFs to
networks based on config (vlan vs. flat manager) and project assignment
(donabe aims to become the primary mechanism for this type of orchestration,
though some simple behavior equivalent to the existing flat/flatdhcp/vlan
models may make sense to stay in nova for a while).

There are some obvious next steps for D4:
- Ryu will continue the work to merge his work that makes sure that other
nova services retrieve network info via the API (not the DB).  This is a
critical step.
- We'll expose interface-ids via the nova API (likely as an extension)
- Troy's team will continue integrating the melange code with nova.
- We'll probably create an alternate NetworkManager class (and corresponding
manager utility) that uses melange for IPAM, quantum for L2 networks, and
supports several different orchestration options.


> However, we are not there yet. Currently one still needs to run the
> nova-network service in order to be able create the network on the nova
> side of things. If this understanding is correct, here are few thoughts
> and questions -
>
> (1) How are you reconciling the network created within nova, with that
> created in Quantum?
>

Current nova networks are a bit tricky, as they represent both L2 networks
and IP subnets.  A new network manager class + utility will give us the
flexibility to handle this however we want.


>
> (2) The blueprint for this branch indicates that OpenStack APIs will be
> implemented as extension APIs in Quantum. Do we have any documentation
> on this API? (Also, I did not find any implementation in the Quantum
> trunk, I am guessing we haven't done that yet, right?)
>

I'm not sure I follow what you're saying here.  I suspect you are referring
to the fact that nova-api (i.e. the OpenStack API) will expose interface-ids
as an API extension?  Those changes have not gone into nova yet, but are on
the list I mentioned above.



>
> (3) There was earlier some talk about nova using an "administrative API"
> to communicate with Quantum. Is that still the plan? In general, what is
> the thinking around how nova would communicate with Quantum?
>

There are possible uses that I have mentioned for such an admin API:

- Reporting "interface bindings" from nova to a quantum plugin.  Right now,
since the nature of the binding is specific to the nova vif-plugin itself,
we're leaving the communication of this binding info up to the plugin
itself, so you're free to do whatever you want (your quantum plugin can
expose additional APIs if needed).  If there is code to share here, we'll
probably just do it by sharing a code library (I suspect the new network
manager we build will also require the quantum client library, which I would
see an a nova dependency if using quantum).
- Communicating permission to plug a vif.  There have been a couple emails
back and forth about this on the list.  I am hoping we can use keystone for
this, which in case no direct nova/quantum communication is needed.
 Otherwise, we'll probably create an admin API for this.



>
> Thanks,
> ~Sumit.
>



-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dan Wendlandt
Nicira Networks, Inc.
www.nicira.com | www.openvswitch.org
Sr. Product Manager
cell: 650-906-2650
~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- 
Mailing list: https://launchpad.net/~netstack
Post to     : netstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~netstack
More help   : https://help.launchpad.net/ListHelp

Reply via email to