Thanks Anil. Let us discuss more in today’s weekly meeting.

 

Do you mean any part in openflowplugin project won’t write config inventory? 
But I think the below features will write it.

 

odl-openflowplugin-app-config-pusher

odl-openflowplugin-app-reconciliation-framework

odl-openflowplugin-app-forwardingrules-manager

odl-openflowplugin-app-arbitratorreconciliation

 

In addition, I know some flows are installed by packet-in, is it possible to 
install all the flows in config inventory into open vswitch bridge regardless 
of packet in? Controller disconnection  shouldn’t affect normal packet 
forwarding anyway.

 

It looks like ODL redisgn is only feasible way for super scale data center :), 
I read your google doc in ONS, are you Lumina developing such solution? See you 
in weekly meeting today.

 

发件人: Anil Vishnoi [mailto:vishnoia...@gmail.com] 
发送时间: 2019年6月1日 2:40
收件人: Yi Yang (杨燚)-云服务集团 <yangy...@inspur.com>
抄送: mdsal-...@lists.opendaylight.org; controller-dev@lists.opendaylight.org; 
openflowplugin-...@lists.opendaylight.org; d...@lists.opendaylight.org; 
abhijit.kumbh...@ericsson.com; avish...@luminanetworks.com; 
robert.va...@pantheon.tech
主题: Re: [controller-dev] 答复: Is Read from follower shard ok and openflowplugin 
master must be shard leader?

 

Hi Yi,

 

Please see inline...

 

On Thu, May 30, 2019 at 5:04 PM Yi Yang (杨燚)-云服务集团 <yangy...@inspur.com> wrote:

Also cc dev mailing list for getting more responses. 

 

发件人: Yi Yang (杨燚)-云服务集团 
发送时间: 2019年5月30日 14:08
收件人: 'mdsal-...@lists.opendaylight.org 
<mailto:mdsal-...@lists.opendaylight.org> ' <mdsal-...@lists.opendaylight.org 
<mailto:mdsal-...@lists.opendaylight.org> >; 
'controller-dev@lists.opendaylight.org 
<mailto:controller-dev@lists.opendaylight.org> ' 
<controller-dev@lists.opendaylight.org 
<mailto:controller-dev@lists.opendaylight.org> >; 
'openflowplugin-...@lists.opendaylight.org 
<mailto:openflowplugin-...@lists.opendaylight.org> ' 
<openflowplugin-...@lists.opendaylight.org 
<mailto:openflowplugin-...@lists.opendaylight.org> >
抄送: 'robert.va...@pantheon.tech' <robert.va...@pantheon.tech 
<mailto:robert.va...@pantheon.tech> >; 'tompante...@gmail.com 
<mailto:tompante...@gmail.com> ' <tompante...@gmail.com 
<mailto:tompante...@gmail.com> >; 'avish...@luminanetworks.com 
<mailto:avish...@luminanetworks.com> ' <avish...@luminanetworks.com 
<mailto:avish...@luminanetworks.com> >; 'abhijit.kumbh...@ericsson.com 
<mailto:abhijit.kumbh...@ericsson.com> ' <abhijit.kumbh...@ericsson.com 
<mailto:abhijit.kumbh...@ericsson.com> >
主题: Is Read from follower shard ok and openflowplugin master must be shard 
leader?
重要性: 高

 

Hi, folks

 

I have some questions about ODL clustering and openflowplugin clustering, look 
forward to getting your great help, thank you in advance.

 

# Q1. Is only leader node responsible for synchronizing data store to other 
followers for any shard?

 

# Q2. Openflowplugin clustering also has master, per its document, only 
openflowplugin master node can do write operation against inventory data store, 
then what if this openflowplugin master node is follower shard?

OpenFlow plugin is driven by the devices connected to it, in the clustered 
setup. OpenFlow plugin allows you to connect your device to any of the 
controller node (one or more), and internally it will decide which node from 
the cluster will be the owner/master of the device using Cluster SIngleton 
Service + EOS. Once the owner/master is decided, that owner/master is the one 
allowed to write data to the "operational" inventory (plugin don't write to 
config inventory).

 

