16:03:55 <colindixon> #startmeeting MD-SAL meeting
16:03:55 <odl_meetbot> Meeting started Tue Jul  1 16:03:55 2014 UTC.  The chair is colindixon. Information about MeetBot at http://ci.openstack.org/meetbot.html.
16:03:55 <odl_meetbot> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
16:03:55 <odl_meetbot> The meeting name has been set to 'md_sal_meeting'
16:04:14 <colindixon> #topic status update
16:05:51 <colindixon> #info a lot of effort has gone into documentation and examples for the new MD-SAL APIs
16:08:07 <colindixon> #info 6 specific items around this were done and they’re listed on the wiki page for the meeting
16:08:24 <colindixon> #link https://wiki.opendaylight.org/view/MD-SAL_Weekly_Call the MD-SAL call wiki page with agenda and notes
16:08:57 <colindixon> #info moiz says the clustering work is ongoing and there are patches that are begin merged
16:09:46 <colindixon> #info archetypes to provide better path to help people get MD-SAL apps up and working faster are coming down the pipe
16:12:57 <colindixon> #action colindixon to touch base with the toolkit project to figure out why archetypes aren’t being pushed to nexus
16:13:56 <colindixon> #topic demo of the new DataBrokerService via the toaster example
16:14:44 <colindixon> #info tony has modified the toaster example to use the new APIs
16:14:59 <colindixon> #link https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:Application_Migration_Guide this wiki page talks about the migration and should be useful
16:15:30 <colindixon> #info (note that devinavery is actually walking through the toaster code in Eclipse and you should be able to see it in the recording later)
16:17:02 <colindixon> #info devinavery, tony, and others have spent a lot of time documenting the data broker, transaction, and other classes
16:17:11 <colindixon> #info it should come up in javadoc in all the normal ways
16:19:35 <colindixon> #info 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
16:20:24 <colindixon> #info 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
16:21:07 <colindixon> #info 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!)
16:24:06 <alagalah> Can we address readams emails on this call ?
16:24:26 <colindixon> #info 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
16:26:00 <colindixon> #info tony says that this seems to be a bug, ramkumar will file the bug
16:26:28 <colindixon> #info tbachman says there’s a question from the mailing list about how the config subsystem might have changed, he asks if that’s true
16:27:30 <colindixon> #info 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
16:29:12 <colindixon> alagalah: that was what we just addressed
16:29:24 <alagalah> colindixon: thank you sir
16:30:12 <colindixon> #link https://git.opendaylight.org/gerrit/#/c/8168/ this gerrit shows how the yang/xml had to change to bind to the new data broker
16:30:19 <colindixon> tbachman, alagalah that should help
16:30:20 <alagalah> colindixon: I have to bounce to another meeting, tbachman can address stuff
16:30:26 <colindixon> alagalah: no worries
16:30:32 <tbachman> colindixon: thx!!
16:30:51 <colindixon> tbachman: I aim to please
16:30:58 <tbachman> :)
16:33:16 <colindixon> #info ramkumar asks a few more questions which should result in a few more bugs being filed
16:33:28 <colindixon> #topic demo of clustering
16:34:18 <colindixon> #info doing three things: (1) distributed data store, (2) remote RPC, (3) remote notifications
16:34:31 <colindixon> #info the bulk of the work is anticipated to be in the distributed data store
16:36:21 <colindixon> #link https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:Architecture:Clustering#Status_Update the wiki page with the status update Moiz is speaking to
16:36:58 <colindixon> #info first step is to make it so that the InMemoryDataStore can be replicated and have each part manage a subtree
16:38:06 <colindixon> #info then use Akka to link these individual InMemoryDataStores into a single logically global store
16:38:31 <colindixon> #info right now, this is all set up with a single shard, next week we should have multiple shards
16:39:32 <colindixon> #info moving to protocol buffer serialization to work better with java serialization and are faster
16:40:07 <colindixon> #link https://developers.google.com/protocol-buffers/docs/javatutorial talks about protocol buffers in Java
16:42:37 <colindixon> #info working on implementing RAFT (a simplified Paxos), for which there is an Akka RAFT (it might be a good starting point)
16:43:33 <colindixon> #info 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
16:44:02 <colindixon> #info moiz responds that they use it for a replicated log so that they can easily bring nodes up to speed when/if they recover
16:44:31 <colindixon> #info actual demo starts around 9:43a (you can jump there for the recording)
16:45:27 <colindixon> #Info the Akka data store embeds all of it’s dependencies so it uses more memory and needs 256m of PermGen space
16:45:32 <colindixon> #info it’s not persistent (yet)
16:46:52 <colindixon> #Info DEBUG-level logging is very nice and includes enough tags to be able to track individual transactions within shards and the like
16:47:53 <colindixon> #info demos getting data (just as before) via RESTCONF to the Akka data store and then to the InMemoryDataStore
16:49:52 <colindixon> #info 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
16:50:00 <colindixon> #topic XSQL demo
16:50:36 <colindixon> #link https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:XSQL the wiki page describing this work
16:52:06 <colindixon> #info shows virtual tables that are built dynamically based on current contents of the MD-SAL data store
16:53:36 <colindixon> #info shows “select * from nodes/node;” and it returns all the nodes in the system
16:54:22 <colindixon> #info similarly “select * from nodes/node/node-connector;” getting all the ports in the network
16:55:17 <colindixon> #info note that these examples all appear on the wiki page above
16:57:02 <colindixon> #info supports SQL like things including finding all node connectors where the hardware address contains 72
16:57:34 <colindixon> #info devinavery asks if this uses the opeartional store vs. configuration store
16:57:55 <colindixon> #info the answer is that right now it uses the operational, but that can be changed prety easily
16:58:46 <colindixon> #info demos typing “tocsv” at the telnet session and then queries will go to a csv file which can then be opened and played with
16:59:15 <colindixon> #Info also works with JDBC directly from java with no special MD-SAL anything
17:03:59 <colindixon> #info Sharon Aicler says to get in touch with him if you have any questions, he will add his contact information to the wiki page
17:04:14 <colindixon> #info moiz asks if there’s any reason this has to be in the controller or if it could be moved somewhere else
17:04:26 <colindixon> #info Sharon says he thinks it should be able to be moved anywhere
17:04:46 <colindixon> #endmeeting