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