Inline

From: Muthukumaran K [mailto:muthukumara...@ericsson.com]
Sent: Thursday, August 25, 2016 11:06 AM
To: Sela, Guy <guy.s...@hpe.com>; Muthukumaran K <muthukumara...@ericsson.com>; 
mdsal-...@lists.opendaylight.org; controller-dev@lists.opendaylight.org
Cc: Alfasi, Shlomi <shlomi.alf...@hpe.com>; Cohen, Elad <elad.coh...@hpe.com>
Subject: RE: Invoking MD-SAL RPC's from outside the cluster

Hi Guy ,

>>> Is it enough that the external ODL and the 3 ODLs will be connected with an 
>>> AKKA cluster, or does it have to be part of the ODL cluster, or maybe it's 
>>> just the same?
For routed-rpc, it has to be part of ODL cluster because the routee address map 
is synchronized via ODL's own gossip mechanism using Akka cluster as 'transport'
               <GS> got it.
>>> in an async way.
Ok. Got it. Async is the catch in your case. So, alternative like RESTCONF 
based RPC (which I had suggested in my previous mail) may also be of no 
significant use unless RPC output semantics is something on lines of 'request 
accepted' if at least that level of synchronous call is tolerable.
<GS> Yeah, I want real async calls, with a CompletableFuture in my hands, that 
I will be able to attach a callback to be invoked when the result is ready.

Regards
Muthu




From: Sela, Guy [mailto:guy.s...@hpe.com]
Sent: Thursday, August 25, 2016 1:25 PM
To: Muthukumaran K; 
mdsal-...@lists.opendaylight.org<mailto:mdsal-...@lists.opendaylight.org>; 
controller-dev@lists.opendaylight.org<mailto:controller-dev@lists.opendaylight.org>
Cc: Alfasi, Shlomi; Cohen, Elad
Subject: RE: Invoking MD-SAL RPC's from outside the cluster

Hi Muthu,

I'm familiar with the Routed-RPC model.
The usecase I'm talking about is just a normal RPC, not a routed one.
I want the external ODL to invoke an RPC on each of the 3 ODLs in the cluster.
I want to focus on what you said in the end.
Is it enough that the external ODL and the 3 ODLs will be connected with an 
AKKA cluster, or does it have to be part of the ODL cluster, or maybe it's just 
the same?
In our deployment, we are talking about a multi-site deployment.
It means we have N ODL-clusters, and a single ODL for monitoring and 
orchestration of the clusters.
I want this single/external ODL to be able to invoke remote methods on each ODL 
instance in each cluster, in an async way.
I don't think I can really use the standard ODL tools, because it means I need 
to hold a reference to an RPCRegistry, and from my understanding, the scope of 
the RPCRegistry is the cluster-scope.

From: Muthukumaran K [mailto:muthukumara...@ericsson.com]
Sent: Thursday, August 25, 2016 10:41 AM
To: Sela, Guy <guy.s...@hpe.com<mailto:guy.s...@hpe.com>>; 
mdsal-...@lists.opendaylight.org<mailto:mdsal-...@lists.opendaylight.org>; 
controller-dev@lists.opendaylight.org<mailto:controller-dev@lists.opendaylight.org>
Cc: Alfasi, Shlomi <shlomi.alf...@hpe.com<mailto:shlomi.alf...@hpe.com>>; 
Cohen, Elad <elad.coh...@hpe.com<mailto:elad.coh...@hpe.com>>
Subject: RE: Invoking MD-SAL RPC's from outside the cluster

Hi Sela,

You might want to look into the Routed-RPC option for this if your performance 
requirements are not so severe.

To illustrate, in Openflowplugin, every switch in effect exposes a RPC and 
registers itself with the central routed-rpc registry. If a flow has to be 
provisioning from Node A but the switch is connected to Node B (or Node B is 
master of switch in OF high-availability lingo),  RPC call from Node A gets 
routed by MD-SAL infrastructure to Node B's RPC-provider of given switch.

I am not sure about your deployment model. But an important pre-requisite for 
above to work is that both RPC consumer(S) and RPC provider(s) must be on same 
Akka cluster

Hope this helps

Regards
Muthu


From: 
controller-dev-boun...@lists.opendaylight.org<mailto:controller-dev-boun...@lists.opendaylight.org>
 [mailto:controller-dev-boun...@lists.opendaylight.org] On Behalf Of Sela, Guy
Sent: Thursday, August 25, 2016 1:01 PM
To: mdsal-...@lists.opendaylight.org<mailto:mdsal-...@lists.opendaylight.org>; 
controller-dev@lists.opendaylight.org<mailto:controller-dev@lists.opendaylight.org>
Cc: Alfasi, Shlomi; Cohen, Elad
Subject: [controller-dev] Invoking MD-SAL RPC's from outside the cluster

Hi,
Let's say I have a cluster of 3 ODLs, and I have another external ODL that is 
not part of the Cluster.
Can this external ODL invoke RPCs on the ODLs in the cluster?
The current MD-SAL RPC framework allows me to invoke RPCs on remote machines in 
an async way, giving me a Future.
I want the same capability for a machine that doesn't live in the cluster.
If the answer is no, what do you think will be the best way to do it?

What we are trying to achieve is very similar to this library: 
https://github.com/barakb/asyncrmi/

Thanks,
Guy Sela

_______________________________________________
controller-dev mailing list
controller-dev@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/controller-dev

Reply via email to