Hello everyone, sorry for the cross-post, but I want to make sure this reaches the largest audience possible.
We have passed Nitrogen offset-0 M5, which means we are officially code-frozen. The only exceptions to this are: - bugfixes not requiring breaking API changes - API deprecation patches - documentation improvements - patches fixing Sonar issues One exception is whatever we need to fix bugs 5824/5825 -- this may not need signature changes, but may change behavior, which is an API change. The exact details will be hashed out with NETCONF next week. The next significant milestone is Nitrogen offset-2 M5, at which point we can expect branch cut to happen -- and we need something unusual to happen w.r.t. yangtools: - Nitrogen stability branch name should be v1.2.x - yangtoools versions on master need to be bumped in non-trivial way: - all artifacts with 1.x.x-SNAPSHOT need to be bumped to 2.0.0-SNAPSHOT - all artifacts wint 0.x.x-SNAPSHOT need to be bumped to 1.0.0-SNAPSHOT - all downstreams on their stable/nitrogen branch will be bumped as usual - all downstreams on their master branch will be bumped to Nitrogen-released versions of yangtools (i.e. yangtools-artifacts-1.2.0) The reason for this is that yangtools is following semantic versioning and we have to make API changes to address the following: 0) remove all @Deprecated elements 1) clean up the mess left behind by YANG 1.1 semantics changes to yang-model-api 2) finally get rid of the notion that a Model automatically has a YANG text source 3) prepare for Guava dropping CheckedFuture 4) migrate completely to java.util.Optional and friends 5) redefine YangInstanceIdentifier.AugmentationIdentifier (as being just another name for QNameModule) 6) get rid of @Nullable in core APIs 7) sort out the 'revision is a Date' mess 8) finish splitting up yang-parser-impl and others which I have not looked for yet. Scope will need to be limited so we do not suffer from the second-system effect -- we clearly cannot make all the changes we would want to (like addressing all that comes from RFC7950 not differentiating between semantic and encoding representation of data). Most of these changes are trivial for downstreams to consume, but 2) and 5) have non-trivial effects on downstreams: mdsal is affected by 2), as during maven build it needs to be able to cross-reference effective module name and the resource name where that input file will end up being for purposes of $YangModuleInfo. This affects yang-maven-plugin-spi -- I think we have all the bits ready, but they need to be finised. The impact of 5) is two-fold: A) mdsal is impacted the most, as it needs to implement mapping of datastore transactions between unaligned access models B) all downstream users using the data store are impacted where a single model (with its submodels) defines multiple augments to the same target node. The data store will no longer treat these objects as separate enitities, but as parts of the same entity, potentially tripping up MVCC conflicts Preliminary target for delivering yangtools-2.0.0-RC0 would be for Oxygen offset-0 M3, which I think will happen around October/November. I am not sure if we can complete the changes in time for that or whether mdsal and downstreams will be able to integrate 2.0.0 in time for a smooth Oxygen SR. If downstream integration proves to be difficult, we will need to re-target reintegration to Fluorine M0/M1. Another concern is exposing odlparent-3.0.0 to downstreams in Oxygen time frame, which needs to be integrated very soon in the release cycle -- sooner than we can be ready for our 2.0.0. For these purposes, once odlparent-3.0.0 is released, we will branch yangtools to 'v1.3.x' from the contents of v1.2.x branch. Downstreams will therefore be switching from 1.2.x (where x corresponds to last Nitrogen SR released at that point) to 1.3.0-SNAPSHOT as part of their odlparent-3.0.0 adoption process. yangtools master will receive odlparent-3.0.0 at the same time. The mode of operation of v1.3.x will be determined when that branch is created -- I think we can deliver some features/enhancements on that release train, if the need arises. After our downstreams adopt 2.0.x, yangtools will stay permanently out of autorelease and further integration with the Simultaneous Release process will be strictly done on released versions of yangtools artifacts, with yangtools releases running ahead of SR and potentially supporting multiple SRs. Can the Release Engineering team explicitly ACK of being ready for Nitrogen stable branching as outlined above? Any other thoughts? Regards, Robert
signature.asc
Description: OpenPGP digital signature
_______________________________________________ controller-dev mailing list controller-dev@lists.opendaylight.org https://lists.opendaylight.org/mailman/listinfo/controller-dev