Hi Sela, There are 3 related aspects viz., module - yang tree / yang module, shards – a group of yang trees whose data is placed together, sharding strategy – how trees and shards are related.
Default strategy in ODL is module-level. By that virtue, we can control to the extent of mapping one yang module to one shard. When Tom says that everything else goes into default shard, it’s the built in behavior of the sharding and not user controllable. So, at user-controllable level its 1:1 --> module:shard and whatever module not configured by user with dedicated shard will go into default shard. Effectively, by default, we would have inventory X 2 + topology X 2 + default X 2 + toaster X 2 + EOS Shard (implicit and not configured) X 1 = 9 shards will be there in the system. Here 2 implies one for oper and one for config This section describes the default behavior - https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:Architecture:Clustering#Configuration Regards From: controller-dev-boun...@lists.opendaylight.org [mailto:controller-dev-boun...@lists.opendaylight.org] On Behalf Of Sela, Guy Sent: Wednesday, January 11, 2017 8:37 PM To: Tom Pantelis <tompante...@gmail.com> Cc: odl netvirt dev <netvirt-...@lists.opendaylight.org>; Kochba, Alon <alo...@hpe.com>; integration-...@lists.opendaylight.org; controller-dev@lists.opendaylight.org Subject: Re: [controller-dev] [netvirt-dev] [mdsal-dev] Netvirt Scale tests: OutOfMemory from datastore Oh so that’s really different than option 1 I wrote. You are saying that I have a capability of creating shards by taking different yang trees and combining them into shards?. My smallest unit of work is a yang tree ? I still don’t see how it is done. Let’s say I wanted to take the 2 trees in my example and put them in one shard only for them. How will module-shards.conf look like and how will modules.conf will look like? If you have an example of that in some WIKI, you can just point me to that. From: Tom Pantelis [mailto:tompante...@gmail.com] Sent: Wednesday, January 11, 2017 4:58 PM To: Sela, Guy <guy.s...@hpe.com<mailto:guy.s...@hpe.com>> Cc: Robert Varga <n...@hq.sk<mailto:n...@hq.sk>>; Kochba, Alon <alo...@hpe.com<mailto:alo...@hpe.com>>; Williams, Marcus <marcus.willi...@intel.com<mailto:marcus.willi...@intel.com>>; Daniel Farrell <dfarr...@redhat.com<mailto:dfarr...@redhat.com>>; odl netvirt dev <netvirt-...@lists.opendaylight.org<mailto:netvirt-...@lists.opendaylight.org>>; controller-dev@lists.opendaylight.org<mailto:controller-dev@lists.opendaylight.org>; integration-...@lists.opendaylight.org<mailto:integration-...@lists.opendaylight.org> Subject: Re: [netvirt-dev] [controller-dev] [mdsal-dev] Netvirt Scale tests: OutOfMemory from datastore Shards are (currently) statically configured in module-shards.conf. There's 3 OOB - "topology", "inventory", and "default". Anything not under topology and inventory go into the default shard. On Wed, Jan 11, 2017 at 9:51 AM, Sela, Guy <guy.s...@hpe.com<mailto:guy.s...@hpe.com>> wrote: So what you mean is that if I create a yang tree in a yang file, it will ultimately translate into maximum two shards? One for the operational and one for the configuration? So for example elan.yang: container elan-interface-forwarding-entries { config false; list elan-interface-mac { key "elan-interface"; description "All the MAC addresses learned on a particular elan interface"; max-elements "unbounded"; min-elements "0"; leaf elan-interface { type leafref { path "/if:interfaces/if:interface/if:name"; } } uses forwarding-entries; } } container elan-tag-name-map { config false; list elan-tag-name { key elan-tag; leaf elan-tag { type uint32; } leaf name { type string; description "The name of the elan-instance."; } } } These 2 only live in the operational (Because config false), so it means 2 Shards ? -----Original Message----- From: Robert Varga [mailto:n...@hq.sk<mailto:n...@hq.sk>] Sent: Wednesday, January 11, 2017 4:45 PM To: Sela, Guy <guy.s...@hpe.com<mailto:guy.s...@hpe.com>>; Tom Pantelis <tompante...@gmail.com<mailto:tompante...@gmail.com>>; Kochba, Alon <alo...@hpe.com<mailto:alo...@hpe.com>> Cc: Williams, Marcus <marcus.willi...@intel.com<mailto:marcus.willi...@intel.com>>; Daniel Farrell <dfarr...@redhat.com<mailto:dfarr...@redhat.com>>; odl netvirt dev <netvirt-...@lists.opendaylight.org<mailto:netvirt-...@lists.opendaylight.org>>; controller-dev@lists.opendaylight.org<mailto:controller-dev@lists.opendaylight.org>; integration-...@lists.opendaylight.org<mailto:integration-...@lists.opendaylight.org> Subject: Re: [netvirt-dev] [controller-dev] [mdsal-dev] Netvirt Scale tests: OutOfMemory from datastore On 01/11/2017 03:42 PM, Sela, Guy wrote: > I have some blurriness about what a shard is, that I still didn’t > figure out. > > I have some guesses: > > 1) Every yang tree == one shard. > > 2) Shard can be a collection of a number of yang trees. > > 3) None of the above? > Mostly 1. Each shard encapsulates a single ShardDataTree, which encapsulates a single DataTree. The sum of shards is presented as the data store (CDS). Regards, Robert
_______________________________________________ controller-dev mailing list controller-dev@lists.opendaylight.org https://lists.opendaylight.org/mailman/listinfo/controller-dev