Re: [netmod] draft-openconfig-netmod-opstate: Changes in -01

Rob Shakir <rjs@rob.sh> Fri, 07 August 2015 19:21 UTC

Return-Path: <rjs@rob.sh>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A23371A3BA4 for <netmod@ietfa.amsl.com>; Fri, 7 Aug 2015 12:21:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level:
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 pOWkleSdj-Bv for <netmod@ietfa.amsl.com>; Fri, 7 Aug 2015 12:21:55 -0700 (PDT)
Received: from cappuccino.rob.sh (cappuccino.rob.sh [IPv6:2a03:9800:10:4c::cafe:b00c]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B38631A21C4 for <netmod@ietf.org>; Fri, 7 Aug 2015 12:21:54 -0700 (PDT)
Received: from [70.24.199.3] (helo=corretto.local) by cappuccino.rob.sh with esmtpa (Exim 4.80) (envelope-from <rjs@rob.sh>) id 1ZNnD3-0004yr-1O; Fri, 07 Aug 2015 20:21:41 +0100
Message-ID: <55C5054C.1090704@rob.sh>
Date: Fri, 07 Aug 2015 15:21:48 -0400
From: Rob Shakir <rjs@rob.sh>
User-Agent: Postbox 4.0.3 (Macintosh/20150805)
MIME-Version: 1.0
To: Rob Shakir <rjs@rob.sh>, "netmod@ietf.org" <netmod@ietf.org>
References: <55C4B9DB.1030400@rob.sh> <20150807141439.GA76991@elstar.local> <55C4C346.406@rob.sh> <20150807153909.GA182@elstar.local>
In-Reply-To: <20150807153909.GA182@elstar.local>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/netmod/MXx9wyK57kO1lkeICj-wMCt7rAM>
Subject: Re: [netmod] draft-openconfig-netmod-opstate: Changes in -01
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.15
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: Fri, 07 Aug 2015 19:21:57 -0000


Juergen Schoenwaelder wrote:
> But you are right, it is not just the path that is needed to identify
> data residing in configuration datastores. It is in general a tuple
> <selector, path>  and for configuration data the selector is a
> configuration datastore name.

Thanks for the clarification. Do you have examples of other (i.e., 
non-NETCONF) systems that utilise this convention that a path is not an 
absolute reference to a certain data node? Reviewing with various 
interested parties, I'm not sure that there are clear cases that form a 
precedent for this.

If we consider that this then might drive some new behaviour where the 
systems architecture for NMS differs from elsewhere then we might want 
to question whether this is necessary complexity. Indeed, for me this 
comes back to one of the discussions about the other datastores that we 
had on an interim call.

  * 'startup' is really a property of the intended configuration - as to 
whether it has been made persistent. In general, I see very few changes 
that are made where we interact only with the persistent version of the 
intended configuration; and even fewer where the intended configuration 
is not made persistent. In both cases, it tends to be the lack of a 
declarative configuration API that drives the need to interact with either.

  * 'candidate' is again a property of the intended configuration - 
insofar that the 'candidate' set of configuration represents a set of 
changes that have not been requested to be transitioned to the 'applied 
configuration'. This makes sense when a human is working through 
building up a transaction (configure protocol X, protocol Y .. protocol 
Z, then commit) - but isn't quite so clear when it programmatic 
interaction with the network.

It is quite trivial for me to see cases where an external NMS would 
never really need to interact with either of these datastores - such 
that it's quite tricky for me to determine that we really want to 
architect the entire NMS to be able to carry the <selector,path> tuple 
(stealing your terms, thanks!), especially if this means that it has to 
work entirely differently w.r.t paths than the rest of OSS.

r.