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