Re: [netmod] OpsState Direction Impact on Recommended IETF YANG Model Structure

Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> Thu, 21 July 2016 17:40 UTC

Return-Path: <j.schoenwaelder@jacobs-university.de>
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 32E0D12B006 for <netmod@ietfa.amsl.com>; Thu, 21 Jul 2016 10:40:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.487
X-Spam-Level:
X-Spam-Status: No, score=-5.487 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-1.287] 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 AjV78fcKtM_F for <netmod@ietfa.amsl.com>; Thu, 21 Jul 2016 10:40:40 -0700 (PDT)
Received: from atlas3.jacobs-university.de (atlas3.jacobs-university.de [212.201.44.18]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 448FB12B046 for <netmod@ietf.org>; Thu, 21 Jul 2016 10:40:40 -0700 (PDT)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas3.jacobs-university.de (Postfix) with ESMTP id 92C171113; Thu, 21 Jul 2016 19:40:38 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas3.jacobs-university.de ([10.70.0.205]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10030) with ESMTP id 6zc43K6whWV2; Thu, 21 Jul 2016 19:40:32 +0200 (CEST)
Received: from hermes.jacobs-university.de (hermes.jacobs-university.de [212.201.44.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "hermes.jacobs-university.de", Issuer "Jacobs University CA - G01" (verified OK)) by atlas3.jacobs-university.de (Postfix) with ESMTPS; Thu, 21 Jul 2016 19:40:36 +0200 (CEST)
Received: from localhost (demetrius3.jacobs-university.de [212.201.44.48]) by hermes.jacobs-university.de (Postfix) with ESMTP id 6C25520077; Thu, 21 Jul 2016 19:40:36 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from hermes.jacobs-university.de ([212.201.44.23]) by localhost (demetrius3.jacobs-university.de [212.201.44.32]) (amavisd-new, port 10024) with ESMTP id Sw4OrWJDKAWH; Thu, 21 Jul 2016 19:40:35 +0200 (CEST)
Received: from elstar.local (elstar.jacobs.jacobs-university.de [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id 4678920075; Thu, 21 Jul 2016 19:40:35 +0200 (CEST)
Received: by elstar.local (Postfix, from userid 501) id 67DD23BDEF91; Thu, 21 Jul 2016 19:40:33 +0200 (CEST)
Date: Thu, 21 Jul 2016 19:40:33 +0200
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: Robert Wilton <rwilton@cisco.com>
Message-ID: <20160721174033.GB54646@elstar.local>
Mail-Followup-To: Robert Wilton <rwilton@cisco.com>, netmod WG <netmod@ietf.org>
References: <D3A935F0.6A4DC%acee@cisco.com> <eb15fd23-2c0a-50c4-1ebc-7c0e4867dfd8@cisco.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <eb15fd23-2c0a-50c4-1ebc-7c0e4867dfd8@cisco.com>
User-Agent: Mutt/1.6.0 (2016-04-01)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/XKhqA7KEzeqYQqMRVyW-37fz0N4>
Cc: netmod WG <netmod@ietf.org>
Subject: Re: [netmod] OpsState Direction Impact on Recommended IETF YANG Model Structure
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
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: Thu, 21 Jul 2016 17:40:42 -0000

On Thu, Jul 21, 2016 at 06:39:29PM +0200, Robert Wilton wrote:
> Hi,
> 
> So after the various meetings and discussions this week, I think that the
> most important thing for IETF to do is to publish reviewed YANG models
> quickly, with the understanding that it is better to publish imperfect
> models than to end up not publishing any models at all.  This is with the
> understanding that these models could be fixed by subsequent RFCs if
> required.
> 
> So, I effectively support Acee's solution (2).  But to state this more
> precisely, I would suggest that the specific guidance should be:
> 1) IETF Models MUST NOT have a split for applied configuration leaves.  All
> IETF models that have not been turned into RFCs must be modified to remove
> any applied configuration nodes.  Any models that have this convention in
> RFCs should be revised to follow a consistent intended/applied convention
> for IETF models.  [The justification here is that IETF standard models have
> to be able to assume that the applied configuration will be available via a
> separate applied configuration (or operational state) datastore or
> equivalent mechanism.]

Are there any published models that have "applied configuration
nodes"?  What is actually an "applied configuration node"? Perhaps an
example helps: Are you trying to suggest that

  /if:interfaces-state/if:interface/ipv4/address/ip

is now made illegal and we have right now no way to represent
operationally used IP addresses? That sounds somewhat broken to me.

> 2) All IETF Models MUST put "derived state and statistics" into a separate
> namespace from the configuration (i.e. top level "feature" and
> "feature-state").  The two trees must be as structurally similar as
> possible, sharing the same paths, node names (except the top level node),
> using the same lists keys where appropriate, etc.*

Not sure what exactly drived state is. And even then, why MUST derived
state and statistics be in a separate tree? And can we please avoid
'feature' and 'feature-state' since YANG uses the term 'feature' in a
very different sense.

> 3) Both of these rules should be written into rfc6087bis.  We should then
> get this guidelines document finished as quickly as possible at the highest
> priority, and use that as the definitive guideline for the modules that the
> working groups are working on.
> 
> * Note, I chose this option not because I think that it is elegant (because
> I don't) but because it seems to me that it is the only pragmatically option
> that we have available.  The alternatives appear to be: (i) we wait another
> year before publishing any models (if ever), or (ii) we publish models that
> no-one can use today without violating the existing RFCs, or (iii) we end up
> with a hybrid mess without any consistency.

I do not see how the proposed rules achieve the goals you stated. Again,
examples may help:

  /if:interfaces-state/if:interface/ipv4/address/ip

This can be implemented today. It may not be necessary anymore some
time in the future if we have a revised datastore model plus matching
solutions. The upgrade path from this is, however, extremly simple:
We change the status of the definition of this object to deprecated.

Bottom line: I think we should continue to follow the model used by
the ietf-interfaces model and the ietf-ip model until we have a better
solution in place (and subsequently we can deprecate objects that
became redundant).

/js

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>