===================================== #opendaylight-meeting: MD-SAL meeting ===================================== Meeting started by colindixon at 16:03:55 UTC. The full logs are available at http://meetings.opendaylight.org/opendaylight-meeting/2014/md_sal_meeting/opendaylight-meeting-md_sal_meeting.2014-07-01-16.03.log.html . 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) * LINK: 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) * LINK: 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) * 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 (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) * 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 (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) * LINK: 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) * LINK: 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. 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