Re: [netmod] [Netconf] What should a server response be? - depending on NP-containers

Martin Bjorklund <mbj@tail-f.com> Tue, 23 August 2016 08:16 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 2F87212D87C for <netmod@ietfa.amsl.com>; Tue, 23 Aug 2016 01:16:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.449
X-Spam-Level:
X-Spam-Status: No, score=-2.449 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.548, 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 DoHrM51raEdz for <netmod@ietfa.amsl.com>; Tue, 23 Aug 2016 01:16:16 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id BCBC712B00C for <netmod@ietf.org>; Tue, 23 Aug 2016 01:16:15 -0700 (PDT)
Received: from localhost (unknown [173.38.220.38]) by mail.tail-f.com (Postfix) with ESMTPSA id 7926C1AE018C; Tue, 23 Aug 2016 10:16:14 +0200 (CEST)
Date: Tue, 23 Aug 2016 10:15:17 +0200
Message-Id: <20160823.101517.293640528041965584.mbj@tail-f.com>
To: vladimir@transpacket.com
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <57BC04E4.6090308@transpacket.com>
References: <57BBF05A.7040006@transpacket.com> <20160823073348.GA15044@elstar.local> <57BC04E4.6090308@transpacket.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/bN0IWx4vYA928ufBYPfsImsuj6g>
Cc: netmod@ietf.org
Subject: Re: [netmod] [Netconf] What should a server response be? - depending on NP-containers
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.17
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: Tue, 23 Aug 2016 08:16:17 -0000

Vladimir Vassilev <vladimir@transpacket.com> wrote:
> On 08/23/2016 09:33 AM, Juergen Schoenwaelder wrote:
> > On Tue, Aug 23, 2016 at 08:42:34AM +0200, Vladimir Vassilev wrote:
> >> On 08/23/2016 12:08 AM, Alex Campbell wrote:
> >>> The intention in this case is obviously to evaluate the 'must'
> >>> statement if
> >>> the container contains any values; what would break if we said that
> >>>
> >>>      A non-presence container exists in the data tree if and only if it
> >>>      has
> >>>      any children which exist in the data tree.
> >>>
> >>> thus disallowing the existence of empty NP-containers in the data
> >>> tree?
> >> The question is where is the misunderstanding.
> >>
> >>     "If a node that exists in the accessible tree has a non-presence
> >>     container as a child, then the non-presence container also exists in
> >>     the tree."
> >>
> >> What does this mean? I believe there is confusion based on "the tree"
> >> refering not to the data tree but the Xpath context. At least I hoped
> >> until
> >> I realized the text was introduced as a solution to Y41 'clarification
> >> of
> >> "must" in NP-container'. That definitely means it addresses the must
> >> statements in the non-presence containers and it means "the tree" as
> >> in the
> >> data tree.
> > My reading is that 'tree' refers to the 'accessible tree' used earlier
> > in the sentence. The accessible tree itself is defined just above the
> > quoted sentence. If my reading of the text is correct, then the
> > obvious clarification would be:
> >
> > OLD
> >
> >     If a node that exists in the accessible tree has a non-presence
> >     container as a child, then the non-presence container also exists in
> >     the tree.
> >
> > NEW
> >
> >     If a node that exists in the accessible tree has a non-presence
> >     container as a child, then the non-presence container also exists in
> >     the accessible tree.
> >
> > /js
> >
> So should the must statements defined in the non-presence container
> which is now part of the accessible tree be evaluated or not?

They are evaluated.  See Section 7.5.3:

   When a datastore is validated, all "must" constraints are
   conceptually evaluated once for each node in the accessible tree (see
   Section 6.4.1).


/martin