Re: [Netconf] {+restconf}/data

Ladislav Lhotka <lhotka@nic.cz> Thu, 19 July 2018 21:29 UTC

Return-Path: <lhotka@nic.cz>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CDC79130ECB for <netconf@ietfa.amsl.com>; Thu, 19 Jul 2018 14:29:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7
X-Spam-Level:
X-Spam-Status: No, score=-7 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_HI=-5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nic.cz
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 nI9Akwuq-8hg for <netconf@ietfa.amsl.com>; Thu, 19 Jul 2018 14:29:27 -0700 (PDT)
Received: from mail.nic.cz (mail.nic.cz [217.31.204.67]) (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 AEC1B130E3A for <Netconf@ietf.org>; Thu, 19 Jul 2018 14:29:26 -0700 (PDT)
Received: from birdie (dhcp-9627.meeting.ietf.org [31.133.150.39]) by mail.nic.cz (Postfix) with ESMTPSA id 8B34160129 for <Netconf@ietf.org>; Thu, 19 Jul 2018 23:29:24 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nic.cz; s=default; t=1532035764; bh=K71fsMphJSciwxxxf5NBVsKKgyfVnDkwTrGFBqqfOOc=; h=From:To:Date; b=FWeG0eKNYmyOObZP1pFDoWWu+g4Of8OBo7ZbutCW+SL5BCc9bUPlTvuxKdNRX7SS1 iE7vdmJzBCVVqP16iakXgHVCkI+xqtzHeXjZMeb/zQZ4htjdyKQrcdegtDaL11222y TSRCQbZLgt5JMPjlWEbbjeG7uhaxf5JJlf9lJNTc=
Message-ID: <3a52d5243607493b4ee82be68669b970642acf07.camel@nic.cz>
From: Ladislav Lhotka <lhotka@nic.cz>
To: Mahesh Jethanandani <Netconf@ietf.org>
Date: Thu, 19 Jul 2018 17:27:53 -0400
In-Reply-To: <CABCOCHTa8R7xZzATFLJT56UiH3+U0ZcR2g7GBHWd_gNNYpM76Q@mail.gmail.com>
References: <87efg0nxa1.fsf@nic.cz> <20180719084156.llzgfj465hov4s47@anna.jacobs.jacobs-university.de> <87o9f39ccy.fsf@nic.cz> <CABCOCHTa8R7xZzATFLJT56UiH3+U0ZcR2g7GBHWd_gNNYpM76Q@mail.gmail.com>
Organization: CZ.NIC
Content-Type: text/plain; charset="UTF-8"
X-Mailer: Evolution 3.28.4
Mime-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: clamav-milter 0.99.2 at mail
X-Virus-Status: Clean
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/-TZs5UMHOEl9i2yzZtB8Y_PgZvM>
Subject: Re: [Netconf] {+restconf}/data
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.27
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 19 Jul 2018 21:29:31 -0000

On Thu, 2018-07-19 at 13:58 -0700, Andy Bierman wrote:
> 
> 
> On Thu, Jul 19, 2018 at 1:53 PM, Ladislav Lhotka <lhotka@nic.cz> wrote:
> > Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> writes:
> > 
> > > Lada,
> > > 
> > > there is no point in changing the definition of {+restconf}/data since
> > > this would lead to interoperability issues and hence {+restconf}/data
> > > remains what it is.
> > 
> > Clients can have interoperability issues already now, e.g. if the server
> > upgrades to the new "ietf-interfaces" module:
> > 
> > - it can receive loads of unexpected state data and statistics
> > 
> > - no data may be available under "interfaces-state" (because of the
> >   ambiguity of the deprecated status).
> > 
> > > 
> > > Yes, the new datastore names are longer but we did not want to require
> > > globally unique datastore names (which would require some form of a
> > > registry and that everybody uses the registry).
> > 
> > Most of the text in RFC 8040 deals with the {+restconf}/data resource
> > and its descendants, so effectively deprecating it in another document
> > seems pretty confusing. I think that {+restconf}/data should remain the
> > main entry point to configuration for an average client.
> > 
> 
> I agree with Juergen.
> You cannot change the usage of /restconf/data.
> Old clients will expect the old behavior and break if a new server did this.

What is "the old behavior" and how would it change with my proposal? The old
resources and their URIs continue to exist, clients can use the same methods as
before, only the returned data may be different. As my example with "ietf-
interfaces" demonstrates, this happens already when this module is upgraded to
the NMDA-compatible revision.

As a matter of fact, with my proposal the returned data would be exactly the
same as with the old version of "ietf-interfaces" - only configuration.

> 
> There is no reason to deprecate or change this URI.
> Pick a new URI for new functionality.
> This is much less confusing and it does not break old clients.

But {+restconf}/data is essentially equivalent to <get> output in NETCONF, and
this is what we wanted to get rid of.

Lada

> 
> 
>  
> > Lada
> > 
> 
> Andy
>  
> > > 
> > > /js
> > > 
> > > On Wed, Jul 18, 2018 at 03:45:10PM -0400, Ladislav Lhotka wrote:
> > > > Hi,
> > > > 
> > > > it seems that using RESTCONF with the updated NMDA-compatible modules
> > > > leads to the (IMO undesirable) result where under the "legacy" root
> > > > "{+restconf}/data" state data are mixed with configuration. For example,
> > > > with ietf-interfaces@2018-02-20
> > > > 
> > > > GET {+restconf}/data/ietf-interfaces:interfaces
> > > > 
> > > > yields configuration, state data and statistics, whereas with the old
> > > > revision ietf-interfaces@2014-05-08 GET on the same URL yields only
> > > > configuration. I think this defeats the purpose of NMDA.
> > > > 
> > > > On the other hand, the short datastore-less URLs are too handy to be
> > > > simply deprecated. I would therefore propose that {+restconf}/data be
> > > > essentially an alias for the configuration datastore that the user can
> > > > directly edit. This means:
> > > > 
> > > > - with writable <running> it will be an alias to running
> > > > 
> > > > - if the implementation uses <candidate>, it will be an alias to
> > > >   <candidate>.
> > > > 
> > > > Lada
> > > > 
> > > > -- 
> > > > Ladislav Lhotka
> > > > Head, CZ.NIC Labs
> > > > PGP Key ID: 0xB8F92B08A9F76C67
> > > > 
> > > > _______________________________________________
> > > > Netconf mailing list
> > > > Netconf@ietf.org
> > > > https://www.ietf.org/mailman/listinfo/netconf
> > > 
> > > -- 
> > > Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> > > Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> > > Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>
-- 
Ladislav Lhotka
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67