[netconf] Re: YANG Push Lite presentation

BL <bl@ndt-inc.com> Tue, 12 November 2024 16:00 UTC

Return-Path: <bl@ndt-inc.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 39CD4C14F749 for <netconf@ietfa.amsl.com>; Tue, 12 Nov 2024 08:00:06 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.103
X-Spam-Level:
X-Spam-Status: No, score=-2.103 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_BLOCKED=0.001, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, 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=ndt-inc.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 y9wr6ORIEiVO for <netconf@ietfa.amsl.com>; Tue, 12 Nov 2024 08:00:01 -0800 (PST)
Received: from sender4-op-o15.zoho.com (sender4-op-o15.zoho.com [136.143.188.15]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 99E6FC14F6A5 for <netconf@ietf.org>; Tue, 12 Nov 2024 08:00:01 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; t=1731427196; cv=none; d=zohomail.com; s=zohoarc; b=C8EynBp9MNzQyQTqWTdBmWc77883jvTvpbYR7roMHSAl07Kqm9Wi4LCgv1qODLZAsW2GFr3KUEq1G/LM1YXNAw8YYE42/qUcQrkCvIo3JFJo9qFH/exi377K1LsX7iVGXFiEcX0ciHHicxGUeuymWjDoF/baIHOvtRciSmWW45A=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1731427196; h=Content-Type:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=9w9HH4N/crX3CaTduJVIVU+tWQ8440Fsa5dhq77Z/hw=; b=XXKdphZQjGdmCoT0C5VsHpFeKzUZcxnkmwzJxbtnzHcKrT1FFzHP0C/Qu2LQOqCethBJYw+2H64rg6W+iXkrho+VVrqwUVm1uMU8LbK3sKKtwqasX5vzJ6ZhyimS/As8edoWD5Y0Y6RAkBVgJKNX2IUkJU5obYnahtsIXjonZWY=
ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=ndt-inc.com; spf=pass smtp.mailfrom=bl@ndt-inc.com; dmarc=pass header.from=<bl@ndt-inc.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1731427196; s=zoho; d=ndt-inc.com; i=bl@ndt-inc.com; h=Content-Type:Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Message-Id:Reply-To; bh=9w9HH4N/crX3CaTduJVIVU+tWQ8440Fsa5dhq77Z/hw=; b=WNLMrzpGaJamUbU5+Pkdw1XEUu5lWClANPLE9skjw5G3DY+NYUTDI2tsDWosCtKl Lq7PDOgwodgc5+Ca+3WJmRa9CgxgARBxXR+c9RIaS8l9rFLLXAYoqssFGrZEsydxtvp ZW+sI5vJ96I7HrGGzwXxt8QQ7Z71GNrdXGttk53YYy80cKC8KiK1xeD5lgS/iYOEvFE Lr+F6zFU6ieqV2tyEdw0KpmkxiGmPTba4IKbbTGyjWuSiRYRrTNDE7hFTuM5neGwbCH AJtv5xjzZ4fCpeTGWGMNnThodutEInMtbgL07rOGGrazVbV8r9C2YYhHjUUb/BlCYHs UVr6o6N6kA==
Received: by mx.zohomail.com with SMTPS id 1731427194421821.3803373727304; Tue, 12 Nov 2024 07:59:54 -0800 (PST)
Content-Type: multipart/alternative; boundary="------------am2fhglYSKtx4Ur10qtRnjLp"
Message-ID: <bdf5fc6c-1f45-4800-97cd-4dbaa4e56224@ndt-inc.com>
Date: Tue, 12 Nov 2024 10:59:54 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: "Rob Wilton (rwilton)" <rwilton@cisco.com>, Andy Bierman <andy@yumaworks.com>
References: <CABCOCHTxV=wxAVkQBiGK1ounrP+CPpcvYyoGKVxWwsT5ybT4rg@mail.gmail.com> <926994226.132102.1731082639532@mail.yahoo.com> <CABCOCHQ4PWYUCcwCST25nPP=1G+KV7+HpWtagi3KoaMu9pneiA@mail.gmail.com> <f1fbbf8e-edac-4e0a-b1d9-6ee0fb13f801@ndt-inc.com> <CABCOCHS_9YkP5gTx8Ss2EK=LQHkok8Uxfvp1z2WZTeuQqjCQUg@mail.gmail.com> <213ba25f-2c93-4e01-b372-949b641150de@ndt-inc.com> <LV8PR11MB8536E1ADAE8227CFD5D245CAB5582@LV8PR11MB8536.namprd11.prod.outlook.com>
Content-Language: en-US
From: BL <bl@ndt-inc.com>
In-Reply-To: <LV8PR11MB8536E1ADAE8227CFD5D245CAB5582@LV8PR11MB8536.namprd11.prod.outlook.com>
X-ZohoMailClient: External
Message-ID-Hash: K2NFVNVUMD4LK553JUVS53SLEGSFIEQY
X-Message-ID-Hash: K2NFVNVUMD4LK553JUVS53SLEGSFIEQY
X-MailFrom: bl@ndt-inc.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-netconf.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: "netconf@ietf.org" <netconf@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [netconf] Re: YANG Push Lite presentation
List-Id: NETCONF WG list <netconf.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/sK5y7IE-OfB30ro0ShtA9LgcAbw>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Owner: <mailto:netconf-owner@ietf.org>
List-Post: <mailto:netconf@ietf.org>
List-Subscribe: <mailto:netconf-join@ietf.org>
List-Unsubscribe: <mailto:netconf-leave@ietf.org>

Basically the proposal is to change notification used in on-change 
subscription to be a "modified-push-update"
(indication of operation: merge or delete, can include only a subset of 
the "full" update,  includes objects that are not changed, ...)?

Client won't be able to tell whether the object has changed or not if 
the value for that object in notification
is the same as the value of the object already known by the client.
I.e. client should understand that notification contains the current 
state of the (subset of) subscribed values.

I think that this is reasonable.

Borislav



On 11/11/2024 1:08 PM, Rob Wilton (rwilton) wrote:
>
> Hi Borislav,
>
> Please see inline …
>
> *From: *BL <bl@ndt-inc.com>
> *Date: *Monday, 11 November 2024 at 14:58
> *To: *Andy Bierman <andy@yumaworks.com>
> *Cc: *netconf@ietf.org <netconf@ietf.org>
> *Subject: *[netconf] Re: YANG Push Lite presentation
>
>
>
> On 11/8/2024 7:21 PM, Andy Bierman wrote:
>
>     On Fri, Nov 8, 2024 at 4:01 PM BL <bl@ndt-inc.com> wrote:
>
>         Hi Andy,
>
>         dampening-period is for both the subscriber/client and the
>         publisher/server.
>         Server should implement
>         ietf-system-capabilities/ietf-notification-capabilities (or
>         similar model)
>         so the client can examine capabilities of the server before
>         subscribing.
>
>     I am aware of that YANG module.
>
>     My comment was about the slide that said that dampening  should be
>     removed from YANG Push.
>
>     This is the only standard way for an operator can limit the send
>     rate of each publisher.
>
>     Seems kind of important for UDP.
>
>         You propose to remove "push-change-update" and use
>         "push-update" instead in "on-change" subscription.
>         Which sounds reasonable since "push-change-update" is
>         complicated to implement.
>         Could you clarify:
>         "Also agree that a push update is not a full replace, but
>         rather just gather what is being reported."
>
>     The example in the meeting was a subscription for an entire
>     datastore, but consider a filter for /interfaces.
>
>     If an update only contains  1 interface
>     (/interfaces/interface[name='foo']) that does not mean all the
>     other interfaces
>
>     have been deleted.  This is not as precise as YANG Patch but much
>     easier to implement.
>
>
> So this would be a "push-change-update" but in a different form, i.e. 
> modified "push-update" ?
> I don't see how this makes implementation easier.
>
> There are probably 3 main benefits:
>
>  1. Just choosing a simpler/less verbose format than YANG Patch.
>  2. Simplifying the change type to just “exists with value” (i.e.,
>     create/update) vs “doesn’t exist” (i.e., delete) (TBD – figure out
>     if we need special handling for changes to list keys or reordering
>     user-ordered lists).
>  3. Allowing a receiver to get both period and on-change notifications
>     in the same subscription and share a lot of the code for
>     processing message.
>
> So, the desire to change the format has come from both implementation 
> experience on the server side, and also from the consumer side, i.e., 
> the operators who are consuming the telemetry data.  The goal of this 
> work is to simplify the task to efficiently replicating state from a 
> server to a client, rather than trying to give an indication as to 
> how/why the state has changed which in many cases would encourage a 
> fragile solution (e.g., it is unlikely that behaviour can be 
> guaranteed if the connection is lost, or a daemon on the server is 
> restarted).  Instead, we revert to notifying simpler state that the 
> server should be able to provide accurately.
>
> Regards,
> Rob
>
>     The push-update may need some enhancement to say "I really mean a
>     full replace this time".
>
>         Borislav
>
>     Andy
>
>
>         On 11/8/2024 11:37 AM, Andy Bierman wrote:
>
>             On Fri, Nov 8, 2024 at 8:17 AM Reshad Rahman
>             <reshad@yahoo.com> wrote:
>
>                 Hi Andy,
>
>                 > I do not understand the issue with dampening.
>
>                 Within the implementation, it means how often you
>                 check for changes.
>
>                 It is effectively the same as the 'period' for a
>                 periodic subscription.
>
>                 How does an on-change subscription work without this
>                 parameter?
>
>                 In the context of continuously changing data such as
>                 counters I understand the statement above. But for
>                 state changes, dampening-period isn't needed (although
>                 I realize this is implementation specific).
>
>             So it should be optional I guess.
>
>             This parameter is for the subscriber, not the publisher.
>
>             It means "do not send me an update more frequently than N
>             centiseconds".
>
>                 Regards,
>
>                 Reshad.
>
>             Andy
>
>                 On Friday, November 8, 2024 at 11:08:24 AM EST, Andy
>                 Bierman <andy@yumaworks.com> wrote:
>
>                 Hi,
>
>                 I hope this work gets high priority.
>
>                 There are many I-Ds already so please do not start
>                 over or greatly expand the scope.
>
>                 I have been saying that YANG Push is too complicated
>                 since I was on the DT
>
>                 that created RFC 8639,40,41.
>
>                 We have a fairly complete implementation of dynamic
>                 subscriptions.
>
>                 Glad to see there is now consensus to get rid of the
>                 YANG Patch update.
>
>                 We decided the same thing a long time ago:
>
>                 https://docs.yumaworks.com/en/latest/cli/netconfd-pro.html#push-simop-patch-update
>
>                 Also agree that a push update is not a full replace,
>                 but rather just
>
>                 gather what is being reported.  That is also how our
>                 server works.
>
>                 I do not understand the issue with dampening.
>
>                 Within the implementation, it means how often you
>                 check for changes.
>
>                 It is effectively the same as the 'period' for a
>                 periodic subscription.
>
>                 How does an on-change subscription work without this
>                 parameter?
>
>                 Andy
>
>                 _______________________________________________
>                 netconf mailing list -- netconf@ietf.org
>                 To unsubscribe send an email to netconf-leave@ietf.org
>
>
>
>             _______________________________________________
>
>             netconf mailing list --netconf@ietf.org
>
>             To unsubscribe send an email tonetconf-leave@ietf.org
>
>         _______________________________________________
>         netconf mailing list -- netconf@ietf.org
>         To unsubscribe send an email to netconf-leave@ietf.org
>