OpenStack Neutron (virtual network service)

Best Quantum plugin or OpenStack approach for controlling a switch

Asked by Sam Hague on 2012-01-26

Is there a more elaborate description of current approaches for controlling switches via Quantum or OpenStack? Take the simple case of just needing to configure VLANs for the various VM's that were created via OpenStack. Would you create a plugin that translated the Quantum APIs to the vendor specific commands for the switch? Would you try to use OpenFlow? If you used OpenFlow would you use the OpenVSwitch plugin or go OpenFlow directly to the switch? Or is there some other mechanism of writing a module for OpenStack itself to talk to the switches?

Is that the expected method going forward to be able to control switches via Quantum?

Is there a list of Quantum plugins already developed or under development? I now the git code has the plugin dir but just wondering about other plugins not in there yet.

Question information

Language:
English Edit question
Status:
Answered
For:
neutron Edit question
Assignee:
No assignee Edit question
Last query:
2012-01-26
Last reply:
2012-01-28
dan wendlandt (danwent) said : #1

Hi Sam,

Developer documentation is pretty lacking. We have the following, and you are encourage to improve it: http://wiki.openstack.org/QuantumDevelopment

You are correct that the basic task of a plugin is to translate from API calls to switch specific config. The openvswitch and Cisco plugins are two open source examples of plugins that basically do this using VLANs. The Cisco plugin may be more representative of a plugin that communicates with an existing physical switch to configure VLANs.

The quantum code contains a sqlalchemy-based library to help with common data that a plugin needs to store (e.g., the mapping between a quantum network and a VLAN). The open vswitch plugin is probably a simpler example of how to use use that data model.

There is absolutely no requirement that a quantum plugin uses openflow. Any technology, from openflow to SSH can be used to communicate between the main quantum server running the API and the switches forwarding traffic.

Making a simple plugin that configures VLANs on a physical switch should be pretty easy given the example code that exists already. Feel free to ask questions on the main netstack list as well. The list of plugins already in the open source repo is small (openvswitch, cisco), but I know of several others who have written plugins and either haven't released them yet, or are planning on keeping them proprietary. I expect a few new plugins to be contributed in the next openstack milestone.

Sam Hague (shague86) said : #2

Dan,

Thanks for the confirmation. I had seen the documentation but I think most of my confusion centered around the term networking. I hear networking and think of physical networking as opposed to what most people are intending which is VM networking.

Is there another forum where the upcoming plugins are being discussed?

Thanks, Sam

Hi Sam,

I'm afraid we don't have a forum for Quantum; we typycally use our mailing list to discuss ideas and proposals related to Quantum. We can subscribe to the mailing list directly from Launchpad, I think.

For upcoming plugins, there'a plugin based on Linux Bridge which is currently under review, which should land in Quantum trunk for the Essex release.

You can find the code at the following address: https://review.openstack.org/#change,3278

Salvatore.

dan wendlandt (danwent) said : #4

Hi Sam,

Quantum plugins can control both virtual + physical network switches. For example, the Cisco plugin uses VNLink to isolate VM traffic on the hypervisor, and physical switches are configured by Quantum to provide isolation, QoS, etc.

In terms of plugins, Salvatore is correct. The best thing to monitor is the email list. If you have questions about whether anyone is working on a plugin that does X, feel free to send an email to the list. It may be that there are people on the list that are working on something that they haven't shared yet, but would be fine unicasting you.

In addition to the Linux Bridge plugin, there are folks from the Ryu Openflow controller team (http://www.osrg.net/ryu/) that have already posted some work they did with Quantum, and we're hoping to integrate their work in Essex-4.

Dan

Can you help with this problem?

Provide an answer of your own, or ask Sam Hague for more information if necessary.

To post a message you must log in.