16:07:31 #startmeeting MD-SAL interest call 16:07:31 Meeting started Tue Jul 22 16:07:31 2014 UTC. The chair is colindixon. Information about MeetBot at http://ci.openstack.org/meetbot.html. 16:07:31 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 16:07:31 The meeting name has been set to 'md_sal_interest_call' 16:07:43 #topic agenda bashing 16:08:09 #link https://wiki.opendaylight.org/view/MD-SAL_Weekly_Call#Agenda the agenda in it’s normal place 16:08:29 #topic status updates 16:10:59 #info colindixon is hoping to get DataObject serialization to XML (and hopefully JSON) working this week as well as maybe deserialization 16:11:18 #link https://lists.opendaylight.org/pipermail/yangtools-dev/2014-July/000299.html some more info here 16:12:29 #info the commit() method on transactions is now named submit() and consolidates the way you can check how things succeeded or failed 16:14:46 #topic proposal to change behavior of generated builders 16:14:52 can't hear 16:15:04 I will restate in a second 16:15:15 * tbachman wonders if there’s a large resistor on the phone lines between slovakia and webex 16:15:16 #link https://bugs.opendaylight.org/show_bug.cgi?id=1097 this is the enhancement bug in question 16:16:28 We would be changing the underlying implementation of the builders to allow null == emptyList 16:17:24 #info the core issue is that right now we allow for both a null list and an empty list as different things 16:18:35 #info the proposal is to stop allowing for lists to be null 16:18:41 is there any known code that relies on it? 16:20:12 #info this means that some code may currently be using that to differentiate between a not-present list and an empty list 16:20:36 #Info dbainbri asks if there’s any code that this will affect 16:21:25 #info tony responds that the openflowplugin stopped producing the topology because it assumed that non-null lists were not empty 16:23:47 #link https://lists.opendaylight.org/pipermail/controller-dev/2014-July/005811.html this is the mailing list discussion (which is largely in favor of making null and empty list the same thing) 16:29:34 #info devinavery asks “Since we have no real objections, how are we going to go about merging this patch?” 16:31:15 #info colindixon says there are really two issues: (1) do we have to change the version of the generated code when the compiler changes, and (2) can we allow people to stay working on older versions of artifacts within reason? 16:32:02 #info tony says that w.r.t. (1) there’s a “v1” in the package name of generated code which corresponds to the binding interface version and we should probably increment that as part of this, although there’s some concern about how to do minor vs. major versioning there 16:32:02 there is a propery file plugin that reads in property values from an external file. i wonder if this could be used / leveraged to help set some version information as opposed to having different parent poms? 16:32:47 #info edwarnicke says that w.r.t. (2) we’re almost there because we cut weekly releases of all projects every sunday 16:34:36 #info colindixon says that’s all well and good but we don’t have a mechanical way to allow people to roll back to the last weekly release across the board, the weekly releases border on useless 16:35:00 colindixon: the parent pom doesn't carry any inter project dependancies ... isn't it. it carries only the external dependancy 16:35:25 colindixon: so how will the parent pom update every week will help in parallel to weekly releases ? 16:35:57 Madhu: I don’t know, this isn’t my area of expertise 16:37:07 colindixon: okay. Tony's point is valid there. every weekly release must push a gerrit patch that the projects can decide to revert in case of issues 16:37:26 Madhu: Not only does the parent pom not carry interproject dependencies... it can't 16:37:28 but am with edwarnicke here that keeping it optional will cause the CI issues that we faced in Hydrogen 16:37:34 edwarnicke: yep :) 16:37:45 edwarnicke: but we can carry just variables in parent pom 16:37:49 Madhu: I am saying there are basically two things: 16:37:51 and the variables can be used 16:37:53 1) Default behavior 16:37:57 2) Projects choices 16:38:06 edwarnicke: yep. i agree with both 16:38:14 I strenously maintain that #1 (default) should be continuous integration. 16:38:15 Default behavior should be in sync 16:38:28 project can choose to roll back for the sake of temporary glitches 16:38:29 I also (as you recall) strenuously support project choice in general 16:38:48 if we are changing behavior isn't that an API change and require a version tick? 16:38:52 we don't want another Hydrogen :) 16:39:00 dbainbri: it must. 16:39:03 (which does not mean I won't call folks who go chronically out of sync names in public ;) ... or point out to them when they do have to catch up that they chose that pain ;) ) 16:39:14 Madhu: but if you don’t specify versions in your pom file (which you really shouldn’t) then you can roll back and forth between weeklies and continuous by changing your pom file, right? 16:39:23 and if we version tick, we we not break other projects code? 16:39:44 Madhu: And there is one other wrinkle, which is that if a project is out of sync come Sunday for weekly builds, it breaks the weeklies, because they won't tolerate version skew (which is actually a feature ;)) 16:39:59 edwarnicke: i love the feature. 16:40:23 dbainbri: yes. version tick is important. and weekly release should sync it up as well 16:40:34 because of the version plugins will bring to the latest and greatest SNAPSHOT 16:41:10 Madhu: I am generally a 'fail early, fail often, fail obviously' kind of guy... but I *do* understand also the "I'm in the middle of something and don't want to deal with this for a few days" as well. 16:41:21 #info devinavery tries to push us back to the real discussion: there are two proposals: (i) push the change today and give people the rest of the week to fix it and (ii) give people the warning and then push the change on monday 16:41:24 so if we are doing isolation, we do need a dashboard which reflects what the current version skew looks like, so that hotspots can be identified and zeroed into 16:41:29 Madhu: Actually... the autorelease version skew thing is more clever than that 16:41:41 #info a third proposal from dbainbri is to push it now, but with a version tick 16:42:04 I don't think we are ready for version tick 16:42:17 rocarga_: why? 16:42:33 rovarga_: sorry about the typo? 16:42:35 because you still need to be able to support v1 regenerating their models 16:42:43 If project A is publishing foo-0.1.1-SNAPSHOT, the autorelease converts it to foo-0.1.1-vYYYYMMDD-sha1 16:42:52 so a version tick means creating a parallel maven plugin plugin 16:43:09 If project B is stil depending on foo-0.1.0-SNAPSHOT, its dependency gets ramped to foo-0.1.0-vYYYYMMDD-sha1 16:43:12 unless I am missing wchih version is being ticked 16:43:13 Which will not exist 16:43:19 Breaks the autorelease build 16:44:03 so I take it you want to tick the spec version 16:44:45 which would be fine, except ticking those versions increases load on yangtools personnel 16:45:59 so we really do not want to have more than 2 versions supported at any given time 16:49:21 #info a long discussion goes on (see IRC and/or recording) where it seems as though a version tick in the pom.xml file won’t solve the problem because you can end up with different bundle using different versions of the model which are now indistinguishable 16:49:41 rovarga_: edwarnicke i think we can continue discussing on the version tick here ? 16:50:04 rovarga_: edwarnicke am missing the point on version tick (on the POM artifact version) not the yang version 16:50:17 why won't it work ? 16:50:33 #info as a consequence, the plan of record is to merge this change on Monday 7/28 after sending an e-mail to warn people 16:50:57 #topic changes in RESTCONF to support AAA 16:52:10 #info the currently the RESTCONF is hard-wired to the data broker (which doesn’t support AAA) 16:52:40 #info to provide AAA, we need to have a configurable wiring of RESTCONF onto a backing implementation that can support AAA 16:53:59 #info the proposal is to make RESTCONF something that the config subsystem can manage so this can be done 16:54:29 on that ... can you just provide a proxy data broker? 16:54:39 and yes, drive it via config 16:54:45 #info edwarnicke asks if there’s anything else that needs to be changed in RESTCONF to make sure that it passes appropriate authentication context as well 16:54:48 #info answer is no 16:54:58 rovarga_: good question 16:56:15 rovarga_: I think that’s the proposal—to implement a databroker proxy that does authentication 16:57:03 and if restconf is bound to databroker via config, you get predictable lifecycle, so can activate restconf only after all the other apps are up and running 16:57:15 e.g. "no data available" goes away 16:57:52 rovarga_: :) 16:59:40 #endmeeting