Re: [netconf] Adoption poll for draft-tgraf-netconf-yang-notifications-versioning
Benoit Claise <benoit.claise@huawei.com> Fri, 02 June 2023 14:28 UTC
Return-Path: <benoit.claise@huawei.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 5A9E2C14CF0C; Fri, 2 Jun 2023 07:28:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.894
X-Spam-Level:
X-Spam-Status: No, score=-1.894 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, NICE_REPLY_A=-0.001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, 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
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 qrsnXAhr1V78; Fri, 2 Jun 2023 07:28:27 -0700 (PDT)
Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 48DA1C14CE47; Fri, 2 Jun 2023 07:28:27 -0700 (PDT)
Received: from frapeml500001.china.huawei.com (unknown [172.18.147.207]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4QXljG5XJTz6J71v; Fri, 2 Jun 2023 22:28:18 +0800 (CST)
Received: from [10.206.138.20] (10.206.138.20) by frapeml500001.china.huawei.com (7.182.85.94) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Fri, 2 Jun 2023 16:28:21 +0200
Content-Type: multipart/alternative; boundary="------------6aO1f8k0AEJ6L02Jv9d0CXhW"
Message-ID: <59b2e26f-c9e2-19b7-5985-c71500f21e62@huawei.com>
Date: Fri, 02 Jun 2023 15:28:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0
Content-Language: en-GB
To: "Rob Wilton (rwilton)" <rwilton=40cisco.com@dmarc.ietf.org>
CC: netconf <netconf@ietf.org>, netconf-chairs <netconf-chairs@ietf.org>
References: <E78B3C0B-B415-4E8C-9080-ADFB69D4464E@gmail.com> <AC6138B1-ADA3-4D27-959A-47053D195914@imdea.org> <ghneulz67ajhfmlvs4kkx2ixvtl54ycjtr63dp6diqkqth5hdp@dt3zayd4keas> <BY5PR11MB41965C8427EF343AD6B8EC72B54B9@BY5PR11MB4196.namprd11.prod.outlook.com>
From: Benoit Claise <benoit.claise@huawei.com>
In-Reply-To: <BY5PR11MB41965C8427EF343AD6B8EC72B54B9@BY5PR11MB4196.namprd11.prod.outlook.com>
X-Originating-IP: [10.206.138.20]
X-ClientProxiedBy: dggems702-chm.china.huawei.com (10.3.19.179) To frapeml500001.china.huawei.com (7.182.85.94)
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/4KJ8ysLQqcSErw9asA5Lv9A_ugg>
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, 02 Jun 2023 14:28:31 -0000
Dear all, Typically, I try to avoid sending a message such as "As co-author, I support ..." which doesn't carry much weight IMO. However, I have been observing the discussion and it's about time to share my views. First, it seems that we have mixing the WG Call of Adoption of this draft with the "Joint WGLC on "semver" and "module-versioning" drafts" in NETMOD. Granted, the two issues are linked but I don't see the point to redo the NETMOD WGLC on this NETCONF new draft. This draft is not about supporting multiple YANG module revisions in a server. My interest in this draft is about YANG-PUSH tooling. Exactly like I can directly onboard a new IPFIX router to the analytic system: - Template Records and Flow Records are sent automatically from the router, - basically, the IPFIX Flow Records, with the IPFIX Information Elements and Template Record semantic are automatically known to the Collector and most importantly to the analytic tool. - the data processing chain can digest the information YANG-PUSH is currently changing, with UDP export (draft-ietf-netconf-udp-notif), with distributed export from line card (draft-ietf-netconf-distributed-notif*) *You see the analogy with IPFIX. Similarly to IPFIX toolchain, we need to ingest any new router with YANG-PUSH subscription automatically into the analytic system. This justifies the addition of revision/revision labels in YANG-PUSH. Granted, we could be sending YANG-PUSH without those fields, then use the IETF-YANG-LIBRARY to understand the revision, and keep a lookup table in YANG-PUSH receiver ... as long as the router has not changed: no software update, no reboot, no offline. Basically ,we constantly need to check that nothing has changed. (remember the interface counter SNMP Polling with sysUpTime discontinuity counter). If the router is upgraded with NBC YANG modules (and yes, that could happen) , it's best to stop streaming those not-supported-by-the-pipeline YANG module (revisions). Hence the revision selection. We have to stop thinking that the end goal is for the routers to spit telemetry data. The end goal is that the entire onboarding/collection system up to analytics, can make sense of the telemetry data. So yes, having garbage in my analytic system is a big deal. In other words, we don't want to break the end to end data processing chain (the pipeline) b/c of NBC YANG modules. So, in case it is not obvious, I support the WG call for adoption based on these valid use cases. :-) Regards, Benoit On 5/30/2023 1:09 PM, Rob Wilton (rwilton) wrote: > Hi, > > I think that it would be helpful to decouple the discussion about whether the YANG version number should be changed to the NETMOD WGLC review of the module versioning draft. I don't think that part of the discussion is particularly relevant to the adoption call for this document. > > My understanding of the goal here is to make it easier to export network device telemetry data (exposed via YANG push) in a way that can integrate well with message bus services like Kafka. I think that this is a good aim for the industry, and thus I support efforts (like this draft) to try and achieve this. > > I'm not intimately familiar with Kafka but I understand that it assumes that schema for the data being published can changed over time (e.g., perhaps due to a software upgrade on a publisher, or different instances of publishers running slightly different versions of software). Hence Kafka maintains a schema registry and allows a reference to the schema to be associated with the published data records. This allows entities in the data pipeline to check and confirm that the telemetry data conforms to the schema, and potentially to handle the data differently, if needed. > > I appreciate that RFC 6020 and RFC 7950 both are defined to try and ensure that YANG definitions only evolve in a backwards compatible way, but I see many examples within the wider industry and some examples in standards bodies where definitions are changed in ways that may impact clients. > > Hence, I think that this problem space, and draft, is about how to easily/robustly connect YANG data sources into Kafka data buses: > - one choice is to do this entirely off the box, having the entities managing the subscriptions also tracking changes to the device schema (e.g., through subscribing to YANG library updates). Perhaps this can be made to work, but probably adds additional timing complexity relating to when the subscriptions actually start sending data relative to receiving notifications that the content in YANG library has changed. Another choice here could be to always tear down all subscriptions if the device schema changes at all. > - the alternative is to augment the subscription-started/modified notifications to give an indication that the data for that subscription has changed. All data sent before this notification uses a previous schema, and all data sent after that notification uses the new schema. This allows the schema to change without completely tearing down existing subscriptions. > > I'm less sure about the ability to restrict subscription requests to particular versions. At a minimum I would suggest putting this under a feature statement, but I'm not quite sure whether it should be needed at all. > > I also agree with Andy's comment that we need to resolve how the revision-date/label applies to all the potential data under a subscription. To reuse part of Andy's example: > > <A:top> > <B:list1 /> > <C:container1 /> > <A:top> > > If the subscription is to B/list1, but during upgrade the only change was to the contents of C:container1 then for the subscription the revision-date/label for B:list1 wouldn't have changed, but the data received in the subscription would have changed. I.e., at the moment, YANG has no way to version everything under a subscription. Hence, I think that the notification would need to list all the module versions that are being used by the subscription, but I'm not convinced that is easy to do in practice. The alternative would be to just version the entire schema of the datastore (e.g., either a YANG library checksum, or a version label for a YANG package instance that represents the datastore schema), but this has the downside that all subscriptions would see a reported change in schema if any single module is changed on the device, even one that isn't being used (directly or indirectly) by the subscription. But then an off-device tool can figure out if the actual schema for the subscription has changed. > > In summary, I support NETCONF working in this space, and I believe that this draft is a reasonable starting point, but it still requires some refinement, which could be done as part of the WG work on this problem. > > Rob > > // As an individual contributor. > > >> -----Original Message----- >> From: netconf<netconf-bounces@ietf.org> On Behalf Of Jürgen Schönwälder >> Sent: 22 May 2023 19:25 >> To: Camilo Cardona<juancamilo.cardona@imdea.org> >> Cc: netconf<netconf@ietf.org>; netconf-chairs<netconf-chairs@ietf.org> >> Subject: Re: [netconf] Adoption poll for draft-tgraf-netconf-yang-notifications- >> versioning >> >> On Mon, May 22, 2023 at 12:43:20PM -0500, Camilo Cardona wrote: >> >>> - I like the insights shared by Jürgen and Andy regarding how hacky >>> versioning is for YANG 1.1. It makes sense, but I guess nobody >>> wants to start a 1.2 project.. >> If it is too hard to change the YANG version number, why should I >> believe it will be easy to change all the future module version >> numbers? >> >> If people are serious about versioning, the first thing they should >> do is proposing to bump the YANG version number when they make >> incompatible changes. >> >> /js >> >> -- >> Jürgen Schönwälder Constructor University Bremen gGmbH >> Phone: +49 421 200 3587 Campus Ring 1 | 28759 Bremen | Germany >> Fax: +49 421 200 3103<https://constructor.university/> >> >> _______________________________________________ >> netconf mailing list >> netconf@ietf.org >> https://www.ietf.org/mailman/listinfo/netconf > _______________________________________________ > netconf mailing list > netconf@ietf.org > https://www.ietf.org/mailman/listinfo/netconf
- [netconf] Adoption poll for draft-tgraf-netconf-y… Mahesh Jethanandani
- Re: [netconf] Adoption poll for draft-tgraf-netco… Jürgen Schönwälder
- Re: [netconf] Adoption poll for draft-tgraf-netco… Diego R. Lopez
- Re: [netconf] Adoption poll for draft-tgraf-netco… Thomas.Graf
- Re: [netconf] Adoption poll for draft-tgraf-netco… Andy Bierman
- Re: [netconf] Adoption poll for draft-tgraf-netco… Zhuoyao LIN
- [netconf] 答复: Adoption poll for draft-tgraf-netco… Fengchong (frank)
- Re: [netconf] Adoption poll for draft-tgraf-netco… IGNACIO DOMINGUEZ MARTINEZ-CASANUEVA
- Re: [netconf] Adoption poll for draft-tgraf-netco… Jürgen Schönwälder
- Re: [netconf] Adoption poll for draft-tgraf-netco… IGNACIO DOMINGUEZ MARTINEZ-CASANUEVA
- Re: [netconf] Adoption poll for draft-tgraf-netco… Jürgen Schönwälder
- Re: [netconf] Adoption poll for draft-tgraf-netco… Andy Bierman
- Re: [netconf] Adoption poll for draft-tgraf-netco… Andy Bierman
- Re: [netconf] Adoption poll for draft-tgraf-netco… Thomas.Graf
- Re: [netconf] Adoption poll for draft-tgraf-netco… Andy Bierman
- Re: [netconf] Adoption poll for draft-tgraf-netco… Andy Bierman
- Re: [netconf] Adoption poll for draft-tgraf-netco… Jürgen Schönwälder
- Re: [netconf] Adoption poll for draft-tgraf-netco… Thomas.Graf
- Re: [netconf] Adoption poll for draft-tgraf-netco… Jürgen Schönwälder
- Re: [netconf] Adoption poll for draft-tgraf-netco… Camilo Cardona
- Re: [netconf] Adoption poll for draft-tgraf-netco… Jürgen Schönwälder
- Re: [netconf] Adoption poll for draft-tgraf-netco… Andy Bierman
- Re: [netconf] Adoption poll for draft-tgraf-netco… Thomas.Graf
- Re: [netconf] Adoption poll for draft-tgraf-netco… Thomas.Graf
- Re: [netconf] Adoption poll for draft-tgraf-netco… Andy Bierman
- Re: [netconf] Adoption poll for draft-tgraf-netco… Thomas.Graf
- Re: [netconf] Adoption poll for draft-tgraf-netco… Rob Wilton (rwilton)
- Re: [netconf] Adoption poll for draft-tgraf-netco… Alex Huang Feng
- Re: [netconf] Adoption poll for draft-tgraf-netco… Jean Quilbeuf
- Re: [netconf] Adoption poll for draft-tgraf-netco… Benoit Claise
- Re: [netconf] Adoption poll for draft-tgraf-netco… Andy Bierman
- Re: [netconf] Adoption poll for draft-tgraf-netco… Voyer, Daniel
- Re: [netconf] Adoption poll for draft-tgraf-netco… N.Leymann
- Re: [netconf] Adoption poll for draft-tgraf-netco… li_zhenqiang@hotmail.com
- Re: [netconf] Adoption poll for draft-tgraf-netco… Thomas.Graf
- Re: [netconf] Adoption poll for draft-tgraf-netco… Mahesh Jethanandani
- Re: [netconf] Adoption poll for draft-tgraf-netco… Thomas.Graf
- Re: [netconf] Adoption poll for draft-tgraf-netco… Mahesh Jethanandani
- Re: [netconf] Adoption poll for draft-tgraf-netco… Thomas.Graf
- Re: [netconf] Adoption poll for draft-tgraf-netco… Mahesh Jethanandani