Re: [i2rs] Ephemeral State Requirements discussion

"Susan Hares" <shares@ndzh.com> Wed, 01 June 2016 11:33 UTC

Return-Path: <shares@ndzh.com>
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 2D16112D191 for <i2rs@ietfa.amsl.com>; Wed, 1 Jun 2016 04:33:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.738
X-Spam-Level: *
X-Spam-Status: No, score=1.738 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DOS_OUTLOOK_TO_MX=2.845, RDNS_NONE=0.793] autolearn=no 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 0eH7rUus0NRv for <i2rs@ietfa.amsl.com>; Wed, 1 Jun 2016 04:33:11 -0700 (PDT)
Received: from hickoryhill-consulting.com (unknown [50.245.122.97]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1708512D195 for <i2rs@ietf.org>; Wed, 1 Jun 2016 04:33:11 -0700 (PDT)
X-Default-Received-SPF: pass (skip=loggedin (res=PASS)) x-ip-name=74.43.47.63;
From: Susan Hares <shares@ndzh.com>
To: 'Juergen Schoenwaelder' <j.schoenwaelder@jacobs-university.de>, "'Joel M. Halpern'" <jmh@joelhalpern.com>
References: <000601d1bad5$70523090$50f691b0$@ndzh.com> <20160531063840.GA21289@elstar.local> <026df5be-4a60-f340-60aa-d713a0e75c48@joelhalpern.com> <20160531184844.GB22928@elstar.local>
In-Reply-To: <20160531184844.GB22928@elstar.local>
Date: Wed, 01 Jun 2016 07:32:45 -0400
Message-ID: <009501d1bbf9$587af900$0970eb00$@ndzh.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQJdaenpM7ljbP1C/TwjkI20GPnldwI0uYM8ArQFymECLv3ehJ6EXPrw
Content-Language: en-us
X-Authenticated-User: skh@ndzh.com
Archived-At: <http://mailarchive.ietf.org/arch/msg/i2rs/arUiNoSEpAifMDAlWbNlSqwIC8s>
Cc: i2rs@ietf.org
Subject: Re: [i2rs] Ephemeral State Requirements discussion
X-BeenThere: i2rs@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
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: Wed, 01 Jun 2016 11:33:13 -0000

Juergen: 

A misconception you have below is that I2RS data models have mostly state.
There are the types of data models: 

1) ephemeral only - configuration and operational data 
2) mixed configuration - ephemeral augmentations to configuration
(bgp-global-config example used for config)
3) mixed operational state - ephemeral augmentations to operational state
(bgp-global-config  example used for state) 
4) some combination of 2 and 3 

Sue 

-----Original Message-----
From: i2rs [mailto:i2rs-bounces@ietf.org] On Behalf Of Juergen Schoenwaelder
Sent: Tuesday, May 31, 2016 2:49 PM
To: Joel M. Halpern
Cc: i2rs@ietf.org
Subject: Re: [i2rs] Ephemeral State Requirements discussion

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.

Sue: Not true.  See often repeated statements. 

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

Why are you assuming the applied data store.  It could also be done at the
intended data store before the data is resolved.   Example usage is:
ephemeral route overwrites a normal RIB Route and then needs to resolve
next-hop.   (See I2RS Ephemeral RIB and overwriting local configuration). 

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

I2RS RIB Data Model is a Yang model.

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

This does not answer Joel's question.  How does the I2RS client read an
applied I2RS RIB Data Model? 

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

Sue: Again, at what stage does this 

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

Sue: It would be good to see some definition of a "magical +" function in
order to review your specification. 

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

Juergen: 
>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>.

Sue:  Why is this the only place.  Why not a merge at the intended
configuration>?   "It seems people" - seems to indicate some source of
input.  Can you share this input to your design? 

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

Sue: Does this mean you feel you can ignore the I2RS requirements if you
feel it does not meet your architectural model? 


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

_______________________________________________
i2rs mailing list
i2rs@ietf.org
https://www.ietf.org/mailman/listinfo/i2rs