20:22:35 <colindixon> #startmeeting better host tracker interns 20:22:35 <odl_meetbot> Meeting started Mon Jul 28 20:22:35 2014 UTC. The chair is colindixon. Information about MeetBot at http://ci.openstack.org/meetbot.html. 20:22:35 <odl_meetbot> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 20:22:35 <odl_meetbot> The meeting name has been set to 'better_host_tracker_interns' 20:22:40 <colindixon> #topic models 20:24:58 <colindixon> #info there’s a question of where the model should go: (1) it’s own thing, i.e., host-tracker/hosts, (2) in inventory, i.e., opendaylight-inventory:hosts, (3) as something that dangles off of node connectors, (4) as an augmentation of node 20:25:14 <colindixon> #info ed points out that hosts might be better living in the topology space, rather than inventory space 20:25:17 <djx> why aren't nodes an augmentation of topology? 20:25:34 <edwarnicke> #link http://tools.ietf.org/html/rfc6020#page-107 20:25:39 <edwarnicke> The when clause 20:26:52 <edwarnicke> djx 20:26:52 <colindixon> #info colin says what we really want is for some nodes to be unmanaged and to have some unmanaged nodes be hosts, but that’s hard-ish to do in yang 20:27:09 <edwarnicke> The topology has three fundamental constructs 20:27:11 <colindixon> #info ed responsds that maybe using the when clause would help get you there 20:27:20 <edwarnicke> 1) The topology model contains multiple topologies 20:27:29 <edwarnicke> 2) Each topology contains nodes 20:27:44 <edwarnicke> 3) Each node contiains termination points (think ports) 20:27:50 <edwarnicke> 4) Each topology contains links 20:27:55 <edwarnicke> Make sense? 20:27:57 <djx> each termination point contains host(s) 20:28:08 <colindixon> well, we’re saying hosts *are* nodes 20:28:20 <edwarnicke> djx: I think we were suggesting hosts as a kind of node 20:28:20 <colindixon> that typically have one (or another smallsh) nubmer of termination points 20:28:24 <djx> yes if they are "internal" 20:28:25 <edwarnicke> And letting links express them 20:28:37 <edwarnicke> Imagine for example a host that has multiple connections to the network 20:29:48 <colindixon> djx: does that make sense? 20:30:26 <evanz> edwarnicke: what is the best way to determine the path that should follow augment 20:31:21 <colindixon> evanz: you mean in the REST path sense? 20:31:27 <colindixon> or you mean in the instnace identifier sense? 20:32:05 <djx> I would like to put it on github but I can't :( 20:32:13 <djx> Updates were rejected because a pushed branch tip is behind its remote 20:32:21 <djx> error: failed to push some refs to 'https://github.com/nilok/betterhosttracker.git' 20:32:27 <colindixon> or do you mean in the path in the sense of through the network 20:32:37 <djx> ^ about what ed was asking about models 20:32:37 <evanz> I mean in the yang 20:32:43 <evanz> if I want to augment topo:nodes 20:33:30 <edwarnicke> Sure, one moment 20:33:46 <edwarnicke> Somewhere in your model you should have an import statment for the topology model 20:34:42 <edwarnicke> Assume you gave that import a prefix topo: 20:34:48 <evanz> yeah 20:34:54 <colindixon> and you also need to include the pom.xml file 20:35:39 <colindixon> so you want to find where the opendaylight-topology.yang 20:35:42 <colindixon> figure out what bundle that’s in 20:35:54 <colindixon> and add that bundle as a dependency in the pom file for our model 20:36:58 <colindixon> djx: does that make sense 20:37:03 <colindixon> also, djx, if you first pull 20:37:10 <colindixon> you should fix the pushing problem 20:44:09 <djx> brb my university went out of power and the security guard tell me I have to leave 20:44:27 <edwarnicke> /topo:network-topology/topo:topology/topo:node/ 20:46:00 <evanz> edwarnicke: thanks :) 20:46:40 <evanz> and thanks for the yang-ide email I'm enjoying using it 20:51:00 <edwarnicke> evanz: Glad to know... let us know if things can be better 20:54:15 <edwarnicke> evanz: Was the example of the augment path helpful? 20:54:56 <evanz> yes now I'm trying to think of what should come next :p 21:00:10 <djx> evanz they are still talking about operational vs config? 21:01:11 <colindixon> sorry :p 21:01:24 <djx> I can listen you guys now, I'm at home 21:02:01 <djx> and I've pushed my changes on github 21:02:10 <djx> I have no idea how to use the topology manager 21:03:13 <edwarnicke> djx 21:03:14 <edwarnicke> One moment 21:04:00 <colindixon> we’re going to drop off the webex and pay attention to you ugys 21:04:07 <djx> https://github.com/nilok/betterhosttracker/blob/master/mdhosttracker/mdhosttracker/implementation/src/main/java/org/opendaylight/mdhosttracker/plugin/internal/MdHostTrackerImpl.java 21:04:08 <colindixon> you shouldn’t have to use the topology manager 21:04:10 <djx> line 145 21:04:14 <edwarnicke> djx: controller/opendaylight/md-sal/topology-manager 21:04:14 <djx> oh ok.. 21:04:25 <edwarnicke> Is an example of something that uses the topology model 21:04:37 <edwarnicke> You don't need to *use* it 21:04:40 <edwarnicke> But it *does* use it 21:04:50 <edwarnicke> Or, let me put it better 21:05:01 <edwarnicke> You can manipulate the topology model directly (in fact I recommend you do) 21:05:34 <edwarnicke> You don't have to work through the topology-manager to work with the topology-model 21:06:37 <edwarnicke> But its an example of something that works with the topology model 21:10:59 <colindixon> https://jenkins.opendaylight.org/controller/job/controller-merge/lastSuccessfulBuild/artifact/target/apidocs/org/opendaylight/controller/hosttracker/IfIptoHost.html 21:14:47 <colindixon> sorry about that 21:14:56 <evanz> no problemo 21:15:15 <djx> I'm the one to say sorry 21:15:28 <colindixon> #action colindixon to propose a set of APIs in IfIptoHost that we will support and to try to find out if people are using the others 21:15:35 <djx> my roommate tell me that the power went out over my house to 21:15:37 <colindixon> #link https://jenkins.opendaylight.org/controller/job/controller-merge/lastSuccessfulBuild/artifact/target/apidocs/org/opendaylight/controller/hosttracker/IfIptoHost.html 21:15:45 <colindixon> djx: ugh, fun times :-/ 21:15:59 <djx> so 21:16:07 <djx> can you check line 145 21:16:12 <colindixon> djx: the answer is that there isn’t an isInternal() method in the MD-SAL topology 21:16:15 * colindixon looks 21:17:18 <colindixon> yes, so there is an aumentation to node connector in somethingcalled opendayight-topology-invntory.yang 21:17:21 <colindixon> or the other way around 21:17:36 <colindixon> which will let you map from inventory:node-connector to topology:termination-point 21:17:38 <colindixon> let me find it 21:18:18 <colindixon> controller/opendaylight/md-sal/model/model-topology/src/main/yang/opendaylight-topology-inventory.yang 21:19:17 <colindixon> ugh maybe it goes the other direction *sigh* 21:19:58 <djx> I'm not sure what this help me finding if a nodeconnector is inside or outside a topology 21:20:38 <colindixon> so, there’s no equivalent of isInternal() in the topology model 21:20:58 <colindixon> the only want to tell if it’s internal is to check to see if it connects to another node 21:21:09 <colindixon> (that is non-host node) 21:21:14 <evanz> was the conclusion that we should check in links? 21:22:00 <djx> colindixon doesn't that seems to be bad in terms of performance? 21:22:22 <colindixon> evanz: lets worry about perfomance later 21:22:38 <djx> lol 21:24:48 <colindixon> does the l2switch not build right now? 21:25:10 <evanz> it builds as far as I'm aware 21:25:11 <evanz> but it doesn't run 21:25:26 <djx> commit 2e25717dfdabc479254e580e692c33d7ecca00ca works and runs with me 21:25:36 <colindixon> the l2swicth used to have an mdTopology something that basically sat there and basically kept a local cached copy of the topology to compute tings on 21:26:13 <colindixon> oh 21:26:24 <colindixon> I bet it’s a clean not working issue 21:26:33 <colindixon> *sigh* 21:26:57 <evanz> actually I get 21:27:09 <evanz> type org.opendaylight.yangtools.concepts.Registration does not take parameters 21:27:14 <colindixon> yeah 21:27:15 <evanz> thats new 21:27:19 * evanz cries 21:28:39 <djx> how and when are you getting issues? 21:29:15 <colindixon> I think that yangtools changed something 21:29:19 <colindixon> which is breaking l2switch 21:29:25 <evanz> that's what it looks like 21:31:19 <colindixon> I tried removing the parameterization and we’ll see if it works 21:31:38 <djx> That is odd because I can run and compile with that checkout ID I gave it to you guys 21:33:31 <colindixon> djx: my guess is that you (temporarily) have an older copy of the relevant yangtools bundle 21:34:13 <djx> ah the last time the nexus stuff downloaded other stuff was 22 hours ago 21:35:47 <colindixon> https://git.opendaylight.org/gerrit/#/c/9412/ 21:35:49 <colindixon> this fixes it 21:35:57 <colindixon> for now 21:39:14 <evanz> thanks 21:39:16 <evanz> building 21:41:11 <colindixon> so, djx, you get a NodeConnector from the Addresses 21:41:17 <colindixon> there are two things you need to do 21:41:23 <colindixon> (1) turn that into a termination point 21:41:42 <colindixon> (2) check if there is a link with that termination point listed 21:41:59 <colindixon> (3) check if both ends of that link are topology nodes 21:42:31 <djx> shouldn't be (2) and then (1)? 21:43:26 <colindixon> so I don’t think you can find the link you care about in topology unless you first find the termination point 21:43:47 <colindixon> node connector : inventory :: termination point : topology 21:43:50 <colindixon> if that makes sense 21:44:03 <djx> check if there is a link with that termination point listed 21:44:07 <djx> ahh 21:44:19 <djx> sorry, I thought when you said (1) was to put it on md-sal 21:47:45 <evanz_> so 21:47:46 <evanz_> I have 21:47:49 <evanz_> augment "/topo:network-topology/topo:topology/topo:node/" { 21:47:49 <evanz_> 21:47:49 <evanz_> } 21:47:57 <evanz_> but I'm not exactly sure what should go in there 21:51:41 <djx> evanz_ 21:51:43 <djx> check controller/opendaylight/md-sal/model/model-topology/src/main/yang/opendaylight-topology-inventory.yang 21:51:53 <colindixon> host properties I think 21:51:56 <djx> line 23 21:52:04 <colindixon> let me look 21:52:54 <evanz> so I could say ext:augment-identifier "host-node"; 21:53:04 <colindixon> evanz: the short version would be “uses host” 21:53:09 <evanz> ok 21:53:19 <colindixon> both make sense 21:53:37 <colindixon> the first one is giving the augmentation a name wich is HostNode or host-node 21:53:49 <colindixon> the second is what’s saying “and they have these properties” 21:57:06 <colindixon> evanz: when you get a chance, you could merge this: https://git.opendaylight.org/gerrit/#/c/9412/ 21:58:54 <colindixon> #topic conclusions 21:59:12 <colindixon> #info the current plan is to make hosts an augmentation of the node in topology 21:59:31 <colindixon> #info the other current plan is to support (at least some of) the IfIptoHost interface 22:00:28 <djx> so we have to become a producer, right? 22:00:35 <colindixon> djx: yes 22:00:47 <colindixon> but I think we already are 22:00:54 <djx> not quite 22:00:57 <djx> we are a consumer 22:01:06 <djx> and we are registered as a consumer not a producer 22:01:07 <colindixon> #info we are not going support the IHostFinder interface (which is really an interface to ArpHandler) 22:01:15 <colindixon> djx: how were we publishing hoss 22:01:16 <colindixon> ? 22:01:24 <colindixon> hosts 22:01:37 <colindixon> #endmeeting