Re: [I2rs-proto-dt] Minutes for 10/2/2015 meeting

Andy Bierman <andy@yumaworks.com> Mon, 05 October 2015 22:06 UTC

Return-Path: <andy@yumaworks.com>
X-Original-To: i2rs-proto-dt@ietfa.amsl.com
Delivered-To: i2rs-proto-dt@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E779D1A1EF1 for <i2rs-proto-dt@ietfa.amsl.com>; Mon, 5 Oct 2015 15:06:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.378
X-Spam-Level:
X-Spam-Status: No, score=-1.378 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, J_CHICKENPOX_65=0.6, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=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 4D3-XQhlbY-H for <i2rs-proto-dt@ietfa.amsl.com>; Mon, 5 Oct 2015 15:06:21 -0700 (PDT)
Received: from mail-lb0-f179.google.com (mail-lb0-f179.google.com [209.85.217.179]) (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 7ACAE1A21AF for <i2rs-proto-dt@ietf.org>; Mon, 5 Oct 2015 15:06:20 -0700 (PDT)
Received: by lbwr8 with SMTP id r8so65836761lbw.2 for <i2rs-proto-dt@ietf.org>; Mon, 05 Oct 2015 15:06:18 -0700 (PDT)
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:cc:content-type; bh=rTas6HKzkc3eS7o0/rlvzhK+jElMx7L7H3dBLQ9NaM4=; b=EsVRB5NpCvpQQQKK/MCy/2Qcm/7qYIyPRCzph4BU+o22CDWJiMLCGAPtH7gkbTwBZv GOlWi7dmjuWSHejX98GPE2obv93m37hL+Amk2XZFwXbCoqHzD6t70lE1hIr7kzQXaWTd USFt6RGoGz1xOQeKEy4+jW5KYgtXCa/Jx9H4PLMApd2Y9sgW9OzWARX/MBiV3PTWs1Wl sF/DgWijYUJDKdx5g2mSB40zPavlxSiXuZLvtd1nLWW2dKJr5hPHXiu1a6/fphzgSonY ul1rsOAm6Ml6z0cnA7GFy7wqIiGUgSq5QRseeIS6O7uC/vyzH5oR4/dNN7wvXu/GPDht o+og==
X-Gm-Message-State: ALoCoQkfGBFrOWU75W3p1hWkPNYgGfS4SbHfky/KAxFMpqa4zJy36HtzVHNpvOIbe19iRReBSZJe
MIME-Version: 1.0
X-Received: by 10.112.132.100 with SMTP id ot4mr12386189lbb.37.1444082778515; Mon, 05 Oct 2015 15:06:18 -0700 (PDT)
Received: by 10.112.138.72 with HTTP; Mon, 5 Oct 2015 15:06:18 -0700 (PDT)
In-Reply-To: <20151005204631.GX5754@pfrc.org>
References: <008701d0fd35$821bfa30$8653ee90$@ndzh.com> <20151005204631.GX5754@pfrc.org>
Date: Mon, 05 Oct 2015 15:06:18 -0700
Message-ID: <CABCOCHSMQ6WWHQCgFNzM34bJTDW1xvLzz2jAXNZGm1K4HCbuBg@mail.gmail.com>
From: Andy Bierman <andy@yumaworks.com>
To: Jeffrey Haas <jhaas@pfrc.org>
Content-Type: multipart/alternative; boundary="047d7b34382e0a4755052162b91d"
Archived-At: <http://mailarchive.ietf.org/arch/msg/i2rs-proto-dt/c8GiqmDZD4T8HT_MqSEHYi7dqOI>
Cc: i2rs-proto-dt@ietf.org, Susan Hares <shares@ndzh.com>
Subject: Re: [I2rs-proto-dt] Minutes for 10/2/2015 meeting
X-BeenThere: i2rs-proto-dt@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: I2RS protocol design team <i2rs-proto-dt.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/i2rs-proto-dt>, <mailto:i2rs-proto-dt-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/i2rs-proto-dt/>
List-Post: <mailto:i2rs-proto-dt@ietf.org>
List-Help: <mailto:i2rs-proto-dt-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/i2rs-proto-dt>, <mailto:i2rs-proto-dt-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 05 Oct 2015 22:06:23 -0000

On Mon, Oct 5, 2015 at 1:46 PM, Jeffrey Haas <jhaas@pfrc.org> wrote:

> On Fri, Oct 02, 2015 at 01:12:24PM -0400, Susan Hares wrote:
> > Please review the protocol strawman and send comments by Monday
> evening.  I
> > will send sending out on Monday evening:
>
> There's an awful lot of TBD in there.  But given the ephemeral piece is the
> critical and messy one, perhaps that's okay.
>
>

I am curious about bulk-read and bulk-write

IMO we just need 1 GET or 1 PUT type of method.
Using YANG Patch with RESTCONF, multiple edits can be done at once.



> I can tell from looking at the slides that I've missed some of the
> openconfig opstate discussions.  But from that, and prior context, it
> appears that the "actual" configuration is being classified as
> "operational"
> state and that the view that the devices receive comes from the logical
> merge operation on that view plus the view through the panes of glass.
>
>
I think the terms are "intended config" and "applied config".

It is important to decouple the produce (sensor) from the consumer (applied
config)
The sensor still puts out its operational value but the
system (directed by I2RS edits) uses the injected value
as the applied config instead of the sensor value.



> I sort of like the idea that a single client gets a single pane.  It
> simplifies things, but potentially makes things a bit ugly for scaling if
> you have too many clients.  This may be less of an issue if the models are
> guaranteed some level of disjointness between various panes with regard to
> their schemas.
>


It is really just an implementation detail, but if N clients map
to 1 priority (like the default priority if the client is not configured)
then the client ID needs to be saved to decide first-1-wins in
any future edit collisions.



> I'm a bit confused by the writeable config false ephemeral true node.  Do
> we
> really want to support that?
>


That is the most controversial part.

Are there YANG objects that are config=false used to model
the derived state?  Does that derived state ever need to
be altered by I2RS?   An alternative would be to have new YANG objects
that represent the I2RS-provided values.  But the config-stmt for
these nodes needs some value.  Clearly it is not true, since NETCONF
is not allowed to edit it.

Whether the derived state objects are edited directly,
or whether new objects that model the "I2RS-overrides"
are used, there still needs to be a way to indicate that
they are only editable in the ephemeral datastore.


   leaf desired-temp {
        type int32;
        config true;
        ephemeral true;
            units "degrees Celsius";
            description "The desired temperature";
            ephemeral true;
            }

     leaf actual-temp {
        type int32;
            config false;
            ephemeral false;
            units "degrees Celsius";
            description "The measured temperature";
            }

    leaf actual-temp-override {
        type int32;
            config false;
            ephemeral true;
            units "degrees Celsius";
            description "Override the actual temperature";
            }

With this design, the "plain" operational state objects are left as-is,
and clones or special overrides are in separate models.



> -- Jeff
>

Andy


>
> _______________________________________________
> I2rs-proto-dt mailing list
> I2rs-proto-dt@ietf.org
> https://www.ietf.org/mailman/listinfo/i2rs-proto-dt
>