-
Bug
-
Resolution: Duplicate
-
None
-
Beryllium
-
None
-
Operating System: All
Platform: All
-
4179
As per my understanding, when controller restarts, application subscribed for data change notification should get a notification with a blob of data that was persisted before the shutdown. OVSDB southbound plugins is not getting the data change notification with the persisted config data after controller reboots.
Following are the easy steps that you can use to recreate the issues, but i believe you can try with any yang model and probably see the same issue (although i didn't try it ).
1) git clone https://git.opendaylight.org/gerrit/ovsdb.git
2) cd ovsdb
3) mvn clean install -DskipTests
4) cd ./karaf/target/assembly/bin
5) ./karaf debug
6) wait for controller console to come up
7) karaf#> log:set TRACE org.opendaylight.ovsdb.southbound.OvsdbDataChangeListener
8) wait for all the ovsdb component to come up, you will see "triggerUpdate()" line in the log file.
9)Fire following PUT restconf request to the controller (url and body are in following gist link)
https://gist.github.com/vishnoianil/3ed803e9fb7e56d29a63
10) Once you PUT this restconf request, you should see data change dump in the log. Something like this
https://gist.github.com/vishnoianil/c8204224ab30d06ee408
11) Now reboot the controller and you won't see any dump from data change notificaiton.
12) BUT you will see data still persist in the config data store. You can fire following restconf request to get the data
GET: http://localhost:8181/restconf/config/network-topology:network-topology/topology/ovsdb:1
13) This is how we are doing the registration:
https://github.com/opendaylight/ovsdb/blob/master/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/OvsdbDataChangeListener.java#L55
14) This is where ovsdb is dumping the data change notification data:
https://github.com/opendaylight/ovsdb/blob/master/southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/OvsdbDataChangeListener.java#L72
I am attaching the log for your reference.
karaf.first.start.log – contains log from the first start and adding one entry to config data store
karaf.reboot.log – contains log after reboot.
Let me know if you need more data or live debug this issue.
- duplicates
-
CONTROLLER-1399 Clustering: DCN varies in normal and restart scenarios
- Verified