Re: [Netconf] [yang-doctors] YANG Doctor question: empty mandatory choice? (was RE: YangPush now)

"Eric Voit (evoit)" <evoit@cisco.com> Fri, 27 July 2018 17:37 UTC

Return-Path: <evoit@cisco.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 3D7F0130E20; Fri, 27 Jul 2018 10:37:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.511
X-Spam-Level:
X-Spam-Status: No, score=-14.511 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, SPF_PASS=-0.001, T_DKIMWL_WL_MED=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.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 I0Ax_6X3QwhS; Fri, 27 Jul 2018 10:37:34 -0700 (PDT)
Received: from rcdn-iport-2.cisco.com (rcdn-iport-2.cisco.com [173.37.86.73]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 55916130FF7; Fri, 27 Jul 2018 10:37:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=4437; q=dns/txt; s=iport; t=1532713054; x=1533922654; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=soLCIXi5Yk3qlu9sBciHVSczcvZGKPOTUPQPgyIe2dI=; b=R1yy/IAyZLEDYagtdyA2ityBlZyB9GHOlBKXTBWSEJO8Nt0yvTXhfhED cS6Lw1o/p4RNvBzhEmJZo+olBZY9MXOWHnCUx+T3FZacIss0M+TkXmS6X YggOpUqq+Xm/2maKAHZaIy58aC+pioT614OcA9KgaYo4rvM3Stdx/MbrI 0=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0DmAQBLV1tb/5hdJa1YAxkBAQEBAQEBAQEBAQEHAQEBAQGDTmN/KAqYNYIMlVGBegsjhEkCgnshNhYBAgEBAgEBAm0cDIU2AQEBAwE6PwUJAgIBCA4CBQIBDREQGxcdCAIEDgUIgxmBdwgPr0WKPgUFiH0XgUE/gw6BFYMbAoE5SCaEbyACmgsJAo8sjg6SDQIRFIEkJAcqgVJwFYMkgk2DZ4RhhT5vAY0IgS6BGwEB
X-IronPort-AV: E=Sophos;i="5.51,410,1526342400"; d="scan'208";a="433109842"
Received: from rcdn-core-1.cisco.com ([173.37.93.152]) by rcdn-iport-2.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 27 Jul 2018 17:37:33 +0000
Received: from XCH-RTP-010.cisco.com (xch-rtp-010.cisco.com [64.101.220.150]) by rcdn-core-1.cisco.com (8.15.2/8.15.2) with ESMTPS id w6RHbWBH030572 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Fri, 27 Jul 2018 17:37:33 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-010.cisco.com (64.101.220.150) with Microsoft SMTP Server (TLS) id 15.0.1320.4; Fri, 27 Jul 2018 13:37:32 -0400
Received: from xch-rtp-013.cisco.com ([64.101.220.153]) by XCH-RTP-013.cisco.com ([64.101.220.153]) with mapi id 15.00.1320.000; Fri, 27 Jul 2018 13:37:32 -0400
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
CC: "Robert Wilton -X (rwilton - ENSOFT LIMITED at Cisco)" <rwilton@cisco.com>, "yang-doctors@ietf.org" <yang-doctors@ietf.org>, "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [yang-doctors] YANG Doctor question: empty mandatory choice? (was RE: [Netconf] YangPush now)
Thread-Index: AQHUJS2cZg8w9iUFbU+0+L6a3bxq1aSiIzgwgAEKvQD///rvIIAAWdEA///LsUA=
Date: Fri, 27 Jul 2018 17:37:32 +0000
Message-ID: <5ca9eb9cb9a34d819340374263ad696d@XCH-RTP-013.cisco.com>
References: <727ae35abd394a85812168615acce2d3@XCH-RTP-013.cisco.com> <20180726221120.bv3mtlitoqqov2zm@anna.jacobs.jacobs-university.de> <1b58e76f527442c3a0fa34437b9f0cd4@XCH-RTP-013.cisco.com> <7a87a2c9-9af6-2555-e661-519e0352d1bf@cisco.com> <d88c590e29854474b3ca836c4d3c6853@XCH-RTP-013.cisco.com> <20180727161516.wnkkdpvm4smgtork@anna.jacobs.jacobs-university.de>
In-Reply-To: <20180727161516.wnkkdpvm4smgtork@anna.jacobs.jacobs-university.de>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.118.56.234]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Outbound-SMTP-Client: 64.101.220.150, xch-rtp-010.cisco.com
X-Outbound-Node: rcdn-core-1.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/qICRfsCU9iLQfCo2DnEBBySShTQ>
Subject: Re: [Netconf] [yang-doctors] YANG Doctor question: empty mandatory choice? (was RE: YangPush now)
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: Fri, 27 Jul 2018 17:37:37 -0000

