Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

how does ml2 work specifically?

I'm trying to understand how the ml2 works. I'm kinda new to openstack. I was reading/watching these:

https://www.youtube.com/watch?v=whmcQ-vHams https://www.youtube.com/watch?v=37CTb9KJ3x8 https://www.youtube.com/watch?v=0APNbgiRD8o https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0ahUKEwix046Ao5HLAhXM1CYKHf4VD-IQFggoMAE&url=https%3A%2F%2Fwww.openstack.org%2Fassets%2Fpresentation-media%2FML2-Past-Present-and-Future.pptx&usg=AFQjCNH0lpW2yC6UnTOqspOq1oF2mJZ2Vw&sig2=Dag2zt5HtrpokGU8RoH9Ww&bvm=bv.115277099,d.eWE&cad=rja https://wiki.openstack.org/wiki/Neutron/ML2

Let's say we have 1 Network node, and 2 compute nodes. compute-1 node is running OVS and compute-2 linuxbridge.

From what I understand:

User instantiates a VM.
Nova finds the right compute host, let\'s say the one with the OVS (compute-1), and instructs Neutron-server accordingly.
Now, from what I understand, Neutron server has an ML2 plugin.
This plugin has to instruct the Neutron agent running on the compute host.
The Neutron agent is the one that generates the openflow/ovsdb rules on the compute host.
So the ML2 plugin on the Neutron-server is using a Mechanism driver. If it communicates with compute-1, it uses the openvswitch MechDriver.

Does this mean that the MechDriver is only relevant on a network node? The reason I ask is that I think I saw it was used on the compute host as well in the conf file. Or I did not understand anything, and the Mechdriver is relevant to the Neutron agent and not to the server??