20:03:56 <colindixon> #startmeeting better host tracker interns 20:03:56 <odl_meetbot> Meeting started Wed Aug 13 20:03:56 2014 UTC. The chair is colindixon. Information about MeetBot at http://ci.openstack.org/meetbot.html. 20:03:56 <odl_meetbot> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 20:03:56 <odl_meetbot> The meeting name has been set to 'better_host_tracker_interns' 20:04:05 <colindixon> #topic status update 20:04:14 <colindixon> #info everyone welcome devinavery :-) 20:04:17 <devinavery> colindixon: no. I was chatting with NEel 20:04:23 <devinavery> We moved to a private channel for now 20:04:32 <colindixon> devinavery: ah, good, good 20:05:34 <colindixon> #link https://meetings.opendaylight.org/opendaylight-intern/2014/better_host_tracker_interns/opendaylight-intern-better_host_tracker_interns.2014-08-07-20.34.html this is the big list of things we’re trying to get done with some good notes about them 20:06:11 <colindixon> #link https://meetings.opendaylight.org/opendaylight-intern/2014/better_host_tracker_interns/opendaylight-intern-better_host_tracker_interns.2014-08-11-20.48.html we talked about AD-SAL adapters in more depth now 20:06:30 <colindixon> djx and evanz: how goes things on these fronts? 20:06:50 <djx> I sent you and evanz an email 3 hours ago, did you saw it? 20:07:35 <evanz> djx: looking 20:10:43 <colindixon> I saw something 20:10:44 <colindixon> hold on 20:10:51 <evanz> so are we going to go with our own addressobserver implementation? 20:11:06 <evanz> I saw that Amit also moved the addressobserver out 20:11:55 <djx> yeah.. I like to see things working and not half-working :) 20:12:18 <evanz> :) 20:12:58 <colindixon> yeah 20:13:16 <colindixon> #info right now, for me, the l2switch isn’t forwarding traffic, but I *am* seeing hosts 20:13:53 <djx> with draft 9923? 20:14:11 <colindixon> let me see 20:14:56 <colindixon> no, this was using master 20:16:26 <colindixon> I’m pulling in 9923 now 20:17:13 <colindixon> so, evanz how are things going with the APIs 20:17:16 <colindixon> while i’m doing that 20:20:19 <evanz> still working on the get all hosts method 20:20:31 <colindixon> gotcha 20:20:33 <evanz> but when I get it how I want it I think I can bang out the rest really quick 20:20:41 <colindixon> good, good 20:21:11 <djx> is it possible to know a status of a NodeConnector? 20:21:12 <colindixon> are you stuck on anything or just haven’t had time to get started yet? 20:21:22 <colindixon> djx: what do you mean by status? 20:21:37 <djx> connected to something or not connected to something 20:21:40 <djx> on/off 20:21:40 <evanz> colindixon: I think I'm okay, just need to focus and work on it 20:21:44 <colindixon> sure 20:22:08 <colindixon> #info evanz doesn’t quite have getAllHosts() working yet, but he’s pretty sure he can bang it out pretty easily 20:22:08 <evanz> djx: there are events when a nodeconnector comes up/down I think 20:22:25 <evanz> the old hosttracker would remove hosts when it saw a NodeConnector go down 20:22:31 <djx> you mean these onNodeConnectorRemoved? 20:22:41 <evanz> maybe 20:23:04 <djx> yep, those literally represent a node connector *removed* not on/off 20:24:07 <colindixon> so djx, I’m pretty sure there’s a portUp and portDown events that you can get from openflow 20:24:13 <colindixon> I’m not sure where/if they get passed up 20:24:18 <djx> I always think of someone taking apart a switch, removing a port just to see that notification :) 20:24:25 <colindixon> lol 20:24:27 <evanz> lol 20:25:12 <colindixon> #info colindixon was able to pull draft 9923 and it produces host that look good although l2switch still seems to not forward traffic for him with a linear,2 topology 20:25:54 <colindixon> so, djx are you seeing pingall work? 20:26:18 <djx> hmm 20:26:21 <djx> this is funny 20:26:32 <djx> pingall doesn't work 20:26:37 <djx> h1 ping -c 1 h2 work 20:26:41 <djx> and vice versa 20:27:32 <colindixon> none work for me :-/ 20:28:00 <colindixon> which I guess isn’t my problem 20:28:01 <colindixon> but sucks 20:28:08 <colindixon> we get hosts 20:28:46 <djx> yep, we just need to discuss the IDs I give to new addresses learn by us 20:29:02 <djx> line 419 from HostTrackerImpl 20:29:06 <colindixon> #topic stuff we’re working on 20:29:11 * colindixon looks 20:29:51 <djx> I realize that ID will not work since MAC << 16 | etherType is not unique 20:31:00 <colindixon> let me look 20:31:05 <djx> but I can't figure it out other way if we are listening on AddressCapableNodeConnector 20:31:36 <djx> and making sure that we will not use the same ID as l2switch 20:33:09 <colindixon> it’s like 414, right? 20:33:43 <colindixon> #info djx has provided a simple address tracker of our own 20:34:34 <djx> sorry yes 414 the file I have is already new modifications :) 20:34:53 <colindixon> is there a reason the createAddresses is in HostTrackerImpl and not in a spearate file? 20:37:46 <djx> colindixopn not at all 20:38:38 <djx> for me the worst part while developing is thinking of new variable names and files where I should put methods 20:38:45 <colindixon> sure 20:39:04 <colindixon> so, really, my thought was that we’d have a separate bundle that would be a simple address tracker 20:40:11 <djx> that way we have to store things on MD-SAL, no? 20:40:57 <colindixon> oh! 20:41:07 <colindixon> I see are we not storing our addresses in the MD-SAL at all? 20:41:56 <djx> nop, only when they are "attached" to hosts 20:42:32 <djx> I only develop a *simple* address observer 20:42:40 <colindixon> ah 20:42:41 <colindixon> I see 20:43:00 <djx> in a way that don't conflict with address observer from l2switch 20:43:43 <colindixon> so, my take was that you would actually want to conflict with them 20:43:49 <colindixon> or not conflict, but update 20:44:33 <djx> right now, hosttracker can receive addresses from l2switch and from our little address observer 20:45:27 <djx> the most recent notification updates the oldest from hosttracker 20:46:11 <evanz> hey guys I can get a NodeConnector from the tp-id is that right? 20:46:57 <evanz> let me phrase that better 20:47:06 <evanz> can I get a NodeConnector from the termination points? 20:47:26 <djx> yep a termination point is a child of nodeconnector 20:47:35 <colindixon> ... 20:47:38 <colindixon> that seems wrong 20:47:38 <djx> or no.. 20:47:42 <djx> yeah 20:48:14 <djx> termination point is a child of node 20:49:01 <djx> colin told me that he would take a look on a way that we can get stuff from inventory based on topology and vice-versa 20:50:19 <devinavery> Hi All - can't say that I have followed all of this conversation. But please feel free to keep me in the loop while colin is out. I can do what I can to unblock you all 20:50:36 <devinavery> devin.avery@brocade.com is my e-mail. Feel free to reach out if you have any questions 20:50:52 <devinavery> I have to step out now 20:50:57 <evanz> devinavery: we appreciate it, I'm sure I'll be hitting you up 20:51:20 <devinavery> evanz: I'll do what I can 20:51:22 <devinavery> :) 20:51:26 <devinavery> See you guys. 20:51:42 <djx> see you 20:55:56 <evanz> colindixon djx: heres a question, a lot of things we're working with are lists 20:56:02 <evanz> like alist of addresses or a list of tpid 20:56:18 <djx> sure 20:56:21 <colindixon> ok... 20:56:25 <evanz> would the best thing to do be to look at the first one? 20:56:48 <djx> when? 20:57:09 <evanz> for instance to build a HostNodeConnector I need to get a NodeConnector 20:57:18 <colindixon> oh 20:57:19 <evanz> should I use the first Tpid in List<Tpid> 20:57:22 <colindixon> I see 20:57:33 <colindixon> becuase hold hosts could only have one connection point 20:57:38 <evanz> right 20:57:44 <evanz> and one ip 20:57:45 <evanz> and one mac 20:57:47 <evanz> right? 20:57:54 <djx> that old API yes 20:57:56 <colindixon> yeah 20:58:03 <colindixon> so, for now, just grab the first one 20:58:12 <djx> hmm I don't agree with that colin 20:58:43 <djx> I think it would be better to grab the one with the higher lastSeen timestamp 21:00:10 <colindixon> fair enough 21:00:48 <colindixon> I was thinking taht in the common case we would have one mac, one attachment point and one IP address 21:01:03 <colindixon> and so it doesn’t matter what you return 21:01:29 <colindixon> the “right” thing to do is to return a HostNodeConnector per Addresses per Attachment point 21:01:54 <djx> yep, but I believe the old API only returns a HostNodeConnector :( 21:02:17 <evanz> Set<HostNodeConnector> 21:02:20 <evanz> is what I'm working towards 21:02:22 <colindixon> yeah 21:02:23 <evanz> so that is possible 21:02:25 <djx> oh cool 21:02:28 <colindixon> so you can create multiple ones for each host 21:03:24 <colindixon> #info evanz asks how we should convert our hosts, which can have multiple MACs, IPs and attachment points 21:06:12 <colindixon> #info the answer is for 99% of the time, there will only be one MAC, one IP and one attachemnt point, so we just return it 21:06:48 <djx> colindixon what about our address observer? 21:10:49 <colindixon> #info some other workarounds would be to factor out a single host into multiple hosts for the AD-SAL, get the latest observation, get the first observation 21:11:18 <colindixon> #info djx wants to know what to do with our simple address observer 21:11:24 <colindixon> #undo 21:11:24 <odl_meetbot> Removing item from minutes: <MeetBot.ircmeeting.items.Info object at 0x2649bd0> 21:11:57 <colindixon> #info the *right* solution for all of this would be to make there to be one AD-SAL host per attachment point, per addresses structure that we have 21:12:02 <colindixon> #topic address observer 21:12:10 <colindixon> sorry, I was distracted 21:12:31 <djx> no problem 21:14:52 <colindixon> #info djx wants to know what to do with our own address observer 21:15:02 <colindixon> the question is does the one they factored out work? 21:15:02 <colindixon> for us 21:15:06 <colindixon> I thought it was for me 21:15:40 <djx> I didn't understand the above 3 lines 21:15:54 <djx> ah, no it does not work 21:17:07 <evanz> shouldn't the methods in compatability.TopologyMapping be static? 21:18:06 <colindixon> um, I would think so, are they not? could they be? 21:18:11 <colindixon> if they could be, you could push that patch 21:18:25 <evanz> seems to me like they should/could be 21:18:34 <colindixon> evanz: then push the patch 21:20:55 <colindixon> so, djx, I’m pretty sure that I was seeing hosts 21:21:01 <colindixon> with the current master 21:21:12 <colindixon> so, we should keep ours there, but have an easy way to turn it offf 21:21:40 <djx> with the current master? 21:22:16 <evanz> djx colindixon: have you both squashed the patch that removed ip listeners? 21:22:29 <colindixon> hold on 21:24:41 <colindixon> I was testing master, plain vanilla, master and it worked 21:24:43 <colindixon> let me try again 21:28:56 <djx> sigh it is working alright 21:29:04 <colindixon> djx and evanz: I *just* built plain, vanilla stuff and it works 21:29:21 <evanz> well I suppose that is a good thing :o 21:32:21 <colindixon> #info right now the master is working and giving us Addresses and thus hosts (abeit not sending traffic) 21:32:44 <colindixon> #info as a consequence, I think that the the simple address observer should be moved into it’s own class and disabled for now 21:33:00 <colindixon> #info let’s call that class SimpleAddressObserver 21:35:43 <colindixon> djx: does that make sense 21:38:47 <djx> yep 21:39:02 <colindixon> #info if we want to keep it, my take was to write the data to the MD-SAL and use a ReadWriteTranscation to figure out if there is an already existing addresses that has the same MAC, IP, VLAN triple and use it’s ID then, if there’s none, then we make up our own Addresses 21:39:18 <colindixon> #info but I think for now we should hope their stuff works and/or fix it so it does work for us 21:39:25 <colindixon> #topic what’s left to do 21:41:32 <djx> nodeconnetor status 21:41:58 <colindixon> #info evanz is working on AD-SAL APIs, he’ll have to figure out how to publish and susbscribe for OSGi services 21:44:33 <evanz> djx: me? so I found InventoryMapping.nodeConnectorFromId(TpId) so I think we're all good 21:45:39 <colindixon> #info djx wants a way to track node connector status so he can tell when it’s down so that he can remove those attachment points 21:45:46 <colindixon> right? 21:45:48 <evanz> oh right 21:45:55 <djx> right 21:46:24 <djx> oh I need that method too, where did you get it evanz? 21:46:49 <evanz> compatability-parent -> sal-compatability 21:47:10 <evanz> it's kind of hard to find stuff since these dont' show up as packages 21:47:13 <evanz> it's a bit unorganized 21:47:29 <colindixon> doesn’t control-shift-t in Eclipse do it? 21:47:51 <colindixon> so, djx I’m not sure how the portdown and portup messages get translated up 21:47:58 <colindixon> for now, I’d put a TODO: there 21:48:03 <colindixon> and move on to the next thing 21:49:32 <djx> the next thing on TODO list is the flow:1 thing, but we can leave it that way for a while 21:49:40 <djx> the next thing is karaf 21:53:14 <colindixon> sure 21:53:58 <djx> wait 21:54:33 <djx> I am having some difficulties with the hosttracker without our address observer 21:54:41 <colindixon> djx: interesting... 21:54:42 <colindixon> how so? 21:56:36 <colindixon> #info for now, we’re going to leave the hard coding “flow:1”, hard-coding the fact nodeIDs are the same in both inventory and topology, and hard coding the fact that node-connector-id and tp-id are the same 21:56:51 <colindixon> #info for now we’re also going to leave alone handling portup and portdown messges 21:57:04 <colindixon> #info although those are good things to come back to if we have time 21:57:58 <colindixon> #info one next thing to work on would be karaf, but for that it likely make sense to reach out to amit and alex as well so that we can define our features and make it work across the project 21:58:07 <colindixon> djx: are seeing issues? 21:58:36 <djx> yep, give a few seconds 21:58:48 <colindixon> sure 22:04:38 <colindixon> I’m seeing hosts here consistently: http://localhost:8080/restconf/operational/network-topology:network-topology/topology/flow:1/ 22:06:02 <djx> colindixon I need your help... I think git deleted the last 12 hours of my work 22:06:46 <djx> no, apparently the last 5 hours of my work 22:07:09 <colindixon> ok 22:07:13 <colindixon> jump in a hangout 22:07:14 <colindixon> ? 22:07:21 <djx> sure 22:09:20 <colindixon> working onit 22:09:34 <colindixon> https://plus.google.com/hangouts/_/g5dxohkjx7tt6btr33xendwqima 23:11:35 <djx> evanz what version of mininet you are running? 23:22:41 <evanz> 2.0.0 djx 23:37:49 <djx> same as colindixion 23:37:55 <djx> you should update that 00:55:46 <djx> #info André fixed and added the getCreatedData so we can see hosts now 01:08:18 <djx> #action next thing djx will look at karaf 01:08:30 <djx> #endmeeting