Re: [netmod] New Version Notification for draft-verdt-netmod-yang-versioning-reqs-01.txt

Robert Wilton <> Fri, 09 November 2018 22:53 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 0D3DE129619 for <>; Fri, 9 Nov 2018 14:53:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -14.971
X-Spam-Status: No, score=-14.971 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.47, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id ZmQ-jjIbN3aJ for <>; Fri, 9 Nov 2018 14:53:20 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 89ED9129385 for <>; Fri, 9 Nov 2018 14:53:19 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=3235; q=dns/txt; s=iport; t=1541803999; x=1543013599; h=subject:to:cc:references:from:message-id:date: mime-version:in-reply-to:content-transfer-encoding; bh=rKduOwvVIyLPXO39kHbg34QMB9KTxpzcRBHEVEib8Qg=; b=cks2L+xsKZ8U/ScMQ9mpbKGKnSkeHIu4TvoX/w1cb2WL/u9U5wsye4oU fksylJiDAPJMqgYx1KJzPv76+ODo1SRoyKWW9hjVNhYygQqs+BiWRGP7C //4Z/y7O96OSpprDKci+g0rZ9nXa/jzTlwcajLujYD3wimExTZfrJffAE Q=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="5.54,485,1534809600"; d="scan'208";a="7881340"
Received: from (HELO ([]) by with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Nov 2018 22:53:17 +0000
Received: from [] ([]) by (8.15.2/8.15.2) with ESMTP id wA9MrH5l022684; Fri, 9 Nov 2018 22:53:17 GMT
To: Martin Bjorklund <>,
References: <> <> <> <>
From: Robert Wilton <>
Message-ID: <>
Date: Fri, 09 Nov 2018 22:53:16 +0000
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Content-Language: en-US
X-Outbound-SMTP-Client:, []
Archived-At: <>
Subject: Re: [netmod] New Version Notification for draft-verdt-netmod-yang-versioning-reqs-01.txt
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 09 Nov 2018 22:53:22 -0000

Hi Martin,

On 09/11/2018 16:31, Martin Bjorklund wrote:
> Juergen Schoenwaelder <> wrote:
>> On Fri, Nov 09, 2018 at 02:37:29PM +0100, Martin Bjorklund wrote:
>>>> I think we need to distinguish between the agreement on the
>>>> requirement, namely that a server should be able to provide support
>>>> for an old and a new definition, and agreement on the solution.
>>>> Do you disagree with the requirement? Or do you disagree with the
>>>> consequences of implementing multiple versions of the same module
>>>> for some of the proposed new versioning schemes? Or both?
>>> I do not agree with the requirement that a server MUST be able to
>>> support multiple revisions of the same module, which is how I
>>> interpret 3.2.  If this is not the intention of 3.2, maybe it can be
>>> clarified.
>> Here is what 3.2 says:
>>         3.2  The solution MUST provide a mechanism to allow servers to
>>              simultaneously support clients using different revisions of
>>              modules.  A client's choice of particular revision of one or
>>              more modules may restrict the particular revision of other
>>              modules that may be used in the same request or session.
>> This does _not_ say servers MUST implement this.
>> Item 3.2 establishes a requirement and for some solutions it may be
>> easy to satisfy this requirement, for others it may be more costly to
>> satisfy this requirement.
>> The whole requirements exercise becomes a rather pointless exercise if
>> we remove requirements so that certain solutions look more
>> attractive.
> Ok, but that's not what I wrote.  I don't agree with this requirement
> which says that it MUST be possible for a server to support
> different revisions of a given module (again, if this is not the
> intention of the text, please clarify).  I simply don't think that
> this is a good requirement.
One way to think of this is as YANG data models defining an API between 
client and server.

There seem to be lots of REST APIs that implement versioning of their 
API by having a version number in the URL.  In fact, I think that 
RESTCONF adopts this approach to allow versioning of the protocol.

One solution is as Andy describes.  The underlying server only 
implements one version of the a given YANG module, but they may provide 
other views on to this data using different versions of YANG modules.  
E.g. the same as how Vendor YANG models, IETF YANG models, and 
OpenConfig YANG models might be treated as their own views, mapped to 
the same internal YANG modules.


> /martin
>> I have not seen a proposal that addresses all requirements and hence
>> at the end the WG needs to decide which tradeoffs make sense.
>> /js
>> -- 
>> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
>> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
>> Fax:   +49 421 200 3103         <>
> _______________________________________________
> netmod mailing list
> .