Re: [netmod] Datastore leaf for yang instance data

Robert Wilton <> Wed, 28 November 2018 15:27 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 256BF130FBE for <>; Wed, 28 Nov 2018 07:27:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -15.96
X-Spam-Status: No, score=-15.96 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-1.459, 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 lP9W4Bur4GiM for <>; Wed, 28 Nov 2018 07:27:30 -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 2D73D130F90 for <>; Wed, 28 Nov 2018 07:27:30 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=2569; q=dns/txt; s=iport; t=1543418850; x=1544628450; h=subject:to:references:from:message-id:date:mime-version: in-reply-to:content-transfer-encoding; bh=zoa802mwjgRl23pa+zeg0GxTzEGjH4YBPygfpff9O04=; b=faLouLsP/pgNJ9ceWn9kHyzqpIypYW0QWunQU1bK6Iu0tRScIxgYXm2h bPowoueYLQuNByvFuJPp40QNty9pcEd6b+6/ea7lJ03PQ/Oa360DbQk3m HnHVcfF/0X8wCwQ/JABvqH9Myzb7VnYJDrTfG/IOl+uvgsFylk5vZZ4nH c=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="5.56,291,1539648000"; d="scan'208";a="8388663"
Received: from (HELO ([]) by with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Nov 2018 15:27:28 +0000
Received: from [] ( []) by (8.15.2/8.15.2) with ESMTP id wASFRQMT007362; Wed, 28 Nov 2018 15:27:27 GMT
To: Balázs Lengyel <>, Ladislav Lhotka <>, Martin Bjorklund <>, "" <>
References: <> <> <> <> <> <> <> <> <>
From: Robert Wilton <>
Message-ID: <>
Date: Wed, 28 Nov 2018 15:27:26 +0000
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.3.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
Archived-At: <>
Subject: Re: [netmod] Datastore leaf for yang instance data
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: Wed, 28 Nov 2018 15:27:41 -0000

On 28/11/2018 10:20, Juergen Schoenwaelder wrote:
> On Wed, Nov 28, 2018 at 09:41:12AM +0000, Balázs Lengyel wrote:
>>> I do not buy this story. Your software needs to decide somehow what
>>> instance data means. A config true leaf in candidate means something
>>> different than the same config true leaf in running and this yet again
>>> means something different than the same config true leaf in operational.
>>> /js
>> BALAZS: As I understood the WG decided that this draft should only be about
>> the format of the yang instance data. What the SW does with it is out of
>> scope. So considerations whether instance data should be loaded into running
>> or candidate or not at all, are outside the scope.
> If you do not know what the instance data means, any attempt to use it
> is kind of broken.
>> I want to provide a datastore indicator, but how that should be used (and
>> thus what is exactly means) is out of scope.
> I disagree. The datastore indicator is needed to understand what the
> data means, i.e., to do anything meaningful with it.

I think that a datastore indicator is useful sometimes.  E.g. it might 
be helpful in some cases to know that the data was associated with a 
particular datastore.

But in the general case I think that this is just "data at rest", and 
probably the key thing to know is whether (i) the data relates to 
configuration, or (ii) the data relates to operational state.

This could potentially be inferred from a datastore leaf, or perhaps 
this distinction could more explicitly be made by a separate field, 
which I would make an enumeration or identity, since there might be 
other types of data in future, such as capability information or 


>> Anyway in some cases it would be problematic to define a single datastore
>> parameter. E.g. the draft allows the real world use case of putting config
>> and state data in the same file. In this case state data is associated with
>> operational while config data is with running/candidate. In the non-NMDA
>> case I do not even know what the correct daatastore is for state data.
> We created NMDA because mixing <running> with <operational> is broken
> in a number of cases. I am fine to accept that the datastore indicator
> may be absent paired with a clear warning that in this case it is
> undefined what the data means. (And I will hope that robust
> implementations will avoid working with data that has unclear
> semantics or at least generate warnings.)
> /js