[Renaming the thread because this doesn't seem to be directly applicable to the yang-data extension.]

I think that extensions are great in the sense that they allow YANG to evolve more quickly without requiring a fork lift version upgrade that may take a long time to produce.

I agree that all standard defined extensions should cleanly inter-operate with each other.

I also think that it is useful to periodically define new versions of YANG that fold back in all the extensions that have been successfully and are widely deployed.  And also to deprecate/obsolete stuff that hasn't worked well.

For me, the interesting question is about namespaces when those extensions are incorporated back into a new version of YANG: - Does it just keep the extension prefix that the extension module was originally defined in? - Or does the extension get folded into core of the YANG language and no extension prefix is used any more? - Or does the extension get supported both with/without the extension namespace prefix?

Thanks,
Rob


On 23/04/2018 21:58, Andy Bierman wrote:


On Mon, Apr 23, 2018 at 10:36 AM, Juergen Schoenwaelder <j.schoenwael...@jacobs-university.de <mailto:j.schoenwael...@jacobs-university.de>> wrote:

    On Mon, Apr 23, 2018 at 07:18:38PM +0200, Robert Varga wrote:
    > On 23/04/18 18:51, Juergen Schoenwaelder wrote:
    > > Some people will say that the cost of a new language version
    is high.
    > > (Well, when we did 1.1, some people said it will never be
    deployed.)
    > > Anyway, not bumping the YANG version number but having instead
    several
    > > (optional) language extensions is just hiding the version number
    > > change under the carpet.
    >
    > Not quite, as extensions allow for modular/incremental
    evolution, as an
    > implementer I do not have to go through a long development cycle
    where I
    > need to rewire language aspects just to get the features my
    users need
    > for their models...

    Once we standardize extensions (and this is what I am talking about),
    we better make sure that the whole stays consistent. Otherwise, we
    will end up with patchwork where all the patches may work in isolation
    but sooner or later they will fall apart when you look at all the
    possible combinations.

    I am in favour of managing a clean definition of the core of the YANG
    language instead of creating patchwork. It is great if people create
    and prototype new extensions but once such extensions are considered
    to be ready for general use, we should roll them into the core (and
    remove any cruft from the core at the same time).


I agree with your concerns.
If the intent is that a YANG extension is optional, then its semantics have to be well-scoped so that tools really can skip over the extension without any problems. If we create standard extensions that standard YANG 1.1 modules use, then this can become an unofficial add-on to YANG 1.1. (e.g. annotation could already be considered as such)



    /js


Andy

-- Juergen Schoenwaelder           Jacobs University Bremen gGmbH
    Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
    Fax:   +49 421 200 3103         <https://www.jacobs-university.de/
    <https://www.jacobs-university.de/>>

    _______________________________________________
    netmod mailing list
    netmod@ietf.org <mailto:netmod@ietf.org>
    https://www.ietf.org/mailman/listinfo/netmod
    <https://www.ietf.org/mailman/listinfo/netmod>




_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod

_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to