Re: [i2rs] I2RS Interim Meeting - June 1, 2016 - 10:00am - 11:00am - Topic: Ephemeral State Requirements

Andy Bierman <andy@yumaworks.com> Tue, 31 May 2016 18:42 UTC

Return-Path: <andy@yumaworks.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 855BA12D5A1 for <i2rs@ietfa.amsl.com>; Tue, 31 May 2016 11:42:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.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 GOQ-5XNHwAX0 for <i2rs@ietfa.amsl.com>; Tue, 31 May 2016 11:42:00 -0700 (PDT)
Received: from mail-yw0-x230.google.com (mail-yw0-x230.google.com [IPv6:2607:f8b0:4002:c05::230]) (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 A559712D562 for <i2rs@ietf.org>; Tue, 31 May 2016 11:42:00 -0700 (PDT)
Received: by mail-yw0-x230.google.com with SMTP id o16so197936782ywd.2 for <i2rs@ietf.org>; Tue, 31 May 2016 11:42:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to; bh=tdkhRk4D4glOmYwCcFab5PzpRsx4PCWvsA21ZtLIdYM=; b=xGOslyInDDVx2ytUtk4zDovMEIeNb2ETNE5pwV30X5aA1u5YSM/w4dTPBQ4mt1jIz2 wmbUNylXvjNdKCGgWmsEmbjfJ8oMulfWA8IlsmY5lTq4vzd12eWEPgtsTF+QP1lf/NGr 1ARVf/H4uREDVd5etaXnsi+XpX3SeFCH+bGMzNAZL6u8Tg7XTlySIPmb49cXKUzhxBnR tkvVEd8hfkm8hpiaA0TejuuGRH2FTNMc3Ec18dQ3TDLBqobmwdmKVtwTdPtyP3LqxZ/7 v0SHq9+BWnhzw2VvLTBuk2J7+gJOiP/aW6vEOiH60xjTjvRcBDVzR5uVJw2E3ny73/RP gxgw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to; bh=tdkhRk4D4glOmYwCcFab5PzpRsx4PCWvsA21ZtLIdYM=; b=TRclE/YDm2v5z7FgqMzEELb1h7aAA4W75kdvFqsps1mApG6uEzyUjDfmc6KBJt14FQ PkWKpcQeNK5uqzgeC7kXaXw7ZT4ve1oPHyn/Pgb5sZeuOUVVhWheWQfQe8p28ImSduVY BPRYlfCwAjPdE2Bp2jp+xLICFaSZOOh9YB5qKumdL9LT+vPSe9CBdSmk/DPRPa1Ra0+y aBkVbIZmxrb++t/iglaEXY4Xop7PZ2uJUCfiTYThYjyK6ubD8CRk34VFyHHlMs1rT1mG zGUd+QsQnL9MU5OooVI9bbwPOvqT/0fyqLV64KwwvvzbukLzL6AkAdUCUUlkrzc6G8nh p50A==
X-Gm-Message-State: ALyK8tJ7egiXBtejV3dZIUTLg4PMuU6l58RfQmYsF03QHubG636ktOnFedDO1lsJjJt01qpzOyYd2CCsFBDK1w==
MIME-Version: 1.0
X-Received: by 10.37.4.216 with SMTP id 207mr19612056ybe.17.1464720119773; Tue, 31 May 2016 11:41:59 -0700 (PDT)
Received: by 10.37.115.208 with HTTP; Tue, 31 May 2016 11:41:59 -0700 (PDT)
In-Reply-To: <20160531171304.GA22857@elstar.local>
References: <000601d1bad5$70523090$50f691b0$@ndzh.com> <20160531063840.GA21289@elstar.local> <00d501d1bb45$0da83500$28f89f00$@ndzh.com> <20160531142540.GA22420@elstar.local> <001401d1bb4e$cfaefd10$6f0cf730$@ndzh.com> <20160531171304.GA22857@elstar.local>
Date: Tue, 31 May 2016 11:41:59 -0700
Message-ID: <CABCOCHR2JChAg1zmKDy_qxVOGYVeTm9wGVLyxzpChb5Ht0uaww@mail.gmail.com>
From: Andy Bierman <andy@yumaworks.com>
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, Susan Hares <shares@ndzh.com>, Jeffrey Haas <jhaas@pfrc.org>, "i2rs@ietf.org" <i2rs@ietf.org>, Benoit Claise <bclaise@cisco.com>, Alia Atlas <akatlas@gmail.com>
Content-Type: multipart/alternative; boundary="001a11c066306f7bad053427ba3d"
Archived-At: <http://mailarchive.ietf.org/arch/msg/i2rs/ZKrdWJhND669L3wcqaEWnWWg4fA>
Subject: Re: [i2rs] I2RS Interim Meeting - June 1, 2016 - 10:00am - 11:00am - Topic: Ephemeral State Requirements
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 18:42:05 -0000

Hi,


I agree with your concerns.  The opstate design team should not be ignoring
ephemeral state
and the I2RS WG should not be ignoring the opstate work.  I prefer to see 1
RFC on datastores
that defines a coherent and cost-effective framework that works for years
to come.
New implementations should opt-in to using new datastores.  Old
implementations must
continue to work even if the new datastores are ignored.

Isn't all operational state ephemeral by definition?
Doesn't proper management of a system with ephemeral data require
just 1 view of operational data which reflects current system behavior?

At some point the WG needs to agree on normative text instead of iterating
on requirements forever.  Some of them will fall out as important vs.
irrelevant
if there is an actual protocol spec to review.  E.g. secondary ID cannot
be "may keep" and "SHOULD report".  Either the standard protocol has an
official use for secondary client ID or it doesn't.


Andy


On Tue, May 31, 2016 at 10:13 AM, Juergen Schoenwaelder <
j.schoenwaelder@jacobs-university.de> wrote:

> On Tue, May 31, 2016 at 11:12:13AM -0400, Susan Hares wrote:
> > Juergen:
> >
> > Thank you for your quick response.  See my comments below.   I believe as
> > you said " I may be ignorant but we have to look at how things fit
> together"
> > - so I have provided more information.  I believe the I2RS model is
> > workable, and I look forward to your informed review of this information.
> >
> > Version -09 of Ephemeral-state is released to make it clear ephemeral
> state
> > has ephemeral configuration and ephemeral operational state.   Click
> below
> > for the draft:
> >
> > https://datatracker.ietf.org/doc/draft-ietf-i2rs-ephemeral-state/
> >
> > Sue
> >
> > -----Original Message-----
> > From: i2rs [mailto:i2rs-bounces@ietf.org] On Behalf Of Juergen
> Schoenwaelder
> > Sent: Tuesday, May 31, 2016 10:26 AM
> > To: Susan Hares
> > Cc: 'Jeffrey Haas'; i2rs@ietf.org; 'Benoit Claise'; 'Alia Atlas'
> > Subject: Re: [i2rs] I2RS Interim Meeting - June 1, 2016 - 10:00am -
> 11:00am
> > - Topic: Ephemeral State Requirements
> >
> > On Tue, May 31, 2016 at 10:02:17AM -0400, Susan Hares wrote:
> > >> Juergen:
> > >>
> > >>
> > >>
> > >> Thank you for the second response.    The questions were on version 8
> of
> > the
> > >> draft.  Jeff wanted to review version 8 before posting - so I delayed
> > >> posting of version 8 until this morning.    I've answered your
> questions
> > >> based on version 08.
> > >>
> > >> I think you understood that the ephemeral datastores defined by i2RS
> > >> are not what you defined in
> draft-schoenw-netmod-revised-datastores-00:
> > >>
> > >>    o  The model foresees ephemeral datastores that are by definition
> not
> > >>       part of the persistent configuration of a device.  These
> ephemeral
> > >>       datastores are considered to interact with the rest of the
> system
> > >>       like any other control-plane mechanisms (e.g., routing
> protocols,
> > >>       discovery protocols).  [XXX Note that this is different from
> what
> > >>       is described in some of the I2RS documents.  XXX]
> > >>
> > >> The difference is that I2RS defines ephemeral configuration and
> > >> ephemeral operational state.  You see this in all of the I2RS data
> > >> modules.  I have augmented your diagram with the proposed I2RS
> datastore.
> > >>
> > >>
> > >>                     +------------+
> > >>                     | <intended> |  //  Subject to validation
> > >>                     | (ct, ro)   | //   e.g., missing resources or
> delays
> > >>                     +------------+   // Here I2RS ephemeral
> configuration
> > fits
> > >>                           |         //  so missing resources/delays
> can
> > be handled
> > >>                           v
> > >>                     +------------+
> > >>                     | <applied>  |    - here I2RS defines ephemeral
> > >>                     | (ct, ro)   |      configuration data store
> > >>                     +------------+
> > >>                           |         // e.g., autodiscovery of values
> > >>                           v
> > >>           +--------------------------------+
> > >>           | <operational-state>            |<-- control plane and
> > >>           | (ct + cf, ro)                  |    ephemeral datastores
> >
> > >> +--------------------------------------------------+
> > >>
> > >>
> > >> Your definitions ignored the WG requirements and the existing
> > discussions.
> > >> Is there a reason why?  I2RS follows the break between operational
> > >> state and configuration data store.
> > >
> >
> > >There needs to be _one_ architectural model.
> > > I may be ignorant but we have to look at how things fit together.
> > >What you are drawing is ignoring for instance the fact that <intended>
> is
> > the subject of configuration
> > > validation while I2RS explicitly states that ephemeral is not part of
> > configuration validation.
> > >So your model is not a workable solution either.
> >
> > Not really, the ephemeral configuration is a part of the configuration
> > validation.  The ephemeral validates as either a stand-alone modules
> > (I2RS-RIB), or as a validation of an augmentation (see examples in the
> > interim presentation).  It is validated at the intended stage of
> > configuration.   Therefore, the proposal discussed by I2RS is workable.
> Your
> > opinion goes against years of NETCONF people suggesting to I2RS that
> > ephemeral configuration and ephemeral operational state is possible.
>
> I understand YANG validation rules and I understand YANG's notion of
> configuration datastores. I do not think this matches your ephemeral
> configuration validation.
>
> > >> o  configuration datastore: When modeled with YANG, a configuration
> > >>       datastore is realized as an instantiated data tree with
> > >>       configuration data.
> > >>
> > >> o  Operational state data is a set of data that has been obtained by
> > >>       the system at runtime and influences the system's behavior
> similar
> > >>       to configuration data.  In contrast to configuration data,
> > >>       operational state is transient and modified by interactions with
> > >>       internal components or other systems via specialized protocols.
> > >>
> > >> This document is proposed on May 12, 2016 and we have been working on
> > >> I2RS for over 3 years.  You provided something that does not satisfy
> > >> the requirements of the existing I2RS data models (prepared for over
> 18
> > months).
> > >
> >
> > > Which I2RS requirements? Please be specific.
> > ==================
> > Ephemeral-REQ-01 to Ephemeral-REQ-04 cover both configuration and
> > operational state.  If that's not clear, then I guess we need to add
> them.
> > Here's the Ephemeral-REQ-01 for version -09 of the text.
> >
> >     Ephemeral-REQ-01: I2RS requires ephemeral state; i.e. state that does
> >    not persist across reboots.  If state must be restored, it should be
> >    done solely by replay actions from the I2RS client via the I2RS
> >    agent.  Ephemeral state may consist of ephemeral configuration
> >   or ephemeral operational state, or both.
> > ========
>
> So how is this broken? This is the only time 'ephemeral operational
> state' shows up in -09. So please elaborate whether this is by
> intention in order to express that 'ephemeral operational state' is
> something different than a subset of 'operational state' or even
> better please explain how you think 'ephemeral operational state'
> relates to 'operational state'.
>
> In fact, it would help if terminology would be clearly defined. How do
>
> - ephemeral operational state
> - ephemeral state
> - ephemeral config
> - derived state (ephemeral)
> - derived state (opstate)
> - ephemeral configuration
> - mixed ephemeral config (ephemeral + config)
>
> relate to each other? Let me check draft-ietf-i2rs-architecture-15.txt:
>
> - ephemeral state
> - ephemeral configuration
> - ephemeral data - is data which does not persist across a reboot
>       (software or hardware) or a power on/off condition. Ephemeral
>       data can be configured data or data recorded from operations of
>       the router.
> - ephemeral static state (?)
>
> So is my interpretation right that 'ephemeral data' is the union of
> 'ephemeral configuration' and 'ephemeral state'?  (If my
> interpretation of these terms is correct the probably not all usages
> of the terms are correct in draft-ietf-i2rs-architecture-15.txt; so
> more likely my interpretation is incorrect.)
>
> Given the operational state is by its nature ephemeral, is there a
> distinction between 'operational state' and ephemeral state? Or is
> 'ephemeral state' just a subset of 'operational state' that has been
> influenced by 'ephemeral configuration'?
>
> > > There needs to be _one_ architectural model for all the datastores
> people
> > to introduce in various places
> > > and it does not help to complain.
> >
> > One model for data stores people is reasonable.  However, your model does
> > not work for I2RS.  You have not explained why technically the i2RS model
> > does not work for you.
> >
> > >Please get down to the I2RS requirements that the above proposal does
> not
> > address.
> > See Above.
> >
> > > Make a better proposal. Iterate. There have been quite a few calls
> related
> > to the intended and applied
> > > data store discussions that are not taking place in I2RS land and as I
> > said above we need to come up with a
> > > common architectural model.
> >
> > Been iterating for a while in I2RS.   Love to hear technical reasons why
> the
> > ephemeral datastore architecture does not work for you.
>
> There are many datastores being proposed and at the end they all need
> to work together. Implementations can't support N different datastore
> models that are not aligned. I understand that this concern is not
> your prime problem since your focus is I2RS but please understand that
> other people are proposing other datastores and I do believe
> NETMOD/NETCONF needs to find agreement on a bigger architectural
> picture that addresses the various requirements and enables
> implementations that work in a predictable manner.
>
> > If mention a few NETCONF calls/ your individuals draft, you must compare
> it
> > against the i2RS WG 3 years plus  3 WG drafts to IESG (pub/sub,
> > traceability, protocol-security), and  2 in final review
> (protocol-security
> > environment, ephemeral state).  May I suggest suggesting your draft has
> > precedence or personal behaviors is not a fruitful discussion.  Let's
> keep
> > on the technical discussion.
>
> I just tried to make you aware that some people think we need a common
> and consistent architectural model within NETMOD and NETCONF. I
> pointed to one proposal. There can be others. But at the end, there
> needs to be a single unifying architectural model if we want
> implementations being able to address requirements coming from
> different communities and still behave in a predictable manner.
>
> /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
>