← Back to team overview

openstack team mailing list archive

Re: OpenStack Quantum plugins

 

Hi Dan,

Thanks for replying. There are few more questions:
 


I am trying to learn the functionality of Quantum plugins used in 
OpenStack. I have read through the Quantum Admin Guide and had few 
basic/quick question about quantum and OVS interaction with it:




1) OVS can have ports in which vNICS can be plugged, so why does it need
 to use an integration bridge for connecting all VMs on the same node to
 a network?

I'm not sure I follow what question you're asking.  When OVS is running on a host, it has one or more "bridges", and bridges have "ports".  A linux device representing the vNIC must be added as a port of a bridge being managed by the Quantum plugin.  We call this bridge the "integration bridge".   The Quantum plugin can then configure the ports and bridges appropriately to forward traffic based on the logical model created via the Quantum API.  Can you be more precise about what you're asking here? 


In short it means that the OVS is managing the linux bridges and the linux devices representing vNICs must be added to these bridges (Does Quantum manager adds these devices to bridges?). And when you say that quantum plugin configures the ports and bridges appropriately to forward traffic, you mean that it updates the database and then quantum agent then assures the correct mapping of ports/network ids to logical networks at the switch level(by adding flow entries to vSwitch? or by adding the vNICs to right bridges, as there is one bridge per tenant's network on compute node). Right?
 


2) The OVS quantum plugin seems to implement the core API functions and 
(viewing the code) I concluded that it just makes maintains the logical 
mappings e.g. b/w net IDs and VLAN IDs in a database. So how is this 
mapping implemented on the actual ports of OVS? Is it the OVS quantum 
agent responsible for directing the packets to correct input/output 
ports based on the updates that it gets from the database?

In VLAN-mode, its even simpler than that.  The agent simply puts each port as a VLAN access port for the right VLAN, based on the database, and then has OVS perform standard L2 learning to forward packets.  

 
good to know.




3) The quantum admin guide says that the nova client will be the main
 user of quantum and will interact with it via REST API, so it would be nice if someone can point me to the code (file path name etc.) where this happens.

This is the QuantumManager code in Nova: https://github.com/openstack/nova/tree/master/nova/network/quantum


One word of warning: this code will be being simplified and largely removed in Folsom, so while its useful to look at it to learn about Quantum, I'd ask around before investing the time to make significant changes to the code.  



PS: What is the purpose of Quantum Manager in this architecture and where should I look for its code? 



Thanks for the reference. I have looked at the code and just to affirm my understanding please confirm/correct/answer the following:
Quantum manager is responsible for configuring the network for new instances that spin up. When a tenant adds a port to his logical network the request will be forwarded to this manager by Nova and then Manager (using quantum client) would talk to quantum service/server (where can I see its code?) with the REST API. According to documentation, the quantum service is responsible for loading the plugin and passing the REST API calls to the plugin. The plugin then updates the database. Rest of the work is done by quantum agent.

see above :)
Thanks again for clarification. Since, I am still trying to understand the data flow, please pardon me for questions that are confusing.
Salman
 

 		 	   		  

_______________________________________________

Mailing list: https://launchpad.net/~openstack

Post to     : openstack@xxxxxxxxxxxxxxxxxxx

Unsubscribe : https://launchpad.net/~openstack

More help   : https://help.launchpad.net/ListHelp




-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dan Wendlandt Nicira, Inc: www.nicira.com
twitter: danwendlandt


~~~~~~~~~~~~~~~~~~~~~~~~~~~


 		 	   		  

Follow ups

References