20:00:57 <colindixon> #startmeeting better host tracker interns 20:00:57 <odl_meetbot> Meeting started Mon Aug 4 20:00:57 2014 UTC. The chair is colindixon. Information about MeetBot at http://ci.openstack.org/meetbot.html. 20:00:57 <odl_meetbot> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 20:00:57 <odl_meetbot> The meeting name has been set to 'better_host_tracker_interns' 20:01:10 <colindixon> #topic status update 20:01:15 * colindixon goes to look 20:03:03 <colindixon> #info Amit sent out an e-mail asking us if this is our final design and asking us to confirm what seems like a correct understanding of our approach 20:04:24 <djx> I think he got it, except the part that is not a single attachment point per host 20:05:02 <colindixon> evanz and djx: it seems like he has it right except we might want to tell him that the attachment points are just a copy of the termination points that will appear in the node it aguments 20:05:33 <colindixon> “Most likely a host would always have only one attachment point right?” is different from usually 20:05:38 <colindixon> do you want me to d send that? 20:05:41 <colindixon> or one of you? 20:06:20 <evanz> colindixon: I can 20:06:31 <colindixon> and we’re happy with what we have so far? 20:06:38 <evanz> I think so 20:06:44 <djx> evanz please remember him to add meas a member of the l2switch project 20:07:03 <colindixon> I am, I just want to make sure it’s not killing you guys in terms of being awkward 20:07:08 <djx> me too, so the next big step is to develop the ifiphost interface? 20:07:19 <evanz> djx: that's what I was thinking 20:07:33 <colindixon> djx: so, being a committer on l2switch is probably something that they’re going to do with a bit of trepidation and has to be approved by the TSC 20:07:57 <djx> TSC? 20:08:32 <colindixon> #action evanz will respond to Amit saying (i) yes, this is our planned final design, (ii) yes, there will just be extra nodes in the topology that will have host augmentations, and (iii) while most hosts will likely have one attachment point, it is by no means guranteed. 20:08:40 <colindixon> djx: technical steering committee 20:09:04 <colindixon> formal ODL projects have a list of committers and adding new ones has to be voted on my the TSC which meets on Thursdays 20:09:11 <colindixon> typically it’s done after you contribute a bunch of code 20:09:14 <djx> I see that ed is one of them :) 20:09:15 <colindixon> which you’re working on 20:09:19 <colindixon> yes 20:10:32 <djx> the model has to be done today + documentation or the documentation can be changed after today? 20:10:43 <colindixon> docs can be changed 20:11:23 <djx> roger 20:11:41 <colindixon> actually, techically by the rules of API freeze we could add a field to the model 20:11:46 <colindixon> we just change change or remove any 20:12:01 <colindixon> #topic non-model stuff 20:12:14 <colindixon> so, there’s two things here, right? 20:12:21 <colindixon> 1.) IfIptoHost 20:12:22 <colindixon> and 20:12:33 <colindixon> 2.) The actual code the populates the hosts 20:12:52 <djx> you mean hostnode, right? 20:13:01 <colindixon> yeah 20:13:15 <colindixon> so, how are we doning on #2? 20:13:19 <djx> okay, yes. So we should create a new project to deal with IfIPhost? 20:13:22 <colindixon> djx: you were working on that right now? 20:13:29 <colindixon> djx: not new project, but new bundle 20:13:32 <colindixon> that would be my take 20:13:34 <djx> #2 is done, I believe 20:13:46 <djx> only messing the docs 20:13:50 <djx> missing* 20:14:26 <colindixon> #info there’s two things we want to work on beyond the model: (1) providing the legacy APIs, e.g., IfIptoHost and (2) writing the actual code which translates Addresses from the address-tracker to HostNodes in the topology 20:14:33 <colindixon> #info djx says #2 is done 20:15:01 <colindixon> #action colindixon to look over the current Addresses => HostNode code later today 20:15:44 <djx> thank you I was about to asking you that 20:15:44 <colindixon> so, out of curiosity, we do the right thing and create a Node and a HostNode and populate both the Node’s termination points and the HostNode’s attachment points, right? 20:16:08 <djx> ah right that was one of the things I ask you on the email 20:16:19 <evanz> colindixon: the example json is on the wiki page, that might answer your question 20:16:23 <djx> https://wiki.opendaylight.org/view/L2_Switch:HostTracker 20:16:38 * colindixon looks 20:16:39 <evanz> do you mean that there should be a node and a hostnode as two seperate entities? 20:17:27 <colindixon> evanz: no, not in json 20:17:32 <djx> yes, that was one of the things I didn't understood. right now there is a hostnode augment from topology.Node 20:17:50 <evanz> right currently there is only one "put" for the HostNode 20:18:29 <colindixon> so, yeah 20:18:41 <colindixon> you need to also createa Node using NodeBuilder and put it 20:19:03 <colindixon> how is “node-id” being populated? 20:19:18 * colindixon goes to look at the code 20:19:22 <djx> roger, I wasn't sure about that. evanz then you just need to un-comment every lines from writeHosttoMDSAL method 20:19:50 <colindixon> the other thing is that we should populate the termination points on the Node 20:19:55 <colindixon> and also fill in links I guess 20:20:15 <colindixon> so that people can use them to compute paths on the topology for instance 20:20:25 <djx> hmm that sounds interesting 20:20:40 <evanz> I agree with that 20:20:48 <colindixon> #action djx and/or evanz to enahnce the current code to push a Node (with the right termination points) and approprate links in addition to the HostNode 20:21:35 <colindixon> #info to be clear, the thing you pass to NodeBuilder.setTerminationPoints() shold be *exactly* the same as the thing you pass to HostNodeBuilder.setAttachmentPoints() 20:22:34 <djx> when you mean *exactly* you mean the same ID, right? 20:22:59 <evanz> I will send a follow-up email to the thread that we *will* be putting a Link for the host in the topology 20:23:01 <colindixon> djx: no, I mean, that the… let me look 20:23:07 <colindixon> evanz: thanks! 20:23:28 <djx> colindixon what happens if a hostnode is removed from a node? we need to remove the links from mdsal? is not enough to remove the attachment points? 20:23:58 <evanz> colindixon: that shouldn't require any change to the model right? 20:24:43 <colindixon> evanz: that’s right 20:24:46 <colindixon> none of this changes the model 20:24:54 <colindixon> it’s just changes to our behavior 20:25:10 <colindixon> djx: so, on line 128 of HostTrackerImpl.java 20:25:23 <colindixon> you create List<AttachmentPoints> attachmentPoints 20:25:34 <djx> yep 20:25:46 <colindixon> and then call host.setAttachmentPoints(attachmentPoints) on line 130 20:25:56 <colindixon> what I’m saying is that you could could do this: 20:26:03 <colindixon> NodeBuilder nb = … 20:26:14 <colindixon> nb.setTerminationPoitns(attachmentPoints) 20:26:18 <colindixon> with the same array 20:26:58 <colindixon> #info djx asks what happens when a node (that has the HostNode agumentation) is removed 20:27:10 <djx> wait a second 20:27:17 <colindixon> djx: sure 20:27:19 <djx> when you say NodeBuilder 20:27:25 <djx> you are talking about which one? 20:27:31 <djx> topology or inventory? 20:27:42 <evanz> topology I believe 20:27:54 <evanz> it's not clear to me why you need to put a node and a hostnode 20:27:58 <evanz> maybe colindixon can clarify 20:28:06 <colindixon> topology 20:28:06 <colindixon> yes 20:28:24 <colindixon> I was going to give you the whole pacakge name, but yes, the topology node 20:28:25 <djx> right me neither because the lines that are comment on writetomdsal method are from inventory node 20:28:53 <colindixon> evanz: so you need to create a Node to populate it’s termination points 20:29:04 <colindixon> if you look at the JSON on the wiki page above 20:29:16 <colindixon> you can see that the node doesn’t have any termination points 20:29:49 <colindixon> whereas the nodes corresponding to OpenFlow switches will 20:32:23 <evanz> ok 20:32:33 <colindixon> does that make sense? 20:32:37 <djx> okay, which id should we write to them? 20:32:48 <colindixon> well, we need to come up with one 20:33:03 <colindixon> but it seems like it’s already being populated 20:33:14 <colindixon> or is this JSON not actually generated and just sample 20:33:21 <colindixon> https://wiki.opendaylight.org/view/L2_Switch:HostTracker 20:33:29 <evanz> it is generated 20:33:32 <evanz> I believe 20:33:32 <colindixon> { 20:33:33 <colindixon> "node-id": "host:00:00:00:00:00:01", 20:33:34 <colindixon> "host-tracker-service:id": "00:00:00:00:00:01", 20:33:35 <colindixon> that’s right 20:33:41 <colindixon> which is that we want to have our ID be opaque 20:33:52 <colindixon> and then have the nodeID be host:<ourID> 20:34:10 <colindixon> so, for now, host-node.id = “<MAC>” 20:34:24 <colindixon> and node.node-id = “host:<MAC>” 20:34:44 <djx> okay : 20:34:48 <djx> :-) 20:34:55 <djx> sounds perfect 20:35:12 <colindixon> if you have the InstanceIdentifier (IID) for the HostNode, let’s call it hnIID 20:35:39 <colindixon> then you should be able to get the IID for the Node by doing hnIID.firstInstanceOf(Node.class) 20:35:50 <colindixon> and then you can write there 20:36:32 <djx> I'll take a look right after the meeting 20:37:05 <djx> about this I am clear 20:38:00 <colindixon> so did this at least make sense? 20:38:15 <djx> yep 20:38:41 <djx> what about ifiphost? 20:39:30 <colindixon> #topic IfIptoHost 20:39:46 <djx> how can we create two bundles with one project? 20:40:06 <colindixon> #info my take is that we write a second bundle which implements IfIptoHost independently of our hosttracker 20:40:15 <colindixon> djx: that’s easy 20:40:21 <colindixon> you just make another directory under hosttracker 20:40:26 <colindixon> and then put a pom.xml file there 20:40:34 <djx> lol that is really easy 20:40:45 <colindixon> and add it do the modules in the main hosttracker pom.xml 20:41:01 <colindixon> you can really just copy the HostTrackerConsumer 20:41:15 <evanz> :D 20:42:21 <djx> so, every time somebody uses the newIfIptoHost (we should came up with a new name for this) we will just digest what we saw on MDSal written by hosttracker and perform some magic to give the information asked? 20:42:44 <colindixon> #info to do this, we are going to basically make a copy of the HostTrackerConsumer calling it HostTrackerAdaptor or something 20:43:19 <colindixon> #info whenever anyone calls one of the IfIptoHost methods on it, we’ll try to look up the information they want in the MD-SAL directly 20:43:53 <colindixon> #info we can have some of the methods throw UnsupportedOperationExceptions unti we get them implemented or decide that we won’t support them 20:44:03 <colindixon> djx: exactly 20:44:55 <djx> we will exactly implement the IfIpHost interface? 20:45:00 <colindixon> #info as djx points out, it might be a good time to come up with blank interface called IHostTrackerService or HostTrackerService that extends IfIptoHost so that we arent’ stuck with that horrible name 20:45:05 <colindixon> djx: yeah 20:45:10 <colindixon> that’s the point 20:45:24 <colindixon> so that way old code written to use that interface will still work 20:45:36 <djx> okay 20:46:49 <djx> so, I believe is everything discussed? 20:46:56 <colindixon> yeah 20:47:01 <djx> when should we meet with the other guys? 20:47:07 <colindixon> #topic stretch goals 20:47:30 <colindixon> #info we could actually wire up Addresses to the hosttracker_new code to handle some corner cases (like overlapping address spaces) better 20:47:34 <colindixon> #info but this isn’t needed 20:47:35 <djx> Christopher Price 20:47:36 <evanz> djx: we should shoot an email to those guys looking for a demo 20:47:40 <evanz> yeah 20:47:52 <colindixon> evanz and djx: sure, so that’s up to you guys 20:48:06 <colindixon> whenever you feel ready go ahead and set it up 20:48:12 <colindixon> or you can wait for them to come back to you 20:48:28 <djx> tomorrow or wednesday I believe it is good for me 20:48:28 <colindixon> presumably we want to do a quick demo for the dLux guys too so that this gets into the UI 20:48:41 <colindixon> #topic demos and future meetings 20:49:01 <colindixon> so, evan or djx do you want to set that meeting up or do you want me to? 20:49:29 <djx> it is better to be you since you are the contact point of both entities 20:49:46 <colindixon> #info we should probably give a demo to both the people who already asked (Abhijit and Chris Price) as well as the dLux people 20:49:47 <evanz> either way 20:49:49 <evanz> I can reply 20:50:12 <colindixon> #action colindixon to reach out to Abhijit and Chris Price and propose our normal meeting time if it works for them on Tuesday or Wednesday 20:50:22 <colindixon> #action colindixon to reach out to the dLux people to ask if they want a demo 20:50:47 <colindixon> so, do you guys want to meet on Thursday? 20:50:48 <colindixon> or sooner 20:50:55 <colindixon> I’m always around via e-mail (or try to be) 20:51:05 <djx> Wednesday sounds more doable to me 20:51:17 <colindixon> for our meeting? 20:51:19 <colindixon> or for the demo? 20:51:23 <djx> both? 20:51:34 <djx> meeting thursday then 20:51:41 <djx> and demo wednesday 20:51:52 <djx> I'm talking for me, we need to check with evanz 20:51:58 <colindixon> yeah 20:52:02 <evanz> I'm available 20:52:03 <evanz> all times 20:52:04 <evanz> :) 20:52:07 <colindixon> ok 20:52:11 <colindixon> that makes it easy 20:52:20 <colindixon> I’ll prefer wednesday for things and follow up if we move stuff 20:52:31 <colindixon> anything else I can help with? 20:52:46 <evanz> colindixon: as far as getting djx as committer on l2switch 20:52:46 <colindixon> (and as always, I’m around on IRC and e-mail pretty much constantly) 20:52:50 <evanz> how much would that take? 20:52:58 <colindixon> evanz: that’s up to the current committers 20:53:03 <colindixon> you could ask 20:53:05 <evanz> I am comitter on it and djx has written more code than I 20:53:19 <colindixon> it just takes a majority vote fo the current committers 20:53:33 <colindixon> so if you and Amit say yes, then I think it’s more or less a done deal 20:53:44 <evanz> okay I will send an email 20:53:58 <colindixon> normally, you’d send a mail to l2switch-dev saying “Hey, I think André should be a comitter because he’s…” 20:54:02 <djx> colindion just out of curiosity, why is here so much formality with a commiter? 20:54:04 <colindixon> and then people will reply 20:54:15 <colindixon> djx: it’s power 20:54:36 <colindixon> “with great power comes great responsiblity” :p 20:54:38 <djx> I know but isn't the code from evanz reviewed by amit for example? 20:54:41 <colindixon> or something like that 20:54:45 <colindixon> no 20:54:49 <colindixon> well, it us 20:54:56 <colindixon> but it evanz could merge it if he wanted to 20:54:58 <colindixon> that’s the point 20:55:10 <colindixon> they want to have at least some vetting of people 20:55:18 <djx> ah I thought it was double checked since I read that history of heartbleed 20:55:33 <colindixon> no, no, there’s no technial reason why evan can’t merge his own code 20:55:51 <colindixon> it’s just a formailty we usually go by 20:56:04 <djx> sure ;) 20:56:31 <colindixon> although technically, I don’t think that l2switch has ever made that official 20:56:45 <colindixon> in controller, the official policy is that you are not allowed to merge your own code 20:56:56 <djx> ah that I understand 20:56:57 <colindixon> anyway 20:57:10 <colindixon> much more about the sausage making than you wanted to hear 20:57:17 <djx> lol 20:57:33 <colindixon> evanz or djx if you want me to help write the e-mail nominating djx or just want me to read it, I’d be happy to 20:58:51 <djx> colindixon one last formality thing, shouldn't we put a header with a license on our code? 20:59:00 <colindixon> yeah 20:59:17 <colindixon> and it should say “André Martin and others” 20:59:26 <colindixon> or Evan Zeller and others 20:59:30 <colindixon> depending on who did it 20:59:36 <djx> which one? EPL? 20:59:42 <colindixon> yes 20:59:45 <colindixon> same as the other files 20:59:47 <colindixon> everything in ODL is EPL 21:00:02 <djx> most of the stuff from openflowplugin has cisco 21:00:07 <colindixon> djx: yeah 21:00:21 <colindixon> that’s because most of the stuff in openflowplugin was written by Cisco employees 21:00:37 <djx> okay 21:01:19 <colindixon> #link https://wiki.opendaylight.org/view/Developer_Best_Practices#New_Files this is the answer to djx’s question about copyright/license headers 21:01:47 <colindixon> ok, I’m going to run 21:01:52 <colindixon> but thanks for all the hard work 21:02:00 <colindixon> this is really shaping into something cool 21:02:02 <colindixon> #endmeeting