[ovs-discuss] Openvswitch manager

Semba, Kurt ksemba at enterasys.com
Fri Nov 25 14:57:13 UTC 2011


Hi guys,

I'm trying to build some sort of simple central manager for openvswitches running on XenServers. I was looking at existing approaches and found:
- OpenStack: they seem to be requiring an agent running on each XenServer. This agent actively polls a central management DB provided by OpenStack and applies any new settings via calling ovs commands locally on each server
- Citrix Distributed Virtual Switch: no idea how it works.

I'd first like to see if I could get this working remotely without having to install an agent on each XenServer but the provided JSON-RPC protocol seems a bit complex to get it working from my Java application. I only found one Java library for JSON-RPC that is not build for HTTP web services (my Java application is not a web service - it would act mainly as a client, actively performing JSON-RPC calls to the OVSDB server) and it was part of RabbitMQ.

First things first: to get a connection between my app (using the RabbitMQ library) to a remote XenServer OVSDB server, I guess I'd need to change how the openvswitch is running on a XenServer to accept remote connections - right? Currently, this is how it is running on a newly build XenServer 6:

5120 ?        S<     0:24 ovsdb-server: monitoring pid 5121 (healthy)                                                                                                                                                                                                                                                                                                                                                                    
5121 ?        S<s    0:51 /usr/sbin/ovsdb-server /etc/openvswitch/conf.db --remote=punix:/var/run/openvswitch/db.sock --remote=db:Open_vSwitch,manager_options --private-key=db:SSL,private_key --certificate=db:SSL,certificate --bootstrap-ca-cert=db:SSL,ca_cert -vANY:CONSOLE:EMER -vANY:SYSLOG:INFO --log-file=/var/log/openvswitch/ovsdb-server.log -vANY:FILE:EMER --pidfile=/var/run/openvswitch/ovsdb-server.pid --detach --monitor --no-chdir
 5135 ?        S<     0:24 ovs-vswitchd: monitoring pid 5136 (healthy)                                                                        
 5136 ?        S<s    3:41 /usr/sbin/ovs-vswitchd --mlockall unix:/var/run/openvswitch/db.sock -vANY:CONSOLE:EMER -vANY:SYSLOG:INFO --log-file=/var/log/openvswitch/ovs-vswitchd.log -vANY:FILE:EMER --pidfile=/var/run/openvswitch/ovs-vswitchd.pid --detach --monitor --no-chdir

Could you give me simple example on how to run ovsdb-server remotely (maybe first without ssl)? Will I break anything within the XenServer XAPI functionality if I change this? 

Or should I rather dismiss my approach and also create an agent-based approach?

Thanks in advance,
Kurt



More information about the discuss mailing list