> From: Juergen Schoenwaelder, July 27, 2018 12:15 PM
> To: Eric Voit (evoit) <evoit@cisco.com>
> Cc: Robert Wilton -X (rwilton - ENSOFT LIMITED at Cisco)
> <rwilton@cisco.com>; yang-doctors@ietf.org; netconf@ietf.org
> Subject: Re: [yang-doctors] YANG Doctor question: empty mandatory
> choice? (was RE: [Netconf] YangPush now)
> 
> On Fri, Jul 27, 2018 at 03:33:05PM +0000, Eric Voit (evoit) wrote:
> >
> > I am sympathetic to the possibilities.  There are some very cool modeling
> variants here.  Still, per the original thread "YangPush now", a current
> business objective is to see if we can conclude something with current
> drafts/scope.  As a single transport was the chosen consensus at and after
> IETF 100, going down this path would reopen some scoping discussions.
> Note: for historical reasons, the discussion can be listened to at:
> > https://www.ietf.org/audio/ietf100/ietf100-collyer-20171116-1550.mp3
> > (Note: that starting at 57 minutes, you and others voice a preference
> > for 'single' due to simplicity ;-).  Also in the recording, you can
> > year me recognize Martin's unvarying position that encoding and
> > transport be both the subscription level, or both be at the receiver
> > level.  I.e., I don't see how this gets reopened, and we close soon.)
> >
> 
> Still looks like a CLR and somewhat odd once you use a choice for the
> transports of a receiver
 (using a choice likely was not yet proposed back
> then).

Yes, the empty mandatory choice was not proposed then.   And honestly, I would be absolutely fine if the empty mandatory choice is not included in the final model.  

My intent in starting this thread is that I just want to give a fair hearing for Kent on whether his suggestion is technically acceptable.  While I don't see Kent's proposal as being especially pretty, it might be able to bring us to closure on what is perhaps the last technical issue for the current drafts.

> Looking at the draft-ietf-netconf-subscribed-notifications-14.txt, how do the
> states of a receiver work with multiple transports? It seems some text in
> the draft kind of assumes that a receiver has a single transport. It seems
> dynamic subscriptions always have just one associated transport.
> Configured subscriptions apparently can have multiple with some
> constraints and it is unclear how the configured subscriptions states work
> with multiple transports.

Figure 9 defines receiver state specific just for a single configured subscription from the perspective of a publisher.  It is valid to have a receiver handle multiple subscriptions using different transports.

> I am not sure if I understand things right but it seems to me that a
> subscription can have multiple receivers and every receiver can have
> multiple transports. Perhaps simplifying this to 'a subscription can have
> multiple receivers and every receiver has a single transport (like in the
> dynamic subscription case)

There is no reason a single dynamic subscriber can't have independent subscriptions using different transports to the same publisher.  

>  and there are no constraints on the type of
> transports used by the different receivers' gives you a model that is less
> complex, easier to clearly define (the state of a receiver becomes simpler to
> derived from a single transport state) and the model likely still does
> everything that is practically needed.

Controllers will spin up and tear down multiple independent subscriptions within a single transport session.  This will be driven by applications sitting on controllers having different data needs.  One example of this would be creating a replay subscription to retrieve events dropped.   Also based on previous threads, there is also a need for the first configured subscription from a receive to initiate a separate transport session (even if a seemingly acceptable one is already is in place).  This avoids the possibility of some over-zealous dynamic subscription application from closing down a transport session subsequently used by a configured subscription.

Eric
 
> /js
> 
> --
> 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/>