Xingjun,

What version are you running? Also DCL is deprecated - it is recommended to
use DTCL. Not sure if anyone will support DCL at this point.

Tom

On Wed, Jul 26, 2017 at 2:25 PM, Xingjun Chu <xingjun....@huawei.com> wrote:

> Hi,
>
>
>
> I have an issue regarding DCN, hope you guys can give me  a hint. Much
> appreciated.
>
>
>
> I have a YANG file which has defined the following
>
>
>
> container fabric-rendered-mapping {
>
>                         list fabric {
>
>                             key "id";
>
>                             leaf id {
>
>                                 type fabric:fabric-id;
>
>                             }
>
>
>
>                             list rib {
>
>                                 key "vrf";
>
>
>
>                                 leaf vrf {
>
>                                     type uint32;
>
>                                 }
>
>         …………….
>
> }
>
>
>
> YANGTools generates FabricRenderedMapping.java class,
>
>
>
> A listener is registered as below and its onDataChanged Method is
> implemented.
>
>
>
> *InstanceIdentifier<Route> routeIID =
> InstanceIdentifier.create(FabricRenderedMapping.class)*
>
> *                                .child(Fabric.class, new
> FabricKey(fabricId)).child(Rib.class).child(Route.class);*
>
>
>
> *ribRouteListener =
> databroker.registerDataChangeListener(LogicalDatastoreType.OPERATIONAL,
> routeIID, this,*
>
> *                                DataChangeScope.BASE);*
>
>
>
> *  @Override*
>
> *    public void onDataChanged(AsyncDataChangeEvent<InstanceIdentifier<?>,
> DataObject> change) {*
>
>
>
> *        Map<InstanceIdentifier<?>, DataObject> createdData =
> change.getCreatedData();*
>
> *        for (Entry<InstanceIdentifier<?>, DataObject> entry :
> createdData.entrySet()) {*
>
> *            onDataCreated(entry);*
>
> *        }*
>
>
>
> *        Map<InstanceIdentifier<?>, DataObject> updatedData =
> change.getUpdatedData();*
>
> *        for (Entry<InstanceIdentifier<?>, DataObject> entry :
> updatedData.entrySet()) {*
>
> *            onDataUpdated(entry);*
>
> *        }*
>
>
>
> *        for (InstanceIdentifier<?> iid : change.getRemovedPaths()) {*
>
> *            DataObject oldData = change.getOriginalData().get(iid);*
>
> *            onDataRemoved(iid, oldData);*
>
> *        }*
>
>
>
> *    }*
>
>
>
> *private void onDataCreated(Entry<InstanceIdentifier<?>, DataObject>
> entry) {*
>
> *…………………*
>
> *}*
>
>
>
> When a rib object is created and transaction is submitted into the data
> store as using code below,
>
>
>
> *InstanceIdentifier<Route> routeIID =
> InstanceIdentifier.create(FabricRenderedMapping.class)*
>
> *                                .child(Fabric.class, new
> FabricKey(fabricId)).child(Rib.class).child(Route.class);*
>
> *                        ribRouteListener =
> databroker.registerDataChangeListener(LogicalDatastoreType.OPERATIONAL,
> routeIID, this,*
>
> *                                DataChangeScope.BASE);*
>
>
>
> I checked the “fabricKey” value which matches each other.   But in
> onDataCreated did NOT get invoked or get any notification.
>
>
>
> Any pointers what I am missing?  BTW, it is single node deployment, not
> clustering.
>
>
>
> Thanks
>
> Xingjun
>
> _______________________________________________
> controller-dev mailing list
> controller-dev@lists.opendaylight.org
> https://lists.opendaylight.org/mailman/listinfo/controller-dev
>
>
_______________________________________________
controller-dev mailing list
controller-dev@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/controller-dev

Reply via email to