Re: [netmod] augment YANG 1.0 with YANG 1.1 OK?

Martin Bjorklund <mbj@tail-f.com> Wed, 25 October 2017 19:49 UTC

Return-Path: <mbj@tail-f.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7F7C3139095 for <netmod@ietfa.amsl.com>; Wed, 25 Oct 2017 12:49:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VB25j7az7m56 for <netmod@ietfa.amsl.com>; Wed, 25 Oct 2017 12:49:31 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 2581E138AEE for <netmod@ietf.org>; Wed, 25 Oct 2017 12:49:31 -0700 (PDT)
Received: from localhost (h-40-225.A165.priv.bahnhof.se [94.254.40.225]) by mail.tail-f.com (Postfix) with ESMTPSA id 8B09F1AE0332; Wed, 25 Oct 2017 21:49:29 +0200 (CEST)
Date: Wed, 25 Oct 2017 21:49:29 +0200
Message-Id: <20171025.214929.480782767501855061.mbj@tail-f.com>
To: andy@yumaworks.com
Cc: rwilton@cisco.com, j.schoenwaelder@jacobs-university.de, netmod@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <CABCOCHTxrxxa0YGtXs8M3x8NGnb0yGJeGPk=6j0s=zsXqtTHNg@mail.gmail.com>
References: <CABCOCHR22Ehryxu374a_-F6PFYayTgizReHuC0EaY4uBC7+vyg@mail.gmail.com> <c470cfec-c1b8-a419-ca52-30c47697e21f@cisco.com> <CABCOCHTxrxxa0YGtXs8M3x8NGnb0yGJeGPk=6j0s=zsXqtTHNg@mail.gmail.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/PDDKKW90hf9Y_Bs3DJMVWW5KIJw>
Subject: Re: [netmod] augment YANG 1.0 with YANG 1.1 OK?
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 25 Oct 2017 19:49:32 -0000

Andy Bierman <andy@yumaworks.com> wrote:
> I think NMDA is creating much more complexity and disruption than is
> required.
> The original issue was the OpenConfig-style config/state trees.
> The WG agreed that an RPC-based solution was needed so that the
> YANG modules would not need to change (far too disruptive!).
> 
> Then the IETF proceeds to redo all the YANG modules anyway.
> Now the server is allowed to implement the same module differently in each
> datastore.
> Now comparing the configured and operational value is even harder than
> before.
> 
> None of this added complexity was in the OpenConfig proposal.
> It was not even possible to have different features and deviations for the
> same object in that proposal.

Actually, this is not correct.  In both OC and the old IETF split tree
solutions, the configuration and operational state were modelled with
duplicate nodes, and you could certainly deviate these nodes
differently.

This said, I share your concern about complexity.  I also agree that
the only model that makes the client simple is that if all objects in
the config are also available with the same types in operational
state.  Otherwise comparison won't work (or be complicated).

But at the same time, the converse is not true.  I.e., if an object is
present in operational, it doesn't have to be configurable.

So what I think we want is that the schema for the conventional
datastore is a subset of the schema for operational.

This would allow an implementation that cannot support configuration
of let's say the MTU, to deviate the mtu with "not-supported" in the
conventional datastore, but it will still be available for inspection
in operational.

Does this make sense?


/martin