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