If you want to know how exactly ML2 plugin which is working on neutron server is communicating with openvswitch agents,you shoud read code: rpc.py /plugin.py /ovs_neutron_agent.py
In rpc.py, define functions for rpc. RpcCallbacks class define some rpc that agent send to Ml2 plugin. AgentNotifierApi class define some rpc that Ml2 plugin send to agent In plugin.py,you should pay close attention to "def _setup_rpc(self)" Ml2 plugin send rpc to agent (agent process rpc from plugin) Network_delete Port_update Security_groups_rule_updated Security_groups_member_updated Security_groups_provider_updated Tunnel_update Ml2 plugin process rpc from agent (agent send rpc to pulgin) Report_state Get_device_details Update_device_down Update_device_up Tunnel_sync Security_group_runles_for_devices >Re: [openstack-dev] Neutron ML2 and openvswitch agent >Sławek Kapłoński Tue, 25 Feb 2014 12:31:54 -0800 >Hello, >Trinath, this presentation I saw before You send me it. There is nice >explanation what methods are (and should be) in type driver and mech driver >but I need exactly that information what sent me Assaf. Thanks both of You for >Your help :) -- >Best regards >Sławek Kapłoński >Dnia wtorek, 25 lutego 2014 12:18:50 Assaf Muller pisze: > ----- Original Message ----- > > > Hi > > > > Hope this helps > > > > http://fr.slideshare.net/mestery/modular-layer-2-in-openstack-neutron > > > > ___ > > > > Trinath Somanchi > > > > _____________________________________ > > From: Sławek Kapłoński [sla...@kaplonski.pl] > > Sent: Tuesday, February 25, 2014 9:24 PM > > To: openstack-dev@lists.openstack.org > > Subject: [openstack-dev] Neutron ML2 and openvswitch agent > > > > Hello, > > > > I have question to You guys. Can someone explain me (or send to link > > with such explanation) how exactly ML2 plugin which is working on > > neutron server is communicating with compute hosts with openvswitch > > agents? > > Maybe this will set you on your way: > ml2/plugin.py:Ml2Plugin.update_port uses _notify_port_updated, which then > uses ml2/rpc.py:AgentNotifierApi.port_update, which makes an RPC call with > the topic stated in that file. > > When the message is received by the OVS agent, it calls: > neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:OVSNeutronAgent.port_ > update. > > I suppose that this is working with rabbitmq queues but I need > > to add own function which will be called in this agent and I don't know > > how to do that. It would be perfect if such think will be possible with > > writing for example new mechanical driver in ML2 plugin (but how?). > > Thanks in advance for any help from You :) > > > > -- > > Best regards > > Slawek Kaplonski > > sla...@kaplonski.pl > > > > _______________________________________________ > > OpenStack-dev mailing list > > OpenStack-dev@lists.openstack.org > > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > > > > > > > > _______________________________________________ > > OpenStack-dev mailing list > > OpenStack-dev@lists.openstack.org > > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > > _______________________________________________ > OpenStack-dev mailing list > OpenStack-dev@lists.openstack.org > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev _______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev