Re: [Netconf] nmda-restconf operations (was: netconf-binary-encoding comments)

Andy Bierman <andy@yumaworks.com> Wed, 11 July 2018 15:40 UTC

Return-Path: <andy@yumaworks.com>
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 6C849130DFC for <netconf@ietfa.amsl.com>; Wed, 11 Jul 2018 08:40:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level:
X-Spam-Status: No, score=-1.91 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_NONE=-0.0001, SPF_PASS=-0.001, T_DKIMWL_WL_MED=-0.01] autolearn=unavailable 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 RiQ5yY9rrH2C for <netconf@ietfa.amsl.com>; Wed, 11 Jul 2018 08:40:36 -0700 (PDT)
Received: from mail-lf0-x22f.google.com (mail-lf0-x22f.google.com [IPv6:2a00:1450:4010:c07::22f]) (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 3BD7C130F36 for <netconf@ietf.org>; Wed, 11 Jul 2018 08:40:33 -0700 (PDT)
Received: by mail-lf0-x22f.google.com with SMTP id a4-v6so21656790lff.5 for <netconf@ietf.org>; Wed, 11 Jul 2018 08:40:33 -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:from:date:message-id:subject:to :cc; bh=w9tD0DeAWCk09UHVOeU1eJO6K1yzjB8e4S1ha32vG9k=; b=iADMDhCJsRKRC7Mk/196fhSavHD/vL4bxsBRorcN3c9Gj4uN91QOImcqQ84VFK8AK7 Z7nUsH1fyDm1W67eUk8iRrTZksHyBpJFie9jAWh1DzVEpMbCMRjHITyS2ceiK29jQMK+ z0Nn9i2G1n5CYXK3r5oAfkQ5E5X7X5UyY6/5WPupvGy2xV3wtxoGvfM0VA55makVJigJ kRGAnq5gzpFk1EaCTh1wYd/n43m5zWfHMENewVWSZexc4Q+TRqk7mpQFv4ZofKlHhvkq Hc+C3ldFWpUNKOJsUACom3C5s/j5GaCsyrd1QGTBErWL/mV8FnKt7Y1DMHotU982kWC2 bJWA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=w9tD0DeAWCk09UHVOeU1eJO6K1yzjB8e4S1ha32vG9k=; b=Xpj1EcMynekHU2VLd+ec+k/94vWoGlfO5gzp909udAJ2U1v0bxifB+JnOer1mKRG3I uGiVhuWp6hhiQ0nny65g1szIjCbmXOCOJLctjDtUn/uBd+YLlUycrnd6mEDVelo89WQE RlkghXEQgAtyjLCwhoxN25Apu+L0u46v5szddoLDI0s5HTpMLjCmXs7nEtsyhUU1AraT XVtkfj0ROYpskbhbLCG/MetJUaYAQ62pq6PtYxP+ByqchC5EaRInLlY+e9XXT7udpzNM Zv5uKMfXWDnsFMgN5VktI2eI52IP8OVJpA9yjqBDs0sDbXidygq7UTYiBUJeFxfoYq8J wp+Q==
X-Gm-Message-State: APt69E0p8E2Yf/FE6WEKm8O6NidKcGt1G+rn13hDABhxfIuMD0HsAtmK s7bQokOu95/TjkOsXX0s6O5Aa5cBYu2lJSHt9QXzOQ==
X-Google-Smtp-Source: AAOMgpcMS6I+V7F2A6SleRrWHJd6AP2e7BYxHmjBJjt7YrhU/ktyK2p/WIy/+SUKUg0Fwk/PRzYkBR8cVtCycxb4eHM=
X-Received: by 2002:a19:b598:: with SMTP id g24-v6mr6539318lfk.129.1531323631366; Wed, 11 Jul 2018 08:40:31 -0700 (PDT)
MIME-Version: 1.0
Received: by 2002:a19:aa46:0:0:0:0:0 with HTTP; Wed, 11 Jul 2018 08:40:30 -0700 (PDT)
In-Reply-To: <87va9mf23z.fsf@nic.cz>
References: <82A8420F-445C-42BD-9A47-DCF62A9864BC@juniper.net> <20180709173041.xkihqyccjcucjslj@anna.jacobs.jacobs-university.de> <13FABA4A-C367-4E27-88FF-3EA48638249F@juniper.net> <87va9mf23z.fsf@nic.cz>
From: Andy Bierman <andy@yumaworks.com>
Date: Wed, 11 Jul 2018 08:40:30 -0700
Message-ID: <CABCOCHS2nmjsZ7nDk9OhbkM5dGTLEWHpngxhWbaUtX2v+x2TLA@mail.gmail.com>
To: Ladislav Lhotka <lhotka@nic.cz>
Cc: Kent Watsen <kwatsen@juniper.net>, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, "draft-ietf-netconf-nmda-restconf@ietf.org" <draft-ietf-netconf-nmda-restconf@ietf.org>, "netconf@ietf.org" <netconf@ietf.org>, Robert Wilton <rwilton=40cisco.com@dmarc.ietf.org>
Content-Type: multipart/alternative; boundary="00000000000015881d0570bb1191"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/r_iqd_pzx45dVzKlZ-66xyhu0AI>
Subject: Re: [Netconf] nmda-restconf operations (was: netconf-binary-encoding comments)
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: Wed, 11 Jul 2018 15:40:39 -0000

On Wed, Jul 11, 2018 at 4:22 AM, Ladislav Lhotka <lhotka@nic.cz> wrote:

> Kent Watsen <kwatsen@juniper.net> writes:
>
> >>> This isn't what I meant.  To be more specific, I'm wondering if the
> nmda-restconf
> >>> draft would benefit from having a sentence like:
> >>>
> >>>    A RESTCONF server supporting NMDA datastores MAY implement the
> >>>    "ietf-netconf" [RFC6241] and "ietf-netconf-nmda" [I-D.
> ietf-netconf-nmda-
> >>>    netconf] modules to enable the NETCONF operations defined in those
> >>>    drafts to appear {+restconf}/operations resource.
> >>>
> >>> Note: I put "MAY" as RESTCONF may someday have a more native way to do
> this.
> >>>
> >>
> >> Well, "ietf-netconf" does not really support NMDA well and this is why
> >> we have "ietf-netconf-nmda". Does not make much sense to point to
> >> "ietf-netconf" in an NMDA document.
> >
> > But we'd still need lock, unlock, commit, commit-confirmed, etc.,
> > right?
>
> These would make RESTCONF server stateful, thus violating REST principles.
> My
> draft
>
> https://datatracker.ietf.org/doc/draft-lhotka-netconf-
> restconf-transactions/
>
> tries to achieve similar effects in a RESTful way.
>
>

I like the idea of "private candidate" datastores you call "staging".
I would keep the term candidate.

This idea was discussed during RESTCONF draft development, but
as the client creating a "transaction" resource. I think your draft is on
the right track, and datastores are protocol-independent so NETCONF
can use the same datastores with RPC operations.

You ignore the problem of concurrent edits, which is why this idea was not
pursued
at the time. What happens when the altered data overlaps across private
candidates?
What are the procedures equivalent to git pull, push, merge?
How are collisions handled? What exactly is a collision?
Not trivial standards issues to solve.


> Lada
>
>

Andy


> >
> > Maybe it's a moot point, since ietf-netconf-nmda requires that
> ietf-netconf
> > is implemented too, but I thought being explicit would be helpful here.
> >
> > So, adding something like this to nmda-restconf would be good?
> >
> >
> > Kent // contributor
> >
> > _______________________________________________
> > Netconf mailing list
> > Netconf@ietf.org
> > https://www.ietf.org/mailman/listinfo/netconf
>
> --
> Ladislav Lhotka
> Head, CZ.NIC Labs
> PGP Key ID: 0xB8F92B08A9F76C67
>
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf
>