Re: [I2rs-proto-dt] couple YANG details

Jeffrey Haas <jhaas@pfrc.org> Fri, 23 October 2015 15:18 UTC

Return-Path: <jhaas@slice.pfrc.org>
X-Original-To: i2rs-proto-dt@ietfa.amsl.com
Delivered-To: i2rs-proto-dt@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E7A131A1C02 for <i2rs-proto-dt@ietfa.amsl.com>; Fri, 23 Oct 2015 08:18:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.578
X-Spam-Level:
X-Spam-Status: No, score=-1.578 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, IP_NOT_FRIENDLY=0.334, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=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 APHMIf7zdRcU for <i2rs-proto-dt@ietfa.amsl.com>; Fri, 23 Oct 2015 08:18:01 -0700 (PDT)
Received: from slice.pfrc.org (slice.pfrc.org [67.207.130.108]) by ietfa.amsl.com (Postfix) with ESMTP id 3A8881A1BE3 for <i2rs-proto-dt@ietf.org>; Fri, 23 Oct 2015 08:18:01 -0700 (PDT)
Received: by slice.pfrc.org (Postfix, from userid 1001) id 717021E508; Fri, 23 Oct 2015 11:17:56 -0400 (EDT)
Date: Fri, 23 Oct 2015 11:17:56 -0400
From: Jeffrey Haas <jhaas@pfrc.org>
To: Andy Bierman <andy@yumaworks.com>
Message-ID: <20151023151756.GF26793@pfrc.org>
References: <CABCOCHRRDZZZF1uj6UVDezmZzM3g8bEQiWTkyZKUPk6HL40fcg@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <CABCOCHRRDZZZF1uj6UVDezmZzM3g8bEQiWTkyZKUPk6HL40fcg@mail.gmail.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Archived-At: <http://mailarchive.ietf.org/arch/msg/i2rs-proto-dt/JvkGcrCDmzbepMXgfq8vtBq4rfs>
Cc: i2rs-proto-dt@ietf.org, Susan Hares <shares@ndzh.com>
Subject: Re: [I2rs-proto-dt] couple YANG details
X-BeenThere: i2rs-proto-dt@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: I2RS protocol design team <i2rs-proto-dt.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/i2rs-proto-dt>, <mailto:i2rs-proto-dt-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/i2rs-proto-dt/>
List-Post: <mailto:i2rs-proto-dt@ietf.org>
List-Help: <mailto:i2rs-proto-dt-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/i2rs-proto-dt>, <mailto:i2rs-proto-dt-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Oct 2015 15:18:02 -0000

On Wed, Oct 21, 2015 at 02:45:56PM -0700, Andy Bierman wrote:
> 1) module-level "ephemeral" flag
> Since the data node flag applies to the entire subtree,
> it should be simple enough to just require each top-level
> data node to declare 'ephemeral true' if needed.
> There are usually 1 - 2 top-level data nodes per module so
> this is not a burden.  Checking 2 places is too complicated
> and they can conflict.

As long as we permit ephemeral true in nodes other than the top one, I think
that's good.  We want to permit data models to be published that have
non-ephemeral components with some ephemeral without requiring an ephemeral
augmentation module just for the ephemeral properties.

> 2) groupings wrt/ edit overlap
> 
> YANG already has a way to say what sub-nodes must
> be present (mandatory=true, min-elements>0).
> Is this good enough for I2RS?  Can the requirements
> for the ephemeral version be different than the
> persistent version, wrt/ mandatory & min-elements?

If I'm parsing this correctly, I think that's fine.  We want to avoid
introducing additional constraints in ephemeral modules, but shouldn't
perturb the requirements for persistent config state.  Since ephemeral state
can only go underneath the persistent stuff when they mix, min-elements
should be tied to requirements for the persistent nodes; the ephemeral nodes
may contribute, but shouldn't count against the min, ideally.

-- Jeff