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

Vladimir Vassilev <vladimir@transpacket.com> Sat, 20 August 2016 17:18 UTC

Return-Path: <vladimir@transpacket.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 E041D12D1D1 for <netmod@ietfa.amsl.com>; Sat, 20 Aug 2016 10:18:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.001
X-Spam-Level:
X-Spam-Status: No, score=-0.001 tagged_above=-999 required=5 tests=[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 8BHTbZxNpk_w for <netmod@ietfa.amsl.com>; Sat, 20 Aug 2016 10:18:45 -0700 (PDT)
Received: from mail.transpacket.com (s91205186171.blix.com [91.205.186.171]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 36F3612D188 for <netmod@ietf.org>; Sat, 20 Aug 2016 10:18:45 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by mail.transpacket.com (Postfix) with ESMTP id 9896F9261A8; Sat, 20 Aug 2016 19:18:42 +0200 (CEST)
Received: from mail.transpacket.com ([127.0.0.1]) by localhost (mail.transpacket.com [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id 9KHaAPOzmsja; Sat, 20 Aug 2016 19:18:42 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1]) by mail.transpacket.com (Postfix) with ESMTP id 6E3F79261AA; Sat, 20 Aug 2016 19:18:42 +0200 (CEST)
Received: from mail.transpacket.com ([127.0.0.1]) by localhost (mail.transpacket.com [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id MefLwhQ_Vcok; Sat, 20 Aug 2016 19:18:42 +0200 (CEST)
Received: from [192.168.2.191] (cm-84.215.234.162.getinternet.no [84.215.234.162]) by mail.transpacket.com (Postfix) with ESMTPSA id 37FD89261A8; Sat, 20 Aug 2016 19:18:42 +0200 (CEST)
Message-ID: <57B890F2.9070605@transpacket.com>
Date: Sat, 20 Aug 2016 19:18:42 +0200
From: Vladimir Vassilev <vladimir@transpacket.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.7.0
MIME-Version: 1.0
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, netmod@ietf.org
References: <m2mvkj4tvv.fsf@nic.cz> <57AC713E.8080006@transpacket.com> <20160817.102821.2247775938129211118.mbj@tail-f.com> <20160817.111343.387561472405973484.mbj@tail-f.com> <08053DE7-EF6C-4A14-B926-79723F516405@gmail.com> <20160820082922.GB9108@elstar.local>
In-Reply-To: <20160820082922.GB9108@elstar.local>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/uPQOOD5AUmkMv3oew4OAM8U0BIk>
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: Sat, 20 Aug 2016 17:18:47 -0000

On 08/20/2016 10:29 AM, Juergen Schoenwaelder wrote:
>
> As document shepherd, I believe there is no strong agreement on the
> problem and there is no concrete proposal with strong consensus for a
> modification of the document (which is in AUTH48). In fact, there has
> been no defect description and proposed bug fix at all on the NETMOD
> mailing list.
Hello,

I have strong objection to the text proposed as solution to issue #41:

6.4.1 Xpath Context:

     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.

The description of the issue itself is:

     Y41: clarification of "must" in NP-container <<Y41>>


I believe the 5 mails in the 
http://www.ietf.org/mail-archive/web/netmod/current/msg10015.html did 
not address all the negative consequences of such change in the rules 
for evaluation of validation statements regarding non-presence 
containers and the solution that was taken is not acceptable for the 
following reasons:

[1] the proposed text is not a clarification as indicated in Y41 but a 
backward incompatible change of the YANG validation statement evaluation 
rules.

[2] the clarification introduces further confusion for models like NACM 
where non-presence containers are used for access control and their 
explicit creation and deletion is the only sane way to enforce the 
configured rules. Always present non-presence containers that MAY be 
auto deleted by servers ... how will this work exactly?

[3] the proposed text leads to increased processing of large number of 
validation checks which is very unlikely to bring real value to YANG. 20 
non-presence containers with must statements per interface in 
96-interface switch is already heavy Xpath evaluation task. A task that 
in YANG 1.0 was not necessary if the containers were not explicitly created.

[4] the proposed text leads to less flexibility and excludes certain 
practical validation models e.g. 
https://www.ietf.org/mail-archive/web/netconf/current/msg11609.html

[5] the proposed text inflicts problems 1-4 and its clarification effect 
is not working for me.

I have a concrete proposal for a solution on the issue - remove the 
"non-presence containers MAY be deleted automatically" text from YANG 
1.1 instead of opening Pandora's box:

Instead of building further the pipe dream of non-presence containers 
that MAY be deleted automatically I propose that flexibility removed 
from YANG 1.1. All non-presence containers have to be created explicitly 
and the validation statements must be evaluated only for explicitly 
created containers (so long there is no change from YANG 1.0) and these 
containers MUST be deleted explicitly (replacing the "MAY be deleted 
automatically" YANG 1.0 optimization attempt which is the origin of the 
pipe dream) as one would logically expect. It is semantical meaning that 
is not present not the container which still has its usage giving 
structure to the data and especially in cases like NACM and validation 
statements where without certain explicit create/delete rules things get 
really confusing.

The concrete proposal in form of a patch to RFC6020 sent in this e-mail 
to the netconf mailing list: 
https://www.ietf.org/mail-archive/web/netconf/current/msg11637.html 
There will be even more obsoleted clarification text that will be 
irrelevant if the concept change is applied to YANG 1.1

Vladimir