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

Kent Watsen <kwatsen@juniper.net> Fri, 27 July 2018 18:02 UTC

Return-Path: <kwatsen@juniper.net>
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 63F17130DDD; Fri, 27 Jul 2018 11:02:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=juniper.net
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 EATA6s2j2bxW; Fri, 27 Jul 2018 11:02:43 -0700 (PDT)
Received: from mx0b-00273201.pphosted.com (mx0a-00273201.pphosted.com [208.84.65.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D4B8A130DEE; Fri, 27 Jul 2018 11:02:43 -0700 (PDT)
Received: from pps.filterd (m0108157.ppops.net [127.0.0.1]) by mx0a-00273201.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w6RHwciN029263; Fri, 27 Jul 2018 11:02:42 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=PPS1017; bh=zbGZHsZfxMIbauwj9/CqwUeayAjPfXrgQAckdOMjqmY=; b=Zj8F8RNb8HQgCKm+X8oG9enALrWN1A7y8AXoQhPKy+XmdUI/0GDM78EWILITjsYbCYc+ JiGrE8P+UQZTxAS3maT2CmV1hY4p38Q0SOhgcdpJLQTzIDQfZ+P3sqT7/HCLhdZzXvGK 5/J31GnlJSZp9C2h13Ebw50PjJ7qYHPvhiajffclLt4G1zPlv+sxBuTXWL+mgrRzkOhO 2FQo6iK1LI6c7sgpOr3XnHOKikGraj77Ka9Cir3CBFllTNoshqCOQG2aW4qYC30ej1NW ssV4aVwAYtZykpAA6MpelqTFxVRxJmUrwHZcfpT+26y3eO3XV3lSrTopNR7j3WApFtgJ Hw==
Received: from nam02-sn1-obe.outbound.protection.outlook.com (mail-sn1nam02lp0019.outbound.protection.outlook.com [216.32.180.19]) by mx0a-00273201.pphosted.com with ESMTP id 2kg2fvrkp9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Fri, 27 Jul 2018 11:02:42 -0700
Received: from BYAPR05MB4230.namprd05.prod.outlook.com (52.135.200.153) by BYAPR05MB4936.namprd05.prod.outlook.com (52.135.235.207) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.995.11; Fri, 27 Jul 2018 18:02:40 +0000
Received: from BYAPR05MB4230.namprd05.prod.outlook.com ([fe80::84c5:999c:9159:d416]) by BYAPR05MB4230.namprd05.prod.outlook.com ([fe80::84c5:999c:9159:d416%2]) with mapi id 15.20.0995.019; Fri, 27 Jul 2018 18:02:40 +0000
From: Kent Watsen <kwatsen@juniper.net>
To: Andy Bierman <andy@yumaworks.com>, "Eric Voit (evoit)" <evoit=40cisco.com@dmarc.ietf.org>
CC: "yang-doctors@ietf.org" <yang-doctors@ietf.org>, "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] [yang-doctors] YANG Doctor question: empty mandatory choice? (was RE: YangPush now)
Thread-Index: AQHUJdFAXbQRWxuyVUGwDvoCxHXu6aSjGVMA
Date: Fri, 27 Jul 2018 18:02:40 +0000
Message-ID: <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>
In-Reply-To: <CABCOCHRs=gbDByn_Me68j4JVE1UABPrYJ3-H2DSgRxzw41i_Pg@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/f.20.0.170309
x-originating-ip: [66.129.241.12]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; BYAPR05MB4936; 6:IPoWs7QVBsP2u8VMOpGGpLBT0yj/8b7XPmE3UFwxpbk92QIvuSWWKLtGLbaQAGSauuqVi1dh0F1zwwIU9Yzfc4jBRWMeQPdUasIUpN2alik54Yv27RFemLB9llQ+U56rwftP9QrZ72wcP6kWwKFjlMyczy2EygL92L9hhcf39nEwuexlVNBojT7sQUo4oxYxdZ5SslHuutUMGPGOhJus+7ZkQtKw9HhyL6THxAl3001eTlC3XdLyV0Ef3lvKLp2g/0ZG1IVg3I2ynIhnhMWQMA36a+cFVProA9u2U7C4jSmYMo88UrfwxUqxwsTa29+5Xec4Vi0tUcaimR64KYmcnjkWRzT9WHdI6EOVaOkzxKHIh3cCNiu0D5VVS7Y/USYNJW8jH0qL2XSXfjy86HPtgq5Lu1+u9Rr1A9iTQknvUnYuUxoOAG+AaEasqb3ncc9dk4/aux5PRDWDOkdmGA2oZg==; 5:EbhOWlIBs6sxX8TbbsNru0UX66UYa+OlAanpdQCAcXrfPZViilsf6k/ybhajZ8638wKl9NsBJm5yiugzWGBsKjZEtiwZz25Fr86PdVabtmzg+PI8sOPhCxH8pWAptkoM0MZG6Ts17DudM8Dr7Tsc7unBDV6ijgN7RLNbrgKUN/I=; 7:MPpNPu5Fq6m9PiXh3DR2aPv98gmXm+rMdmwxjkCeO0375UsM4tP3LhgrhJl4IEsa9hI82cDo2VNCvLKxWJMdijvp3oDqAPHFJvVLbRlQaq2Asm9S6bkrOlNBVGgy8B0jPgJhMYrnpIk5IlrJYKM73kj85+QNwtdhJwtl17SAiBigBNaHOMmD4yU5adR79nkcA8AygaUnqNU3675m/dksyPEjclntwX95rauYrjuNRezekkMdi0bZqiBTETiGN2RE
x-ms-exchange-antispam-srfa-diagnostics: SOS;
x-ms-office365-filtering-correlation-id: b4fddb34-949b-4a0f-9ce0-08d5f3eb24d5
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(5600074)(711020)(4618075)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060)(7193020); SRVR:BYAPR05MB4936;
x-ms-traffictypediagnostic: BYAPR05MB4936:
x-microsoft-antispam-prvs: <BYAPR05MB4936CFFC6D13CB27CF09DAC9A52A0@BYAPR05MB4936.namprd05.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(28532068793085)(21748063052155);
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231311)(944501410)(52105095)(93006095)(93001095)(10201501046)(3002001)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123564045)(20161123560045)(20161123562045)(6072148)(201708071742011)(7699016); SRVR:BYAPR05MB4936; BCL:0; PCL:0; RULEID:; SRVR:BYAPR05MB4936;
x-forefront-prvs: 07467C4D33
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(136003)(376002)(346002)(39860400002)(396003)(366004)(199004)(189003)(33656002)(93886005)(2906002)(97736004)(99286004)(5660300001)(82746002)(14454004)(68736007)(54906003)(316002)(11346002)(110136005)(58126008)(8936002)(476003)(36756003)(2616005)(446003)(81166006)(86362001)(81156014)(186003)(8676002)(26005)(102836004)(486006)(6506007)(76176011)(105586002)(6512007)(7736002)(53936002)(5250100002)(2900100001)(54896002)(6246003)(6306002)(256004)(14444005)(4326008)(25786009)(83716003)(3846002)(6116002)(229853002)(6436002)(478600001)(66066001)(106356001)(6486002); DIR:OUT; SFP:1102; SCL:1; SRVR:BYAPR05MB4936; H:BYAPR05MB4230.namprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1;
received-spf: None (protection.outlook.com: juniper.net does not designate permitted sender hosts)
x-microsoft-antispam-message-info: UHlmIvx3zqcOUBflmMoE28jkKPZBeNggbexdnDmR2+NfkuqZn1WsHQPn7oQsB/dfDjaT5Ltt8If+HorxZ4k9Z9n2n55Cf1mSzWLt9SxKCY7345c6p2pEqoj8TBjYfTUbCMP1UHyQLENKlfxqlFuiLdcHvDCyyT2GvAJDpWUgT/yps8te57ttmP4mhSI6X7TdEVRXaEuQbeMMzlFIic3fNElJ8h4O5HX66YuPMsY9ghh/+DmEmFsgxWyX6clYCYr6N+Fzl9eewE5+9toX0VERUiOfUajCXa2eKNK/7/SUZeZwqfRxml9VA9vjUW3RYowFQgY4aKSHXeYmDMsew1R5JghVUqDvtAnazkTTrjRkhv0=
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_93889648B18049A29C8ED2B0FAE127A9junipernet_"
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-Network-Message-Id: b4fddb34-949b-4a0f-9ce0-08d5f3eb24d5
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jul 2018 18:02:40.2386 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR05MB4936
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-07-27_07:, , signatures=0
X-Proofpoint-Spam-Details: rule=outbound_spam_notspam policy=outbound_spam score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1806210000 definitions=main-1807270181
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/dctE-3VQA2LsPlyN253Bwwv3Ba8>
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:02:47 -0000


> 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.

  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.

Kent // contributor