20:34:01 <colindixon> #startmeeting better host tracker interns
20:34:01 <odl_meetbot> Meeting started Thu Aug  7 20:34:01 2014 UTC.  The chair is colindixon. Information about MeetBot at http://ci.openstack.org/meetbot.html.
20:34:01 <odl_meetbot> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
20:34:01 <odl_meetbot> The meeting name has been set to 'better_host_tracker_interns'
20:34:10 <colindixon> #topic status update
20:34:10 <djx> https://git.opendaylight.org/gerrit/#/c/9796/
20:34:25 <colindixon> #info we presented to some folks from Ericsson and the SFC project this morning
20:34:36 <colindixon> #link https://git.opendaylight.org/gerrit/#/c/9796/ the current code
20:34:49 <colindixon> #topic current work
20:36:17 <colindixon> evanz: can you merge this is you like it: https://git.opendaylight.org/gerrit/#/c/9722/
20:36:47 <evanz> gotcha
20:36:50 <evanz> I meant to do that
20:36:51 <evanz> forgot
20:37:12 <colindixon> so, right now, I see there being 4 things we need to do:
20:37:26 <colindixon> 1.) merge the two topology nodes into one
20:37:33 <colindixon> 2.) add links to the topology
20:37:46 <colindixon> 3.) make sure we have a way to turn on host tracker without programming l2switch rules into the network
20:37:59 <colindixon> 4.) provide (some of) the IfIptoHost API
20:38:14 <djx> 1.) and 2.) I have some problems with that need to be discussed
20:38:21 <colindixon> and 0.) fix the l2switch
20:38:35 <colindixon> do those make sense? we can take them one at time
20:38:45 <djx> yep let's start with 1)
20:38:57 <djx> do you have the the draft code?
20:39:00 <colindixon> yeah I do
20:39:08 <colindixon> so actually, I wanted to start with fixing the l2swich
20:39:10 <colindixon> what’s going on there?
20:39:24 <evanz> not sure
20:39:42 <evanz> amit_mandke says hostnodes are working for him
20:39:46 <evanz> let me pull completely fresh and try
20:39:57 <djx> that is what I did evanz
20:40:12 <colindixon> #info we have 4 (or 5) things on our plate: 0.) fix l2switch, 1.) Merge the two topology nodes for a host into one, 2.) Add links into the topology for attachment points, 3.) Make sure there's a karaf feature that disables any *active* control, but gives host tracker, 4.) IfIptoHost API
20:40:13 <djx> I wasn't able to see any log messages from datachange listener
20:40:26 <colindixon> #topic fixing the l2switch
20:41:08 <colindixon> #info https://git.opendaylight.org/gerrit/#/c/9766/ djx says he hasn’t been able to get data change messages after this commit was merged
20:41:13 <colindixon> #undo
20:41:13 <odl_meetbot> Removing item from minutes: <MeetBot.ircmeeting.items.Info object at 0x26387d0>
20:41:21 <colindixon> #link https://git.opendaylight.org/gerrit/#/c/9766/ djx says he hasn’t been able to get data change messages after this commit was merged
20:41:28 <djx> does anyone knows if I'm a commiter of l2switch?
20:41:36 <colindixon> djx: no
20:41:44 <colindixon> #info amit_mandke says he does see host nodes after it
20:41:56 <colindixon> #action djx, evanz and colindixon to look into this more later if it’s not fixed
20:42:10 <colindixon> #topic merging the two topology nodes for each host into one
20:42:16 <colindixon> djx: you had things you wanted to go over here?
20:42:20 <djx> http://paste.fedoraproject.org/124004/43967140
20:42:36 <djx> this is what we see if both node and hostnode have the same NodeID
20:43:17 <djx> MD-SAL don't *merge* them
20:43:37 <colindixon> #info as of this morning we were adding two nodes for each host, one which had the augmentation (and thus the host-tracer-service:id and the attachment points) and another that had the termination points
20:43:59 <colindixon> so, two things
20:44:45 <colindixon> #link http://paste.fedoraproject.org/124004/43967140 djx says if you push the two nodes with the same ID, they don’t get merged, the second just replaces the first
20:44:51 <colindixon> #info this is the expected behavior
20:47:04 <colindixon> #info in addition to put, there should be a merge operation that will merge the two nodes
20:48:21 <evanz> the only errors I'm getting are from statistics manager
20:48:22 <colindixon> #info alternately, you can build them as a single node by using NodeBuilder and HostNodeBuilder and then calling addAugmentation on the NodeBuilder with the built node
20:48:26 <evanz> but the hostnodes aren't showing up
20:48:37 <colindixon> djx: do those make sense?
20:49:30 <colindixon> evanz: d'oh
20:50:42 <djx> alternately, you can build them as a single node by using NodeBuilder and HostNodeBuilder-> that is what I'm doing
20:50:48 <djx> both of them with the same ID
20:51:09 <colindixon> and it doesn’t work?
20:51:33 <djx> nop not even with merge
20:51:41 * colindixon looks
20:51:44 <djx> HostTrackerImpl line 185
20:51:59 <djx> I substitute a put with a merge
20:52:29 <colindixon> no, no
20:52:40 <colindixon> let me check out your patch
20:52:42 <colindixon> hold on
20:52:57 <djx> do you want hangout?
20:53:11 <colindixon> sure
20:53:27 * colindixon starts one up
20:53:41 <djx> send me an invitation to my email
20:53:54 <colindixon> https://plus.google.com/hangouts/_/g2zp6d7w73hcb5mmlhcweetlx4a
21:08:00 <colindixon> #info problem fixed
21:12:45 <colindixon> #topic back to fixing l2switch
21:12:56 <colindixon> #Info evanz says that he eventually sees host nodes, but it takes a while
21:13:24 <evanz> colindixon: you're cutting out in hangout
21:13:26 <colindixon> #info because the change makes so we only get Addresses from ARP packets, the hypothesis is that we’re missing the creation of the first few Addresses
21:14:06 <colindixon> #info we would fix this by querying for all Addresses after we subscribe and calling the relevant functions
21:16:15 <colindixon> #info colindixon suggests running mininet with --arp will pre populate the ARP tables and thus will cause no ARPs to be sent and would verity this
21:18:21 <colindixon> #topic adding links
21:18:39 <colindixon> #action djx is going to take care of this
21:18:44 <colindixon> #undo
21:18:44 <odl_meetbot> Removing item from minutes: <MeetBot.ircmeeting.items.Action object at 0x2648b90>
21:18:52 <colindixon> #action djx to write code to add links
21:19:10 <colindixon> #info you have to add two links one in each direction
21:46:44 <colindixon> #info djx asks how we can get the node ID for the switch we’re connected to, very long discussion leads to an answer
21:46:54 <colindixon> #info InstanceIdentifier<Node> iin = iinc.firstIdentifierOf(Node.class);
21:47:00 <colindixon> #info ListenableFuture<Optional<Node>> nodeFuture = readTx.read(LogicalDatastoreType.OPERATIONAL, iin);
21:47:10 <colindixon> #info Node n = nodeFuture.get().get();
21:47:16 <colindixon> #info all in the the onDataChanged()
21:47:39 <colindixon> #info then we can assume that the inventory node ID is the same as the topology node ID
21:50:29 <colindixon> #action djx to make it so that when a NodeConnector goes away, we remove the link and the attachment point
21:51:09 <colindixon> #topic karaf feature
21:51:48 <colindixon> #info this is a task for later, but we need to make sure there's a karaf feature that disables any *active* control, but gives host tracker
21:52:24 <colindixon> #info if we don’t use karaf in l2swich, instead, this needs to be a list of the bundles to get only hostracker with no rule programming
21:52:55 <colindixon> #topic IfIptoHost API
21:56:16 <colindixon> #info the only hard part is generate all the AD-SAL types
21:59:44 <colindixon> #info there are helper functions inside the compatibility-parent project in the NodeMapping class
21:59:56 <colindixon> #info toADNode and toADNodeConnector are your friends
22:02:04 <colindixon> #undo
22:02:04 <odl_meetbot> Removing item from minutes: <MeetBot.ircmeeting.items.Info object at 0x2534690>
22:02:06 <colindixon> #undo
22:02:06 <odl_meetbot> Removing item from minutes: <MeetBot.ircmeeting.items.Info object at 0x2534410>
22:02:38 <colindixon> #info the things you want to make this easy are in the the TopologyMapping class in org.opendaylight.controller.md.compatibility.topology in the controller
22:02:59 <colindixon> #info you want toAdTopologyNode(), toAdTopologyNodeConnector()
22:03:29 <colindixon> #link https://jenkins.opendaylight.org/controller/job/controller-merge/lastSuccessfulBuild/artifact/target/apidocs/org/opendaylight/controller/sal/compatibility/topology/TopologyMapping.html here
22:04:38 <colindixon> #info once you get this working you might want to make a toADHost() method and find a place for it in the controller compatibility
22:06:56 <colindixon> #topic fixing assumptions
22:07:06 <colindixon> #info we currently assume the topology key is “flow:1”
22:08:41 <colindixon> #undo
22:08:41 <odl_meetbot> Removing item from minutes: <MeetBot.ircmeeting.items.Info object at 0x272e190>
22:09:14 <colindixon> #info we currently don’t actually get an instance identifier for a a termination point
22:15:00 <colindixon> #undo
22:15:00 <odl_meetbot> Removing item from minutes: <MeetBot.ircmeeting.items.Info object at 0x2695cd0>
22:15:25 <colindixon> #undo
22:15:25 <odl_meetbot> Removing item from minutes: <MeetBot.ircmeeting.items.Topic object at 0x2534110>
22:15:28 <colindixon> #endmeeting