Re: [controller-dev] Clustering question

Muthukumaran Kothandaraman <mkothand@...>

Hi David,

I had earlier contemplated on Zookeeper option. Mainly because of the deployment aspect as mentioned by Giovanni, I had put it in back-burner :-)

Particularly in Zookeeper, we would require minimum 3 Zookeeper members because the cluster "consensus" has to be reached via "majority voting" and even numbers would mean "hung parliament" :-)

So, deploying ODL with isolated cluster of Zookeeper(s) could become an installation issue. My thoughts are more on these lines if we bring back Zookeeper approch

- Each ODL instance must have embedded Zookeeper client - obviously
- There must be a Zookeeper cluster of 3 members minimum
- The code in ODL must be abstracted in such a manner that modules do not see zookeeper directly. Some concocted interface like "ClusterCoordinator" must be presented to modules and
   Zookeeper client must be hidden behind this interface

No doubts there are much bigger advantages in using zookeeper,

Some immediate usecases could be

- shared configuration
- coordination in electing "MASTER" controller for switches
- common pinning location for switch <--> controller mapping (of course this overlaps a bit with what Infinispan provides so we need to take this case with a fine-toothed comb)


Muthukumaran (Muthu)
L  : 080-49141730

P(existence at t) = 1- 1/P(existence at t-1)

From:        Giovanni Meo <gmeo@...>
To:        "Bainbridge, David" <dbainbri@...>
Cc:        "dev \(controller-dev@...\)" <controller-dev@...>, "'integration-dev@...'" <integration-dev@...>
Date:        10/29/2013 03:52 PM
Subject:        Re: [controller-dev] Clustering question
Sent by:        controller-dev-bounces@...

Hi David,

yes i have looked at ZooKeeper, so the reason why i didn't pick it was because
the Zookeeper to my knowledge implements its functionality using a server-client

that means that depending on how you deploy your cluster you may have to add
more zookeper server because else the system may run in bottlenecks. That
translates in a deployment issue because when you deploy it you need to
dimension the number of zookeper servers to deploy as well, and take care to
where you connect in order to avoid to overload any of them.
Now starting from this points i looked around and run into infinispan which
allow to deploy your cluster as a P2P network because beside the meet and greet
phase the other communications happens on a full mesh.
This is a bit of history, that said if folks have a good zookeeper experience i
encourage to create an alternative based on
it so we can actually weight the pro and cons on real code, which is always eye


On 28-Oct-13 18:00, Bainbridge, David wrote:
> Giovanni,
> Thanks for this pointer. I was wondering if any thought was given to use
> something like Zookeeper to maintain the cluster information as opposed to the
> supernode construct?
> I understand that structurally this doesn't significantly change how clustering
> operates (i.e. something needs to be started and used for coordination before
> controllers are started), but using something like ZK would provide a separation
> of concerns between controller cluster management and other controller functions
> as well as potentially provide a mechanism to coordinate between controllers
> when ODL is not the only controller deployed in a network.
> Just thinking out loud ...
> mahalo,
> /david
> On 10/28/2013 03:56 AM, Giovanni Meo wrote:
>> Hi Luis,
>> apologize for it, create a wiki page with the information:
>> Please let me know if you run into issues.
>> Thanks,
>> Giovanni
>> On 28-Oct-13 04:04, Luis Gomez wrote:
>>> Hi again,
>>> I am looking for a procedure to do system test on a controller cluster. However
>>> I do not find any instruction on how to setup and verify a cluster, any idea?
>>> Thanks in advance
>>> Luis
>>> _______________________________________________
>>> controller-dev mailing list
>>> controller-dev@...
> --
> *David Bainbridge* |Principal Architect |<>
> _dbainbri@... <
mailto:dbainbri@...>_ | 3939 North 1st Street |San
> Jose, CA 95134 USA
> Direct +1.408.904.2103 |Mobile +1.978.835.0771 |Fax +1.408.904.2103

Giovanni Meo
Via del Serafico, 200                  Telephone: +390651644000
00142, Roma                            Mobile:    +393480700958
Italia                                 Fax:       +390651645917
                                       VOIP:      8-3964000
“The pessimist complains about the wind;
 the optimist expects it to change;
 the realist adjusts the sails.” -- Wm. Arthur Ward
IETF credo: "Rough consensus and running code"
controller-dev mailing list

Join { to automatically receive all group messages.