19:59:29 <colindixon> #startmeeting better host tracker interns 19:59:29 <odl_meetbot> Meeting started Tue Jun 24 19:59:29 2014 UTC. The chair is colindixon. Information about MeetBot at http://ci.openstack.org/meetbot.html. 19:59:29 <odl_meetbot> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 19:59:29 <odl_meetbot> The meeting name has been set to 'better_host_tracker_interns' 19:59:39 <colindixon> sweet, now I can take notes here 19:59:44 <evanz> woo 19:59:58 <djx> lol this os funny 20:00:29 <colindixon> so, yeah… have you guys looked at the address tracker stuff? 20:00:47 <djx> the one alex did? 20:00:53 <colindixon> yes 20:00:59 <evanz> I started on a model using it 20:01:05 <colindixon> evanz: cool 20:01:05 <evanz> I will put it in the doc 20:01:20 <colindixon> and we need to be able to push code 20:01:48 <colindixon> for now, we could just push it to github 20:02:22 <colindixon> do you guys want me to set up a github repo for stuff, or should you? we can push it into ODL as we make actual progress 20:02:32 <colindixon> or is there a better way you guys want to do things 20:03:20 <djx> there isn't possibility to create a repo on odl? 20:03:22 <colindixon> #info talking about ingesting the address tracker model from l2switch to refer to from our host model (which should maybe be an endpoint model) 20:03:32 <colindixon> djx: repos are all for projects 20:03:50 <colindixon> #info evanz has been working on the model and is going to paste it into the google doc 20:04:02 <colindixon> #link https://docs.google.com/a/colindixon.com/document/d/1_zyfXRYBxP5QERuEgfi1R8F7Sqj3safL8OUs-MUBxCw/edit 20:04:03 <evanz> a github sounds fine nto me 20:04:52 <djx> me to 20:05:05 <evanz> I can set it up if you like 20:06:19 <djx> I would appreciate evanz 20:06:54 <colindixon> I got it 20:06:57 <colindixon> usernames? 20:07:00 <djx> aanm 20:07:04 <colindixon> https://github.com/nilok/betterhosttracker 20:07:20 <evanz> evanzeller 20:07:35 <colindixon> you guys should be added 20:08:12 <colindixon> so, if you wanted to push your stuff 20:08:14 <evanz> is there any way we could isolate code generation into the repo 20:08:17 <djx> correct 20:08:20 <evanz> or should we just push up the model 20:08:38 <colindixon> …I don’t understand the first question 20:08:51 <evanz> er 20:08:58 <colindixon> I figured you could push the model for now and one of us could put the pom structure around it to generate the code later 20:09:01 <colindixon> unless you already have that 20:09:11 <evanz> I will push the model for now 20:10:06 <colindixon> so, the way I see it we have two current tasks that can happen in parallel: 20:10:40 <colindixon> #link https://github.com/nilok/betterhosttracker setting up a github repo for us to collaborate in because getting patches merged in ODL is a pain and probably not the right thing to do 20:10:48 <colindixon> #topic next steps 20:11:15 <colindixon> (i) start to write code that reads out the addresses from the address tracker and coalesces them into something useful 20:11:31 <colindixon> (ii) model hosts so that we can push that something useful back out to people 20:11:55 <colindixon> #info two sets of tasks that can be (reasonably parallelized): 20:12:06 <djx> I'm lost 20:12:28 <colindixon> #info 1.) write code that subscribes to tracked addresses from the address tracker and processes them 20:12:33 <colindixon> ok 20:12:34 <djx> which/where is address tracker? 20:12:44 <evanz> the model written by alex fan 20:13:01 <evanz> https://git.opendaylight.org/gerrit/#/c/8095/3/addresstracker/model/src/main/yang/address-tracker.yang 20:13:03 <djx> ok, I thought it was another bundle 20:13:05 <colindixon> #link https://git.opendaylight.org/gerrit/#/c/8095/3/addresstracker/model/src/main/yang/address-tracker.yang the address tracker model/module 20:13:14 <colindixon> djx: so it kind of is a bundle 20:13:57 <djx> colindixon reads the address from where? 20:14:18 <colindixon> so, the address tracker is a bundle which processes packet_in messages 20:14:27 <djx> the first task is to make use of the address tracker, right? 20:14:40 <colindixon> and then stores the list of addresses it’s seen on which ports as part of the MD-SAL 20:14:43 <colindixon> yes 20:14:49 <evanz> it's all part of l2switch, they've written a packet decoder thing 20:14:57 <evanz> and now they're starting on an address tracker 20:15:05 <colindixon> so the first task is to set things up so we can read out that list of addresses 20:15:20 <djx> ok, but could someone give the link of the address tracker project? not the yang module 20:15:30 <colindixon> sure 20:15:51 <colindixon> but the way you’re going to get at it is via the yang 20:16:00 <colindixon> well, via the DataBroker into the MD-SAL into the yang 20:16:50 <colindixon> https://git.opendaylight.org/gerrit/gitweb?p=l2switch.git;a=tree;f=addresstracker/implementation;h=bb1fcc8e5bcf3bd7e3c5999f0b38f0e46a09d48d;hb=HEAD 20:16:55 <colindixon> there’s no implementation at the moment 20:17:25 <colindixon> but the implementation is going to basically store data (defined by the yang model) into the MD-SAL 20:18:23 <djx> ok just to be clear, the first task is to test/make a use of the yang model from address tracker in the host tracker? 20:18:30 <colindixon> so, the yang file basically says “we have something called address-node-connector and it has a list of addresses” 20:18:49 <colindixon> that’s lines 31-51 20:19:22 <colindixon> and then it says “this is an optional thing which you can find on node-connectors” in lines 53-56 20:19:24 <colindixon> djx: yes 20:20:31 <djx> ok, the (ii) task is to modulate that addresses from the first task in two the host model from our yang that evanz create 2/3 weeks ago? 20:20:43 <djx> s/two/too 20:21:10 <colindixon> #info 2.) model hosts in a way that we can take the output of processing the addresses as hosts that others can consume via the MD-SAL 20:21:11 <colindixon> yes 20:21:35 <colindixon> (I have a hard stop at 3:30, really 3:25 just a heads up) 20:22:01 <evanz> alright 20:22:24 <djx> ok, I think I understood everything :) 20:22:37 <evanz> shall I take a stab at building up a pom and things around the model? 20:22:45 <djx> colindixon I just want to point out that I've an exam (my last one) next Friday 20:22:48 <evanz> I'm not sure how much is needed before we can generate-sources 20:22:53 <colindixon> sure 20:22:59 <colindixon> evanz: that would be amazing 20:23:12 <evanz> I will attempt :) 20:23:17 <colindixon> #action evanz to try to get the code generation pom file stuff around the current host model 20:23:37 <djx> ok that sounds great evanz, I'll try to do the first task 20:23:55 <colindixon> #info I think the l2switch code in the controller (not the l2switch project) has an example of how to subscribe to find out nodes that have a certain augmentation 20:24:18 <colindixon> #action djx to try to get it so he can read addresses from the address tracker model 20:24:25 <djx> colindixon can we reunite on Friday at the same hour? 20:24:43 <colindixon> sounds good 20:25:41 <djx> I'll try to have that thing done by then but with the exam and I've to travel on Friday and I'm not sure if I can make it 20:25:57 <djx> but I'll definitely take a look 20:26:20 <colindixon> #info if you start by looking at org.opendaylight.controller.sample.l2switch.md.util.createTablePath() that will show you how to query the MD-SAL for nodes with a certain augmentation (in that case it’s FlowCapableNode) in our case it will be AddressCapableNodeConnector I think 20:26:29 <colindixon> that should give you guys a place to get started 20:26:35 <colindixon> #topic next meeting 20:26:58 <djx> colindixon why do we want to query for nodes? 20:27:05 <djx> shouldn't this be passive? 20:27:41 <colindixon> #link http://www.timeanddate.com/worldclock/meetingtime.html?iso=20140627&p1=24&p2=133&p3=848 the next meeting will be at the same time on Friday 20:29:26 <colindixon> djx: so, you’re going to query for the AddressCapableNodeConnectors 20:29:38 <colindixon> and that will give you a list of ports which have tracked addresses off of them 20:29:49 <djx> roger :) 20:30:23 <colindixon> and then you can explore those ports (knowing they are AddressCapable) to get the addresses 20:30:25 <colindixon> ok 20:30:27 <colindixon> I have to run 20:30:29 <colindixon> #endmeeting