Re: [i2rs] Ephemeral State Requirements discussion

"Joel M. Halpern" <jmh@joelhalpern.com> Tue, 31 May 2016 19:07 UTC

Return-Path: <jmh@joelhalpern.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 9078E12D872 for <i2rs@ietfa.amsl.com>; Tue, 31 May 2016 12:07:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.722
X-Spam-Level:
X-Spam-Status: No, score=-2.722 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=joelhalpern.com
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 DS160dv_0e4J for <i2rs@ietfa.amsl.com>; Tue, 31 May 2016 12:07:06 -0700 (PDT)
Received: from mailb2.tigertech.net (mailb2.tigertech.net [208.80.4.154]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 93A8D12D638 for <i2rs@ietf.org>; Tue, 31 May 2016 12:07:06 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by mailb2.tigertech.net (Postfix) with ESMTP id 7F5CC9A00A3 for <i2rs@ietf.org>; Tue, 31 May 2016 12:07:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joelhalpern.com; s=1.tigertech; t=1464721626; bh=Vwg8v0d1zDaJS0W55lmK/vkQUS0nKXI5rVXbILd5xE0=; h=Subject:To:References:From:Date:In-Reply-To:From; b=o5iD7/lWWsr9jYy9a/tpTMhiQi1JSfKvkBtF6qs0vZ2RBh52WR40+ILbdOf1UK1m3 7ufv5M+ZKJNCWnYLhl9X7pGWdTuFITyQKEQVWfQivnz/LSK2vuhFkIrc91LaYJHHCz K2zcZVx5LClgIsqTXGgQoAqdWPMD+tBGMwMmt3TM=
X-Virus-Scanned: Debian amavisd-new at b2.tigertech.net
Received: from Joels-MacBook-Pro.local (209-255-163-147.ip.mcleodusa.net [209.255.163.147]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mailb2.tigertech.net (Postfix) with ESMTPSA id 15DC41C0B82 for <i2rs@ietf.org>; Tue, 31 May 2016 12:07:06 -0700 (PDT)
To: i2rs@ietf.org
References: <000601d1bad5$70523090$50f691b0$@ndzh.com> <20160531063840.GA21289@elstar.local> <026df5be-4a60-f340-60aa-d713a0e75c48@joelhalpern.com> <20160531184844.GB22928@elstar.local>
From: "Joel M. Halpern" <jmh@joelhalpern.com>
Message-ID: <413ef504-49a8-2ba2-7fd4-582a41bd0ad0@joelhalpern.com>
Date: Tue, 31 May 2016 15:07:03 -0400
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:45.0) Gecko/20100101 Thunderbird/45.1.0
MIME-Version: 1.0
In-Reply-To: <20160531184844.GB22928@elstar.local>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/i2rs/9AccQU-6XSUVO9EDrCR5WgzwBmA>
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: Tue, 31 May 2016 19:07:08 -0000

Would a fair paraphrase of the point you are making here be
that the <ephemeral> data store could sit next to the <applied> data 
stored rather than either below or combined with it?

Yours,
Joel

On 5/31/16 2:48 PM, Juergen Schoenwaelder wrote:
> 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
>