> Long term, I think AMQP could be used more widely, but I'd prefer Speaking of the long run, don't forget about Burrow (which may eventually replace AMQP in some cases):
http://burrow.openstack.org/introduction.html As others have suggested, I think a focus on the REST interfaces for communication between top-level components is probably the best model to focus on initially. At Your Service, -- Mark T. Voelker Manager, Software Development Systems Development Organization mvoel...@cisco.com Phone: +1 919 392 4326 Cisco Systems, Inc. United States Cisco.com - http://www.cisco.com This email may contain confidential and privileged material for the sole use of the intended recipient. Any review, use, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender by reply email and delete all copies of this message. Cisco Systems, Inc. Registration Address: 170 West Tasman Drive, San Jose, CA 95134 Place of Registration: California, USA For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/index.html On Mon, 2011-07-25 at 18:18 -0700, Dan Wendlandt wrote: > Hi Sumit, > > On Mon, Jul 25, 2011 at 10:30 AM, Sumit Naiksatam (snaiksat) > <snaik...@cisco.com> wrote: > (4) This last one is probably not specific to > nova-refactoring – Dan mentioned the use of Quantum Client > library as a possible way to communicate between nova and > Quantum. Other nova services use AMQP to exchange messages. I > am just wondering if that is an option as well in > communicating between nova and Quantum. > > > > > That's a good question and one we've discussed internally as well. My > understanding is that nova uses AMQP to communicate between its > various components (nova-api, nova-schedule, nova-network, > nova-compute), but currently communication to different stand-alone > OpenStack services (e.g., Glance) occur via well-defined RESTful web > services. This was the starting point for the Quantum design based on > comments made during the design summit, and I think it is the right > step (at least initially) to cement Quantum as a stand-alone service. > That said, nothing would prevent you from using AMQP to communicate > between your Quantum plugin and a plugin-specific agent that might be > running on a hypervisor, since this is entirely within the plugin. > Long term, I think AMQP could be used more widely, but I'd prefer > that we at least first focus on making sure the RESTful interface is > solid (adding things like authentication, etc.) before looking at > expanding. > > > Dan > > > > > > Thanks, > > ~Sumit. > > > > From: Ishimoto, Ryu [mailto:r...@midokura.jp] > Sent: Monday, July 25, 2011 4:58 AM > To: Sumit Naiksatam (snaiksat) > Cc: Dan Wendlandt; netstack@lists.launchpad.net > > > > Subject: Re: "network-refactoring-l2" branch, and Quantum > > > > Hi Sumit, > > > > > Comments inline > > Thanks Dan for your detailed response. My question was > indeed based on the understanding that the current > nova network managers (in the network service) do > perform some L3/DHCP/VPN configurations apart from L2 > configuration. As of today’s implementation in the > network-refactoring-l2 branch, one would need to run > the nova-network service configured with either one of > Flat/DHCP/VLANManagers even when running Quantum as a > separate service, right? If that is the case, how does > one correlate an entry in the network table in the > nova database, with a network created in Quantum? (I > do realize that one could write a different network > manager within nova, but my question is more in the > context of what is available today.) > > > > > > Because Nova still relies on certain features provided by the > Nova network managers(like IP management), you have to run one > of Flat/DHCP/VlanManagers as a network service, or define your > own manager. I understand the confusion about the correlation > between Networks in Nova and Quantum, and I don't think this > topic has been adequately discussed, so might as well start > here :-) > > > > > > The confusion comes from the fact that Nova Network includes > both L3 and L2 information. As far as I understand it, when > integrating with Quantum, the L2 data is ignored. However, > since currently the IP management is still being done by the > network managers, for Quantum to work with Nova L3 networking, > these Network records must still exist to act as subnets in > which the VIFs get their IP addresses from. This means that > Networks in Quantum and Nova are managed separately, and mean > different things. Dan, please comment if you were thinking > something different. > > > > > > I am guessing that the current approach is to use the > Flat/DHCP/VLANManger to configure the L3/DHCP/VPN > artifacts, and to use Quantum to configure the L2 > network (in cases where it’s not a Linux bridge). > > > > > > The network host, when you run one of the existing Nova > network managers, still uses Linux bridge and VLAN to set up > L2 connectivity. This should be eventually refactored, but > for now, one could extend the NetworkManager class to setup L2 > networking on the network host to match that of the VIF > plugins. > > > > > > > > But, I did also want to ask, as to what is the > thinking around nova communicating with Quantum (if > required). You have rightly pointed out “reporting the > interface binding” as one of the cases when this might > need to be done. Another case wherein I think this > might be relevant is if the VIF driver (within nova > virt layer) needs some information about the network > from Quantum. There would need to be a communication > channel between the VIF driver and Quantum to achieve > this. I believe your suggestion is that in any of > these cases, the Quantum client library can be used to > communicate with the Quantum API (either core or > extensions). > > > > > > I think we can do either: > > > * Have the VIF driver directly communicate with Quantum > to get the relevant data at the time of 'plugging' in > the VIF in the virt layer. > * At the time in which the compute manager gets network > information from the network > manager(allocate_for_instance), have the extended > Quantum-aware network manager get the relevant data > from Quantum, and return it to the compute manager, > which in turn passes this data down to the virt > layer(network_info dictionary). > The first one is easier to implement, but you will end up with > a dependency of a particular VIF type(802.1Qbh) to a Quantum > service. > > > > > > > > As for the part on APIs which was not clear in my > email, yes I was referring to the “nova-api (i.e. the > OpenStack API) will expose interface-ids as an API > extension”, as you point out. I believe, the extension > referred to here is on the nova API side (and not on > the Quantum side as my email seemed to suggest), > right? > > > > > > Right, the exposure of interface IDs will be done through > Nova's OpenStack API extension. I will get this extension in > for the next milestone. > > > > > > Hope that helped! > > > > > > Thanks, > > > Ryu > > > > > > > > Thanks, > > ~Sumit. > > > > From: Dan Wendlandt [mailto:d...@nicira.com] > Sent: Sunday, July 24, 2011 10:46 PM > To: Sumit Naiksatam (snaiksat) > Cc: Ishimoto, Ryu; netstack@lists.launchpad.net > Subject: Re: "network-refactoring-l2" branch, and > Quantum > > > > > 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 > ~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > > > > > > > -- > ~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Dan Wendlandt > Nicira Networks, Inc. > www.nicira.com | www.openvswitch.org > Sr. Product Manager > cell: 650-906-2650 > ~~~~~~~~~~~~~~~~~~~~~~~~~~~ >
signature.asc
Description: This is a digitally signed message part
-- Mailing list: https://launchpad.net/~netstack Post to : netstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~netstack More help : https://help.launchpad.net/ListHelp