Re: [i2rs] Ephemeral State Requirements discussion

Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> Tue, 31 May 2016 18:48 UTC

Return-Path: <j.schoenwaelder@jacobs-university.de>
X-Original-To: i2rs@ietfa.amsl.com
Delivered-To: i2rs@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9056612D5B5 for <i2rs@ietfa.amsl.com>; Tue, 31 May 2016 11:48:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.626
X-Spam-Level:
X-Spam-Status: No, score=-5.626 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-1.426] 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 dcGnmGOSorNc for <i2rs@ietfa.amsl.com>; Tue, 31 May 2016 11:48:50 -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 9C18212D5A1 for <i2rs@ietf.org>; Tue, 31 May 2016 11:48:50 -0700 (PDT)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas3.jacobs-university.de (Postfix) with ESMTP id 6402CB8C; Tue, 31 May 2016 20:48:49 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas3.jacobs-university.de ([10.70.0.220]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10030) with ESMTP id sQ_ItvOcsMnq; Tue, 31 May 2016 20:48:45 +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; Tue, 31 May 2016 20:48:47 +0200 (CEST)
Received: from localhost (demetrius4.jacobs-university.de [212.201.44.49]) by hermes.jacobs-university.de (Postfix) with ESMTP id 7F53B2004E; Tue, 31 May 2016 20:48:47 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from hermes.jacobs-university.de ([212.201.44.23]) by localhost (demetrius4.jacobs-university.de [212.201.44.32]) (amavisd-new, port 10024) with ESMTP id TbPUypmVfWvy; Tue, 31 May 2016 20:48:45 +0200 (CEST)
Received: from elstar.local (elstar.jacobs.jacobs-university.de [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id 8EA7720047; Tue, 31 May 2016 20:48:45 +0200 (CEST)
Received: by elstar.local (Postfix, from userid 501) id C63A23AFED5C; Tue, 31 May 2016 20:48:44 +0200 (CEST)
Date: Tue, 31 May 2016 20:48:44 +0200
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: "Joel M. Halpern" <jmh@joelhalpern.com>
Message-ID: <20160531184844.GB22928@elstar.local>
Mail-Followup-To: "Joel M. Halpern" <jmh@joelhalpern.com>, i2rs@ietf.org
References: <000601d1bad5$70523090$50f691b0$@ndzh.com> <20160531063840.GA21289@elstar.local> <026df5be-4a60-f340-60aa-d713a0e75c48@joelhalpern.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <026df5be-4a60-f340-60aa-d713a0e75c48@joelhalpern.com>
User-Agent: Mutt/1.6.0 (2016-04-01)
Archived-At: <http://mailarchive.ietf.org/arch/msg/i2rs/A63ANCSXuS6DvyIIt3Z-0EXjims>
Cc: i2rs@ietf.org
Subject: Re: [i2rs] Ephemeral State Requirements discussion
X-BeenThere: i2rs@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
List-Id: "Interface to The Internet Routing System \(IRS\)" <i2rs.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/i2rs>, <mailto:i2rs-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/i2rs/>
List-Post: <mailto:i2rs@ietf.org>
List-Help: <mailto:i2rs-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/i2rs>, <mailto:i2rs-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 31 May 2016 18:48:53 -0000

On Tue, May 31, 2016 at 02:27:12PM -0400, Joel M. Halpern wrote:

> If I understood you correctly Juergen, you are suggesting using your
> document:
> https://tools.ietf.org/html/draft-schoenw-netmod-revised-datastores-00
> as a basis for addressing the I2RS requirements.

No. All I am saying is that there are discussions underway basically
triggered by openconfig ideas and that we need to find a common
architectural model for the various datastores different groups like
to have. The I-D cited above is input to this discussion. The
discussion goes beyond I2RS concerns but still I2RS concerns should be
considered by this discussion.
 
> I am having trouble understanding how the approach in your document would
> work for ephemeral configured information.
> 1) The document says that such information is treated like other control
> protocols.
> 1a) How would one use NetConf or RestConf to write this?

Via an ephemeral datastore. The difference is that this ephemeral
datastore primarily interacts with operational state. This actually
seems consistent since I2RS tends to favor to relate to state more
than to config.

> 1b) How would the controllable relationship with conventional configuration
> be realized

The ephemeral datastore overwrite, right? So an implementation pulls
from the <applied> config datastore and the ephemeral datastore and
the (+) function gives content from the ephemeral datastore
preference.

> 1c) How would the descriptions of this information be provided? (Arguably,
> this last is not a requirements question, but it would help in understanding
> your proposal.

A YANG module. Perhaps I do not understand the question.

> 2) Similarly, since operations have been segregated by datastore, how would
> an I2RS client read the configured information to tell what was being
> applied?

Be careful with 'applied' since there now is an 'applied' datastore
with very specific meaning. But in general, a client that wants to
read one of the configuration datastores simply reads that datastore.

> 3) How would the I2RS requirement for priority of operation be applied?

It is the magic (+) function that merges <applied> config with
<ephemeral> config leading to operational state.

> 4) How would the requirement for reversion to configured values upon removal
> of an I2RS modification be done?

The magic (+) function would have to take care of it.

> It is very hard as a reader to tell if your approach is acceptable, better
> than, or worse than, the one we have on the table.

I understand. The alternative model is to have <ephemeral> somewhere
between <applied> and <operational state>. But then it seems people
want <ephemeral> really behave more like other control plane protocols
that also typically interact directly with <operational state>.

> As far as I can tell, in terms of a consistent architecture for data stores,
> both approaches consist of creating extra data stores when needed.

Yes. But details matter. For example, <intended> and YANG
configuration datastore validation are one thing, I tend to believe
that I2RS validation really means something different. Hence I am
pointing out that we need the I2RS requirements but then we
(NETMOD/NETCONF people) also need to come up with an architectural
model that considers things that are beyond I2RS' scope.

/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/>