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

Andy Bierman <andy@yumaworks.com> Fri, 27 July 2018 17:42 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 DE466130FF7 for <netconf@ietfa.amsl.com>; Fri, 27 Jul 2018 10:42:47 -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=ham 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 fmp1cVotsN9U for <netconf@ietfa.amsl.com>; Fri, 27 Jul 2018 10:42:44 -0700 (PDT)
Received: from mail-lj1-x233.google.com (mail-lj1-x233.google.com [IPv6:2a00:1450:4864:20::233]) (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 55ABC130DF6 for <netconf@ietf.org>; Fri, 27 Jul 2018 10:42:44 -0700 (PDT)
Received: by mail-lj1-x233.google.com with SMTP id f1-v6so5113947ljc.9 for <netconf@ietf.org>; Fri, 27 Jul 2018 10:42:44 -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=NkRpHmyi2caXhFLi6CQl+4070OVswUFEmPGn9V1rX9A=; b=q8RSlLs4ATMAh8v+Z7ymkfb5R5a1Em7zovL4/b1Jdp8qusfUGp2sUNumlyPWhwD4zp EftD+zH2+DPC83X+FW3tm3nWUy/Zbn8zg6tCzocrLah838ejnxkpFTndC5pWkMpKeMRZ R6a+NlCiZUS0sdEn2FNV5BQOodlCKOr4qsHWW5rOp9GIwwmP8RQ05794uzeXWvdFq6EU vplesPJTVHA3BFacYUFfbf7siXFyLy+BU59Kvv7BZ6UbGVDq5hX27m5YsoTKdYxFsnxX +9qScpyTJxcJZSvTgR0Y1S1zwD7Yt5jqpSofnfMKwTi/bxhhfLEuBV8KqgXufEHgsrg0 OYrA==
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=NkRpHmyi2caXhFLi6CQl+4070OVswUFEmPGn9V1rX9A=; b=Frts67vGqYjbU2SrmOvRj+ClH7JQcf4dS/AK5a40vpR8Ejf184ctPRegwRlSL1j6dm 0rWf4CC3KwA/DAuCLhsR63ZJsfhg5nqn1rKUQcAWa8emXAWc2oyI3nHlSz+DizzKnny6 VeE9PQiM7Itihan86s33cffeqzx5k2fWSjhRXfp6uM23ngSnBhKUmVObwVhiGOUAEiJ2 enUb19QZ3xWKxxe36/tu+B0Gx6N5J2zei/Rc+iusAl/n795HnG/VR1Y8Qj75DAgriwNH SMJtNAfkFGHlqJfwgQfYkqOQq86/qlyloTQhk9PgI0xnDf9BLKxKzJT9XZDN3YDazQIP AXWQ==
X-Gm-Message-State: AOUpUlG7hwdkgIaAcA0VaIGHC2hoLKQF3WoIT1WUgvhWz9cImj1S/5PJ mJCoDaxIOFdm+xzSR2r7T4pPv6crIuxJj8VOEql+bw==
X-Google-Smtp-Source: AAOMgpcXAXErSXGdeGIoPhaFpnYdP4TaPdoElyfutwYcWGz2OjBPkm1kmtFenSsfDn/nzzha0JOfmoWGyRbgv0Y2fr4=
X-Received: by 2002:a2e:97c8:: with SMTP id m8-v6mr696104ljj.52.1532713362477; Fri, 27 Jul 2018 10:42:42 -0700 (PDT)
MIME-Version: 1.0
Received: by 2002:a19:aa46:0:0:0:0:0 with HTTP; Fri, 27 Jul 2018 10:42:41 -0700 (PDT)
In-Reply-To: <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> <5ca9eb9cb9a34d819340374263ad696d@XCH-RTP-013.cisco.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Fri, 27 Jul 2018 10:42:41 -0700
Message-ID: <CABCOCHRs=gbDByn_Me68j4JVE1UABPrYJ3-H2DSgRxzw41i_Pg@mail.gmail.com>
To: "Eric Voit (evoit)" <evoit=40cisco.com@dmarc.ietf.org>
Cc: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, "yang-doctors@ietf.org" <yang-doctors@ietf.org>, "netconf@ietf.org" <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000008366bc0571fea322"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/T3gh0zQXVz5ZR2ySUB-ZcRLhPAc>
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:42:48 -0000

Hi,

I would prefer to not add empty mandatory choices to any YANG module.
An empty choice is bad enough. In 2119 terms, using this container is a
SHOULD, not a MUST.


Andy


On Fri, Jul 27, 2018 at 10:37 AM, Eric Voit (evoit) <
evoit=40cisco.com@dmarc.ietf.org> wrote:

> > 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/>
>
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf
>