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