Re: [netconf] Adoption poll for draft-tgraf-netconf-yang-notifications-versioning

Andy Bierman <andy@yumaworks.com> Fri, 19 May 2023 14:43 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 9F04FC14CF1F for <netconf@ietfa.amsl.com>; Fri, 19 May 2023 07:43:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.095
X-Spam-Level:
X-Spam-Status: No, score=-7.095 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id X5pti19MxUG3 for <netconf@ietfa.amsl.com>; Fri, 19 May 2023 07:43:05 -0700 (PDT)
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com [IPv6:2a00:1450:4864:20::134]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5A7CAC14CF12 for <netconf@ietf.org>; Fri, 19 May 2023 07:42:51 -0700 (PDT)
Received: by mail-lf1-x134.google.com with SMTP id 2adb3069b0e04-4f27b65bbf9so3771346e87.0 for <netconf@ietf.org>; Fri, 19 May 2023 07:42:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks.com; s=google; t=1684507369; x=1687099369; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=TR1StU0dM10IieKrNd3SnUZAv4MrfVI1a3j0LLRQfCI=; b=YoZ77opyrWyR5Ee/32tDd06pGJ+6lCaf2uO8OgXyMqUUmvwJhPjU2yWnhWOmsxSoO1 t6YQZsADqKRZqJ19JYR5IvjA/aLbVUzuU0MZO9JeL84Nm3gxznk6K4S66KyT0o+CsfWc PSUFmTykBwkLfn2I+XAn++ApgrMpcF29nVPKAGMp+IbkedWxL9vbRFBKlcVaWAkQ5paA aWtFjsx4j/EdKbt+8ySYB8GxXXTnWZ7zgsIN+ikVmtjzeF1ioCS+jwPU9GijRXiFQC6Y Uzkmqhmz7+jqUGeYxfKrWM+5LShWduFkASXQabgwP5887GVUnkKuIhJOVHaAaQtytEF1 aitQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684507369; x=1687099369; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=TR1StU0dM10IieKrNd3SnUZAv4MrfVI1a3j0LLRQfCI=; b=KrBYJ86HqWBTmQ12X4SwDhwMduQ8AFyGU8s04G8syPI9NyQM9VC1ExP9+jb8vvE1u2 zZJnKgYvDCOTij2r+vOfX1V5gqZOHM29DodJ80K/8KMT9cbiNMol+XoWXne/8iv26mHU HKuHXAtK8M/TvqPr4ClZ4zN+gWdP8n0O5p74L5yNcFYSw7LmnMM8mkiRjoktx7vWUkFl 354zK6Hc5MuVR08jUIHJloAF+DiBqtKqFJhn09YHRHODo7+pIld/0HN8Klrjco6I6BIN oufvb0L/wSBqPW0qPV+eSO18hs+uT5W1hpfpeFo3tXZpSupmfluOGtNv86VcIGnNGZH2 rubA==
X-Gm-Message-State: AC+VfDzQDQXvdYst5243ktCMmLVkN4EJaWR5Ct6bHeBEoE/C/xp8Qu8e 2qsV/JQg1fZA/7cDIVzrphnbWxxjy2Oxx7zOidZ9Bg==
X-Google-Smtp-Source: ACHHUZ5cdgw7ULRtlpozXWelY+l0fLeCFPvJ4Y4xqGJ/cpvRvn6H70DJFbzZX1FNz+TNhgJgMKdiX/PSEZdybe6ex4M=
X-Received: by 2002:ac2:447c:0:b0:4f1:1de7:1aaf with SMTP id y28-20020ac2447c000000b004f11de71aafmr1022896lfl.69.1684507368913; Fri, 19 May 2023 07:42:48 -0700 (PDT)
MIME-Version: 1.0
References: <E78B3C0B-B415-4E8C-9080-ADFB69D4464E@gmail.com> <AM8PR06MB776465A8890FA1FF944F7249957E9@AM8PR06MB7764.eurprd06.prod.outlook.com> <fxqbpxqt4uddzynsqu7nrphks4ffdbcet2s4mzgq5kjybc7h5r@34fjvmua6eva> <AM8PR06MB77647944C3C804FB22E38B50957E9@AM8PR06MB7764.eurprd06.prod.outlook.com> <ibonfs57tsr2ymul4wsns5jhpoiofkciz7zw27udzixtt7olrx@zh5p3tjohxoo> <CABCOCHRmnOw_Tex1ixcyA=bjdHptHVyQ1nN1UKOfyC9nPqdxpQ@mail.gmail.com> <1d7ff7ee90cb441f843b460bdb216ff2@swisscom.com>
In-Reply-To: <1d7ff7ee90cb441f843b460bdb216ff2@swisscom.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Fri, 19 May 2023 07:42:37 -0700
Message-ID: <CABCOCHTJZFxY1YYpagz2wc-q8ki4AKb+B-3GOtJOG=hPkDRATg@mail.gmail.com>
To: Thomas.Graf@swisscom.com
Cc: jschoenwaelder@constructor.university, ignacio.dominguezmartinez@telefonica.com, mjethanandani@gmail.com, netconf@ietf.org, netconf-chairs@ietf.org
Content-Type: multipart/alternative; boundary="00000000000058934705fc0cef36"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/hXMhdgA4ujgqz5OXJbQSIu4bZXQ>
Subject: Re: [netconf] Adoption poll for draft-tgraf-netconf-yang-notifications-versioning
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: NETCONF WG 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: Fri, 19 May 2023 14:43:09 -0000

