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

Andy Bierman <andy@yumaworks.com> Fri, 27 July 2018 18:13 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 E65E8126BED for <netconf@ietfa.amsl.com>; Fri, 27 Jul 2018 11:13:01 -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=unavailable 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 JUK0BzJ0B4pe for <netconf@ietfa.amsl.com>; Fri, 27 Jul 2018 11:12:58 -0700 (PDT)
Received: from mail-lj1-x229.google.com (mail-lj1-x229.google.com [IPv6:2a00:1450:4864:20::229]) (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 65241130E53 for <netconf@ietf.org>; Fri, 27 Jul 2018 11:12:58 -0700 (PDT)
Received: by mail-lj1-x229.google.com with SMTP id r13-v6so5178249ljg.10 for <netconf@ietf.org>; Fri, 27 Jul 2018 11:12:58 -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=/KcAS6WkLUqjFSfsXIa/+As9w3EWSfsxza3121t4DdM=; b=PGWadzrHRY509yhvrY8zTviy+KAC2g67++gWE2C7VlNmjzU11s0vRJD3Qu/uIZ6fix ekQE6bzNYLeRxisKvf7+uhrLD4r+4e64PEkCPb2K3fvHGUcLW9gv9c8TQQFx2rQImxxp vdDioTEMZ/oVx6UgckI+ucd5NYe9PflTaMuxgEbhXpiO7+DdBSqMCrlfXrXRj9WqyQ2A nID8fdN1DmPQWPRCDg3Ta9OQDCZEVGqbdX6BIOyEmzBhhmkEAaGvS5qsVMVD3t5g4Xrp GaS/6qxk17JQqm4hYzV25VlqCHsQza8Ia5ZLk00JpeZHGWw/xzRIMuqQ5n3JwZcc4EEQ W9ow==
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=/KcAS6WkLUqjFSfsXIa/+As9w3EWSfsxza3121t4DdM=; b=taBOfAqqG1ZqG3KBusoTJjr0dUEX1wT5I5HsatLK5CCL4Mg4oKVyhJzOlroULDChHT 9O5k9TmLPDAdC0uDZLIoMi9y2xgcL0SqokyDR88O0UtNlIj7pPo2FfEgC2j1DpVTPEnT C9COg3gAq9RwS4MSCX2C/MdlP6/BKV6SBHdKN1n/MSRx8hYSczp4ZLUBhnJ4TSj0DJDP V3NUGMoE/T4qZkMhk82R03toPVBmwzIPrcXpDN5suILZgdA9XtiDSHJOeji51bHNyoDe T6jZxyVpjtlTnLBImkzvldbalmzR5+Z8oLqNc/yHCjdtCnhAa60TE82nrITIfugrhrS5 IBtQ==
X-Gm-Message-State: AOUpUlEVfG3D/TwzMX9lZiW8jN7XCrwogKtJ6W2ApSWAciUyYUVXqCa9 kLpXNr/e119psr7nOU9z4H0lYR2PrzUyJgzU6SwkIQ==
X-Google-Smtp-Source: AAOMgpe3ufDX7UiSP3dQF5/TESpqYa8M392RzAs4hUNb8sGw/KTd174+QQ0fRl/e55K+awD7lJLa55NDE79u8AAiBOc=
X-Received: by 2002:a2e:4401:: with SMTP id r1-v6mr5947450lja.21.1532715176588; Fri, 27 Jul 2018 11:12:56 -0700 (PDT)
MIME-Version: 1.0
Received: by 2002:a19:aa46:0:0:0:0:0 with HTTP; Fri, 27 Jul 2018 11:12:55 -0700 (PDT)
In-Reply-To: <93889648-B180-49A2-9C8E-D2B0FAE127A9@juniper.net>
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> <CABCOCHRs=gbDByn_Me68j4JVE1UABPrYJ3-H2DSgRxzw41i_Pg@mail.gmail.com> <93889648-B180-49A2-9C8E-D2B0FAE127A9@juniper.net>
From: Andy Bierman <andy@yumaworks.com>
Date: Fri, 27 Jul 2018 11:12:55 -0700
Message-ID: <CABCOCHR5QV81cAzG7fbgP-TmjwWjsoRosdUmmERUQ+VmUoXn4g@mail.gmail.com>
To: Kent Watsen <kwatsen@juniper.net>
Cc: "Eric Voit (evoit)" <evoit=40cisco.com@dmarc.ietf.org>, "yang-doctors@ietf.org" <yang-doctors@ietf.org>, "netconf@ietf.org" <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000a489c30571ff0f43"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/mWIFf5q6hqGTBHv0MLgZEF6Sb4o>
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 18:13:02 -0000

On Fri, Jul 27, 2018 at 11:02 AM, Kent Watsen <kwatsen@juniper.net> wrote:

>
>
>
>
> > 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.
>
>
>
> Moving past the syntax-level discussion:
>
>
>
> 1) do you agree that a transport MUST be configured?
>
>
>
>        - if not, then how is this a configuration model when half the
> config is
>
>          hidden behind vendor magic?  In my view, this pushes the limit of
>
>          reasonableness.
>


Yes, but I do not agree it helps to force that configuration to be in this
choice-stmt.
A client developer is going to need the vendor YANG module before doing any
work
so they will see exactly where that config is located.



>
>
>   2) do you agree that at most only one transport can be configured per
> "receiver"?
>
>
>
>         - this is perhaps arguable but, if needed, then I'd push for a
> list with
>
>           min-elements 1.   That said, why support multiple transports
> under
>
>           a single "receiver", when multiple "receiver" instances can be
> created,
>
>           one for each?   Additionally, it muddies what the text means by
>
>           "receiver state", as then there would have to be state per
> transport.
>

Yes -- I don't even like multiple receivers so the added complexity is not
justified.
(I would have preferred 1 receiver per subscription with the ability to use
another subscription
config by reference. IMO the state data is cleaner and the design is
cleaner, but that's not
what we have)



>
>
> Kent // contributor
>
>
>

Andy