# Q3. Can we do more granular shard per openflow node(DPID) in inventory? I 
don’t think it makes sense that the inventory for one openflowplugin cluster is 
replicated to all the other openflowplugin clusters (assume there are many 
openflowplugin clusters because many south nodes/devices are there)

are you assuming multiple OpenDaylight cluster instance running and sharing 
data to each other ? e.g 2 cluster setup running and sharing data throw some 
external mechanism or a cluster with 6 nodes in it? If you are looking at the 
scale of 10000 device, and assuming that each cluster can manage 500 devices, 
you will have to deploy 20 cluster setup or you will have to create cluster 
with 60 nodes in it. Both of these options are pretty much not practical for 
the production environment. 

 

# Q4. Anybody can recommend node number of a ODL cluster which will manage 
10000 compute/network nodes? I think leader nodes will have too high workload 
if number of ODL cluster node is too big so that it can’t do horizontal scale, 
per current default shard strategy, every node has all the data store, that 
looks more like data store replication, not distribute data store on all the 
nodes.

In my experience and opinion, ODL in clustered setup is not a solution here. As 
i mentioned above, with cluster setup i can think of two possible solution as i 
mentioned above. Deploying 20 cluster will be operational nightmare (E.g per 
cluster partition issues, device switching between cluster, device inventory 
data sharing across cluster on device switching etc). Apart from that you will 
need external mechanism to share the data between these clusters. And depends 
on your application, things can get even more complicated to maintain in 
production environment. If you go with the second option of 60 nodes in 
cluster, i am not even sure this cluster even will boot up properly :), let 
alone managing the devices. To make it work, you need to go with the 
prefix-based-sharding and cook a solution per device (per deivce shard, nodes 
where this shard can be replicated, making sure that device connection only 
switch to the node where the devie shard is replicated etc etc etc).

 

# Q5. Is it possible to run an asymmetric ODL cluster? I mean some nodes are 
full stack (there are netvirt, sfc, genius, etc), some nodes are southbound 
only (only install openflowplugin, ovsdb). I don’t think we must run other 
stuff in south bound device management nodes except southbound protocols.

I think you can do that, but if you want HA for your application and southbound 
plugins and also you want to run these in exlusion, 3 node cluster is not going 
to work (atleast you need 4 nodes in cluster). 

 

#Q6. I know data store read can be done in any node, but is it read from local 
shard in fact? Per document, it seems shard manager is doing this, if local 
shard is not leader, it will do this from remote shard leader.

 

#Q7. Anybody can propose a good ODL clustering solution for a super scale data 
center which has 10000 nodes?

In my experience, if you are looking for stable production environment with low 
operation cost (logistic, resource, support etc), ODL in "clustering" 
environment is probably not at-par solution. Luis and myself, shared some high 
level thoughts on how we can achieve this kind of scale using horizontally 
scalable system in the ONS summit. Here is the deck if you want to get more 
details.

https://docs.google.com/presentation/d/1gDLHyyuh8VVRpzHpTq9GDkv4XKAe3EaSbm2uGJFTiO8/edit?usp=sharing

 

#Q8. Does shard size have any limitation? Per my evaluation from 3 nodes 
inventory, inventory for 2000 nodes will be more than 2G, for so big data set, 
can IMDS handle it very efficiently? I understand CDS is also using IMDS 
locally, right?

 

#Q9. Is it feasible to use distributed database as data store backend? I saw 
opencontrail/Tungsten Fabric is using Cassandra to save all the config data. It 
looks like a good idea to use existing database clustering solution, a big 
concern is it doesn’t support data change notification and listener, do we have 
some other way to do this for such databases?

 

#Q10. Can we split data store of a module into more shards? I mean these shards 
include different data set, they form whole data store. I think this is a good 
way to do distributed data store and is more horizontally scalable. It will be 
better if every node which hosts data store shard can read it.

 

#Q11. An application have one instance in every node, how does ODL decide which 
application instance to handle data change notification and data listener? 

 

#12. How does an application use entity ownership service? What’s the 
difference between master, leader and EOS owner? I’m confused a bit.

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




 

-- 

Thanks

Anil

Attachment: smime.p7s
Description: S/MIME cryptographic signature

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

Reply via email to