16:09:06 <devinavery> #startmeeting MD-SAL interest call 16:09:06 <odl_meetbot> Meeting started Tue Aug 19 16:09:06 2014 UTC. The chair is devinavery. Information about MeetBot at http://ci.openstack.org/meetbot.html. 16:09:06 <odl_meetbot> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 16:09:06 <odl_meetbot> The meeting name has been set to 'md_sal_interest_call' 16:09:11 <devinavery> #topic status update 16:09:20 <devinavery> #info no new interesting status 16:09:29 <devinavery> #topic Karaf Features (Ed Presenting) 16:10:52 <devinavery> #info If your features depend on features in another feature file you must add a repository entry to state that dependency 16:11:30 <devinavery> #info Ed suggest some organization tips 16:11:36 <devinavery> #info 1) have an odl-<feature>-all fetter which installs everything 16:12:12 <devinavery> #info 2) use the same order in the all feature as your features are listed / defined below 16:12:57 <devinavery> #info Important note on pom.xml - you need to have dependencies on your features bundles otherwise your distributions may not get built correctly. 16:14:03 <devinavery> #info Question from Robert - what is the minimum scope required for the feature dependency bundles? Answer: "compile" Reason: it has to do with the way karaf resolves dependencies. WE could look deeper to see if we can change that 16:14:28 <devinavery> #info Ed create a simple loader test which tests that every feature in your feature.xml file loads cleanly at the OSGi window 16:15:26 <devinavery> #link https://wiki.opendaylight.org/view/Karaf:Hands_On_Guide#Testing Goes over how to configure the features tests 16:17:53 <devinavery> #info Ed shows what it looks like when the tests run and pass and now Ed is showing what it looks like when a feature fails to load 16:22:58 <devinavery> #info Question: is it possible to get false positives because of load order? A: No - not with this tests. If your test was to randomly go in and install features in order then it could result in false positives. In this test, we install each feature into a clean OSGi by its self so one feature can't polite another feature 16:25:29 <devinavery> #info Question: Any reason this is done using surefire and not failsafe. Answer: Ed just grabbed surfire instead of failsafe. And 2 Ed believes that this is more of a unit test of the features.xml file. Robert is suggesting that we only want to run these in Jenkins. Ed doesn't object to it just running on Jenkins or using failsafe. 16:27:33 <devinavery> #info devinavery states that regardless of what we call it it must be a gating test which on failure blocks code submissions 16:28:33 <devinavery> #info Ed is explaining how you can use the feature tests...see recording or wiki for more details 16:32:13 <devinavery> #info Ed is demoing the odl-restconf feature install. 16:33:20 <devinavery> #info Important Note: Karaf default to port 8181 instead of port 8080. The reason is that karaf comes with a built in tomcat on port 8080 which just works with standard northbound clients. So until we figure out what is happening restconf is on port 8181 16:37:22 <devinavery> #info Question from Madhu - does restconf work with json etc? Madhu tried and it didn't seem to work. Seemed like some strange behavior. Ultimate question: What is restconf using for parser? Answer: we use gson in restconf 16:40:26 <Madhu> thanks devinavery 16:40:48 <devinavery> Madhu: hopefully I got it right... :) 16:41:50 <Madhu> devinavery: AFAIK gson is a json utility. But, if I have to bind the POJO to the json ... we typically use jaxb. and for xml jersey/jaxb handles it natively. But for json, we need some provider. 16:42:00 <devinavery> #info Question: this test is run on verify in the controller projects. What about the other projects? Answer: Ed is of the opinion that this should run on verify for all feature files everywhere. We due this using scan-dependencies section in surefire is because it allows you to include this in your pom file. 16:42:10 <Madhu> devinavery: we used jackson for that... but it is not binding just in karaf. strange issue. 16:42:16 <Madhu> wasted 2 days on that. sigh! 16:43:07 <devinavery> #info Question: when do you think this will be ready to be consumed by other projects? Answer: The test is in there and it is working and there is a bare-bones wiki in place. Next step for Ed is to try this on a project (open flow) and document a clean easy pattern that others can follow from 16:43:38 <devinavery> Madhu: understood. And that sucks. :) 16:48:39 <devinavery> #topic Questions from mailing list 16:49:15 <devinavery> #info Showing question from the mailing list from Ramkumar about node augmentations. 16:50:39 <devinavery> #info Question: How would a plugin get all objects of a given augmentation type on the nodes type - right now we need to iterate each Node checking for existence. Can we expose an API for this common use case of querying augmentations of nodes? 16:52:30 <devinavery> #info Answer: Robert: Give me all nodes with a particular trait is a more complex problem which the query language may solve which colindixon and devinavery are working on. Not targeted for Helium. 16:55:26 <devinavery> #info Ramkumar is suggest that we expose a new API, or helper code or something else for this common use case. 16:58:40 <devinavery> #info Ramkumar ask if we can have a binding interface on top of the query language - answeR: sky is the limit - we will try and demo the prototypes in the near future. 16:58:43 <devinavery> #endmeeting