[NGO] Re: [YANG] YANG augment-stmt

Balazs Lengyel <balazs.lengyel@ericsson.com> Tue, 11 December 2007 12:10 UTC

Return-path: <ngo-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1J23wq-0000yn-BV; Tue, 11 Dec 2007 07:10:52 -0500
Received: from ngo by megatron.ietf.org with local (Exim 4.43) id 1J23wp-0000yb-QT for ngo-confirm+ok@megatron.ietf.org; Tue, 11 Dec 2007 07:10:51 -0500
Received: from [10.90.34.44] (helo=chiedprmail1.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1J23wj-0000y9-FH; Tue, 11 Dec 2007 07:10:45 -0500
Received: from mailgw3.ericsson.se ([193.180.251.60]) by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1J23wi-0003vl-Oj; Tue, 11 Dec 2007 07:10:45 -0500
Received: from mailgw3.ericsson.se (unknown [127.0.0.1]) by mailgw3.ericsson.se (Symantec Mail Security) with ESMTP id 918C620E81; Tue, 11 Dec 2007 13:10:43 +0100 (CET)
X-AuditID: c1b4fb3c-b179abb0000030cf-c0-475e7e432935
Received: from esealmw127.eemea.ericsson.se (unknown [153.88.254.122]) by mailgw3.ericsson.se (Symantec Mail Security) with ESMTP id 51D502073A; Tue, 11 Dec 2007 13:10:43 +0100 (CET)
Received: from esealmw129.eemea.ericsson.se ([153.88.254.177]) by esealmw127.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); Tue, 11 Dec 2007 13:10:43 +0100
Received: from [159.107.197.224] ([159.107.197.224]) by esealmw129.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); Tue, 11 Dec 2007 13:10:42 +0100
Message-ID: <475E90E6.4040601@ericsson.com>
Date: Tue, 11 Dec 2007 14:30:14 +0100
From: Balazs Lengyel <balazs.lengyel@ericsson.com>
User-Agent: Thunderbird 2.0.0.4 (X11/20070604)
MIME-Version: 1.0
To: Martin Bjorklund <mbj@tail-f.com>
References: <475D68D5.50400@andybierman.com> <20071210.224647.240363363.mbj@tail-f.com>
In-Reply-To: <20071210.224647.240363363.mbj@tail-f.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 11 Dec 2007 12:10:42.0828 (UTC) FILETIME=[DA26A4C0:01C83BEE]
X-Brightmail-Tracker: AAAAAA==
X-Spam-Score: 0.0 (/)
X-Scan-Signature: f66b12316365a3fe519e75911daf28a8
Cc: yang@ietf.org, ngo@ietf.org
Subject: [NGO] Re: [YANG] YANG augment-stmt
X-BeenThere: ngo@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: NETCONF Goes On - discussions on future work and extensions to NETCONF <ngo.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/ngo>, <mailto:ngo-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/ngo>
List-Post: <mailto:ngo@ietf.org>
List-Help: <mailto:ngo-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/ngo>, <mailto:ngo-request@ietf.org?subject=subscribe>
Errors-To: ngo-bounces@ietf.org

Hello,
Certainly some uses of augment could be really confusing, so if we could restrict it without 
ugly CLRs to the two use-cases it would be nice. Something like either use top level augment or 
an augment augmenting direct siblings like in Martin's example?
Imagine an augment within an augment both with a dynamic when condition or an augment within a 
choice etc.
Balazs

Martin Bjorklund wrote:
> Andy Bierman <ietf@andybierman.com> wrote:
>> Hi,
>>
>> Looking at the ABNF for the all-powerful augment statement,
>> I notice it can appear inside a list or inside an another augment,
>> anywhere a data-def-stmt can go in fact.
>>
>> Since this clause does not instantiate any data where it
>> located, but rather at the target specified by the augment-arg-str,
>> the containment for the augment seems pretty much irrelevant,
>> except that the augment could be nested within N different 'when'
>> statements, nested inside obsolete nodes, etc.
>>
>> The key in a list with an augment-stmt has no affect on the target data,
>> does it?
> 
> I'm not sure I understand this question.
> 
>> What does it mean to have an augment inside a grouping, so that
>> it is copied everywhere a 'uses' for that grouping is specified?
>>
>> What is the use-case for augment inside augment?
> 
> The use case for augment inside anything but on the top-level is to be
> used in combination with 'uses'.  The idea is that you can do 'uses
> foo', and then in a following augment add new nodes to the foo
> grouping:
> 
>   grouping server {
>     leaf name { type string; }
>     container address {
>       leaf ip { type inet:ip-address; }
>     }
>   }
> 
>   container foo {
>     uses server;
>     augment address {
>       leaf port { type inet:port-number; } 
>     }
>   }      
> 
> Or the same thing as a reusable grouping:
> 
>   grouping server-with-port {
>     uses server;
>     augment address {
>       leaf port { type inet:port-number; } 
>     }
>   }      
>     
> This way extensions to groupings ("complex types":) can be defined.
> 
>> That means while you are defining extra data to attach to /acme:foo
>> you also define some extra data for /a:bar/b:baz?
> 
> Yes.
> 
>> I have only seen augment examples that appear at the top-level.
>> Are there real examples of data models that actually need to
>> nest the augment-stmt anywhere and everywhere in the data model,
>> even inside the 'input' clause for an RPC method definition?
>>
>> What are the requirements for WG or vendor data model augmentation exactly?
> 
> I'm not sure I understand this question either.
> 
> 
> /martin
> 
> 
> _______________________________________________
> YANG mailing list
> YANG@ietf.org
> https://www1.ietf.org/mailman/listinfo/yang

-- 
Balazs Lengyel                       Ericsson Hungary Ltd.
TSP System Manager
ECN: 831 7320                        Fax: +36 1 4377792
Tel: +36-1-437-7320     email: Balazs.Lengyel@ericsson.com


_______________________________________________
NGO mailing list
NGO@ietf.org
https://www1.ietf.org/mailman/listinfo/ngo