#opendaylight-meeting: MD-SAL meeting
Meeting started by colindixon at 16:03:55 UTC
(full logs).
Meeting summary
- status update (colindixon, 16:04:14)
- a lot of effort has gone into documentation and
examples for the new MD-SAL APIs (colindixon,
16:05:51)
- 6 specific items around this were done and
they’re listed on the wiki page for the meeting (colindixon,
16:08:07)
- https://wiki.opendaylight.org/view/MD-SAL_Weekly_Call
the MD-SAL call wiki page with agenda and notes (colindixon,
16:08:24)
- moiz says the clustering work is ongoing and
there are patches that are begin merged (colindixon,
16:08:57)
- archetypes to provide better path to help
people get MD-SAL apps up and working faster are coming down the
pipe (colindixon,
16:09:46)
- ACTION: colindixon to
touch base with the toolkit project to figure out why archetypes
aren’t being pushed to nexus (colindixon,
16:12:57)
- demo of the new DataBrokerService via the toaster example (colindixon, 16:13:56)
- tony has modified the toaster example to use
the new APIs (colindixon,
16:14:44)
- https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:Application_Migration_Guide
this wiki page talks about the migration and should be useful (colindixon,
16:14:59)
- (note that devinavery is actually walking
through the toaster code in Eclipse and you should be able to see it
in the recording later) (colindixon,
16:15:30)
- devinavery, tony, and others have spent a lot
of time documenting the data broker, transaction, and other
classes (colindixon,
16:17:02)
- it should come up in javadoc in all the normal
ways (colindixon,
16:17:11)
- there should now be only one DataBroker, you
can get all your stuff from that, you don’t need to worry aout
BindingAware vs. BindingIndependent (colindixon,
16:19:35)
- this is still a work in progress in some places
(for backward compatibiliy), if you see more than one of a class,
e.g., DataChangeListener, all but one should be deprecated and have
a pointer to the one that should be used (colindixon,
16:20:24)
- in the open type dialog in eclipse, you can see
if something is deprecated by a slash through the icon on the left
(that is cool!) (colindixon,
16:21:07)
- question from ramkumar, in the new APIs is that
he seems to be notified of data changes regardless of whether he’s
subscribed for them or not (colindixon,
16:24:26)
- tony says that this seems to be a bug, ramkumar
will file the bug (colindixon,
16:26:00)
- tbachman says there’s a question from the
mailing list about how the config subsystem might have changed, he
asks if that’s true (colindixon,
16:26:28)
- the answer is yes, that there are a few changes
in the config yang and xml to update things to point to the new
DataBroker (colindixon,
16:27:30)
- https://git.opendaylight.org/gerrit/#/c/8168/
this gerrit shows how the yang/xml had to change to bind to the new
data broker (colindixon,
16:30:12)
- ramkumar asks a few more questions which should
result in a few more bugs being filed (colindixon,
16:33:16)
- demo of clustering (colindixon, 16:33:28)
- doing three things: (1) distributed data store,
(2) remote RPC, (3) remote notifications (colindixon,
16:34:18)
- the bulk of the work is anticipated to be in
the distributed data store (colindixon,
16:34:31)
- https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:Architecture:Clustering#Status_Update
the wiki page with the status update Moiz is speaking to (colindixon,
16:36:21)
- first step is to make it so that the
InMemoryDataStore can be replicated and have each part manage a
subtree (colindixon,
16:36:58)
- then use Akka to link these individual
InMemoryDataStores into a single logically global store (colindixon,
16:38:06)
- right now, this is all set up with a single
shard, next week we should have multiple shards (colindixon,
16:38:31)
- moving to protocol buffer serialization to work
better with java serialization and are faster (colindixon,
16:39:32)
- https://developers.google.com/protocol-buffers/docs/javatutorial
talks about protocol buffers in Java (colindixon,
16:40:07)
- working on implementing RAFT (a simplified
Paxos), for which there is an Akka RAFT (it might be a good starting
point) (colindixon,
16:42:37)
- colindixon asks why they need RAFT given that
they can just rely on Akka cluster for a list of the nodes that are
up, that should mean you don’t need consensus on top of it to find
the master for a given shard (colindixon,
16:43:33)
- moiz responds that they use it for a replicated
log so that they can easily bring nodes up to speed when/if they
recover (colindixon,
16:44:02)
- actual demo starts around 9:43a (you can jump
there for the recording) (colindixon,
16:44:31)
- the Akka data store embeds all of it’s
dependencies so it uses more memory and needs 256m of PermGen
space (colindixon,
16:45:27)
- it’s not persistent (yet) (colindixon,
16:45:32)
- DEBUG-level logging is very nice and includes
enough tags to be able to track individual transactions within
shards and the like (colindixon,
16:46:52)
- demos getting data (just as before) via
RESTCONF to the Akka data store and then to the
InMemoryDataStore (colindixon,
16:47:53)
- edwarnicke points out that as long as an MD-SAL
app stores all of it’s state in the data storel, it will become
clustered for free with this (colindixon,
16:49:52)
- XSQL demo (colindixon, 16:50:00)
- https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:XSQL
the wiki page describing this work (colindixon,
16:50:36)
- shows virtual tables that are built dynamically
based on current contents of the MD-SAL data store (colindixon,
16:52:06)
- shows “select * from nodes/node;” and it
returns all the nodes in the system (colindixon,
16:53:36)
- similarly “select * from
nodes/node/node-connector;” getting all the ports in the
network (colindixon,
16:54:22)
- note that these examples all appear on the wiki
page above (colindixon,
16:55:17)
- supports SQL like things including finding all
node connectors where the hardware address contains 72 (colindixon,
16:57:02)
- devinavery asks if this uses the opeartional
store vs. configuration store (colindixon,
16:57:34)
- the answer is that right now it uses the
operational, but that can be changed prety easily (colindixon,
16:57:55)
- demos typing “tocsv” at the telnet session and
then queries will go to a csv file which can then be opened and
played with (colindixon,
16:58:46)
- also works with JDBC directly from java with no
special MD-SAL anything (colindixon,
16:59:15)
- Sharon Aicler says to get in touch with him if
you have any questions, he will add his contact information to the
wiki page (colindixon,
17:03:59)
- moiz asks if there’s any reason this has to be
in the controller or if it could be moved somewhere else
(colindixon,
17:04:14)
- Sharon says he thinks it should be able to be
moved anywhere (colindixon,
17:04:26)
Meeting ended at 17:04:46 UTC
(full logs).
Action items
- colindixon to touch base with the toolkit project to figure out why archetypes aren’t being pushed to nexus
Action items, by person
- colindixon
- colindixon to touch base with the toolkit project to figure out why archetypes aren’t being pushed to nexus
People present (lines said)
- colindixon (60)
- odl_meetbot (3)
- alagalah (3)
- tbachman (2)
Generated by MeetBot 0.1.4.