16:03:55 #startmeeting MD-SAL meeting 16:03:55 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 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 16:03:55 The meeting name has been set to 'md_sal_meeting' 16:04:14 #topic status update 16:05:51 #info a lot of effort has gone into documentation and examples for the new MD-SAL APIs 16:08:07 #info 6 specific items around this were done and they’re listed on the wiki page for the meeting 16:08:24 #link https://wiki.opendaylight.org/view/MD-SAL_Weekly_Call the MD-SAL call wiki page with agenda and notes 16:08:57 #info moiz says the clustering work is ongoing and there are patches that are begin merged 16:09:46 #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 #action colindixon to touch base with the toolkit project to figure out why archetypes aren’t being pushed to nexus 16:13:56 #topic demo of the new DataBrokerService via the toaster example 16:14:44 #info tony has modified the toaster example to use the new APIs 16:14:59 #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 #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 #info devinavery, tony, and others have spent a lot of time documenting the data broker, transaction, and other classes 16:17:11 #info it should come up in javadoc in all the normal ways 16:19:35 #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 #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 #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 Can we address readams emails on this call ? 16:24:26 #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 #info tony says that this seems to be a bug, ramkumar will file the bug 16:26:28 #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 #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 alagalah: that was what we just addressed 16:29:24 colindixon: thank you sir 16:30:12 #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 tbachman, alagalah that should help 16:30:20 colindixon: I have to bounce to another meeting, tbachman can address stuff 16:30:26 alagalah: no worries 16:30:32 colindixon: thx!! 16:30:51 tbachman: I aim to please 16:30:58 :) 16:33:16 #info ramkumar asks a few more questions which should result in a few more bugs being filed 16:33:28 #topic demo of clustering 16:34:18 #info doing three things: (1) distributed data store, (2) remote RPC, (3) remote notifications 16:34:31 #info the bulk of the work is anticipated to be in the distributed data store 16:36:21 #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 #info first step is to make it so that the InMemoryDataStore can be replicated and have each part manage a subtree 16:38:06 #info then use Akka to link these individual InMemoryDataStores into a single logically global store 16:38:31 #info right now, this is all set up with a single shard, next week we should have multiple shards 16:39:32 #info moving to protocol buffer serialization to work better with java serialization and are faster 16:40:07 #link https://developers.google.com/protocol-buffers/docs/javatutorial talks about protocol buffers in Java 16:42:37 #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 #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 #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 #info actual demo starts around 9:43a (you can jump there for the recording) 16:45:27 #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 #info it’s not persistent (yet) 16:46:52 #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 #info demos getting data (just as before) via RESTCONF to the Akka data store and then to the InMemoryDataStore 16:49:52 #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 #topic XSQL demo 16:50:36 #link https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:XSQL the wiki page describing this work 16:52:06 #info shows virtual tables that are built dynamically based on current contents of the MD-SAL data store 16:53:36 #info shows “select * from nodes/node;” and it returns all the nodes in the system 16:54:22 #info similarly “select * from nodes/node/node-connector;” getting all the ports in the network 16:55:17 #info note that these examples all appear on the wiki page above 16:57:02 #info supports SQL like things including finding all node connectors where the hardware address contains 72 16:57:34 #info devinavery asks if this uses the opeartional store vs. configuration store 16:57:55 #info the answer is that right now it uses the operational, but that can be changed prety easily 16:58:46 #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 #Info also works with JDBC directly from java with no special MD-SAL anything 17:03:59 #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 #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 #info Sharon says he thinks it should be able to be moved anywhere 17:04:46 #endmeeting