On Fri, May 19, 2023 at 4:05 AM <Thomas.Graf@swisscom.com> wrote:

> Dear Andy, Jürgen, Nacho and Frank,
>
>
>
> Thanks a lot for the feedback and comments. I understand your concerns
> that they are targeting section 2, extending the YANG push subscription
> capability to not only subscribing to an xpath but also be capable to
> select with revision or revision-label.
>
>
>
> In section 1 we introduce the problem statement, here an excerpt:
>
>
>
> ---
>
> This semantic reference is available when the subscription is being
> establish as described in Section 3.6 of [RFC8641] and being streamed from
> the publisher to receiver with the subscription state change notifications
> described in Section 2.7 of [RFC8639] where for each subscription a locally
> unique subscription ID described in Section 4.3.2 of [RFC8641] is being
> issued and streamed as metadata with the notification message in the YANG
> push message header.
>
>
>
> The semantics can change between different YANG module revisions. The YANG
> module version statement is specified in Section 7.1.2 of [RFC6020] and
> states that the newer revision needs to be backward compatible to the
> previous revision. Section 3.1 of [I-D.ietf-netmod-yang-module-versioning]
> specifies that newer semantic versions introduced in
> [I-D.ietf-netmod-yang-semver] MAY not be backward compatible to the
> previous version when indicated with non-backwards-compatible keyword.
>
> ---
>
>
>
> When the software of a network node is being upgraded, possibly the YANG
> module revisions might change. Thanks to the extension describes in section
> 3 of the document, the YANG push receiver is now able to learn through the
> subscription state change notification message that the revision or/and
> revision-label has changed and through netconf <get-schema> the new YANG
> module must be obtained outband to retrieve the new semantics for the
> push-update notification message.
>
>
>
> So far so good. With this we prevented that the end to end data processing
> chain breaks because semantics can be maintained across network node
> software upgrades, YANG module changes, in configured subscription as well.
> However if the YANG module change involved a non-backward compatible
> change, messages are being dropped within the data processing chain. A
> network operator might ask, why should we publish YANG push messages from a
> network node when they cant be processed further down the data processing
> chain? Why shouldn't we give the network engineer the ability to express in
> the YANG push subscription that only YANG push messages complying to a
> certain revision or revision-label (semantic revision) should be published.
> This is what section 2 of the document tries to address.
>
>
>
> I understood in the mail thread that it was assumed that the YANG data
> store would need to support more than one revision per YANG module. This is
> not the case. The point is that when the configured subscription is
> established and while the messages are being published, the revision or
> revision-label might change. Today we do not have the ability to subscribe
> to a specific revision nor to a specific compatible revision-label. This is
> what we try to enable in this document.
>
>
>



These are the network operators concerns and needs. From an implementer
> point of view, do you believe this makes sense and is implementable?
>
>
>


Good news: you are not trying to undo the 'implement 1 revision'
requirement in RFC 7950.
Not so good news: There are already 2 events (netconf-capability-change and
yang-library-change)
to notify the client of the extremely rare module update event.

In the rare event a module is updated, the subscriber gets a 3rd
notification for this change,
and the data from the module starts to be filtered by the server so the
subscriber is prevented
from receiving the "unwanted" data.  This can be quite complicated to
implement,
forcing special processing for each subscription.

I am not in favor of changing YANG Push in this way.



> Looking forward for your feedback and comments.
>
>
>
> Best wishes
>
> Thomas
>


Andy


>
>
> *From:* netconf <netconf-bounces@ietf.org> *On Behalf Of *Andy Bierman
> *Sent:* Wednesday, May 17, 2023 7:27 PM
> *To:* Jürgen Schönwälder <jschoenwaelder@constructor.university>; IGNACIO
> DOMINGUEZ MARTINEZ-CASANUEVA <ignacio.dominguezmartinez@telefonica.com>;
> Mahesh Jethanandani <mjethanandani@gmail.com>; netconf <netconf@ietf.org>;
> netconf-chairs <netconf-chairs@ietf.org>
> *Subject:* Re: [netconf] Adoption poll for
> draft-tgraf-netconf-yang-notifications-versioning
>
>
>
>
>
>
>
> On Wed, May 17, 2023 at 1:42 AM Jürgen Schönwälder <
> jschoenwaelder@constructor.university> wrote:
>
> All of this has been pointed out before and does not come as a
> surprise. So we should have a general answer how to handle the
> "damage" created by an NBC update of YANG that according to some does
> not even require a YANG version number change.
>
>
>
> It is more than just a conformance issue.
>
> It is hard to overstate the importance of RFC 7950 as the 1 well-written
>
> document needed to learn YANG.  It may be OK to distribute the
>
> YANG data model in lots of ad-hoc specifications, but not the
>
> data modeling language definition.
>
>
>
> People (way outside the IETF) will be expected to learn and use the "new"
> YANG correctly,
>
> and that will be much more difficult without even a name, let alone a
> version number.
>
> What is the new YANG called? "NBC YANG"?
>
>
>
>
>
> Andy
>
>
>
>
>
> ..
> /js
>
> ...
>
>
>