Re: [Netconf] YANG Doctor question: empty mandatory choice?

Andy Bierman <andy@yumaworks.com> Fri, 03 August 2018 16:30 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 54540130E53 for <netconf@ietfa.amsl.com>; Fri, 3 Aug 2018 09:30:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.909
X-Spam-Level:
X-Spam-Status: No, score=-1.909 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, URIBL_BLOCKED=0.001] 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 xhhTdCJP4C50 for <netconf@ietfa.amsl.com>; Fri, 3 Aug 2018 09:30:21 -0700 (PDT)
Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com [IPv6:2a00:1450:4864:20::132]) (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 E66BD130DF4 for <netconf@ietf.org>; Fri, 3 Aug 2018 09:30:20 -0700 (PDT)
Received: by mail-lf1-x132.google.com with SMTP id f18-v6so4498344lfc.2 for <netconf@ietf.org>; Fri, 03 Aug 2018 09:30:20 -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=kCPAsCUN41CPmmyzpKeVL7vmubGeldZV1vNuRQp1Mq0=; b=tINbwIiSYhWuBSBB1CXlhGc5X/+rVbbo3ZvqraLAR02xhPL76a5OgVTWoj+yX2QlSI kaInfIMoTjUw0NNzoqS6EpMVVE5NvaRP25zL56Y5nxKCt5ylnlxiuBy4I0x/ENw70R9M E4On1CSiNfIEqv+qBX9DxeARHnwHREmpt4WQ5lzXqeSMYItRuiozdF0eJFp95Br6mnYs DdjAcnqedL1adR/1osYkNvDPY3blEQY8kpJ5OBSTRzSCJtjvgfWXFg1qL0qd8QeVfRSo 01fMtUgM2mx5J9L2A5DLAKRlYcjx00TCBDhbhmpGpqgnpjfB1tJuwKST+Bz9BnOk1bcY huWw==
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=kCPAsCUN41CPmmyzpKeVL7vmubGeldZV1vNuRQp1Mq0=; b=apXma9Gy/zuW0YJ0rvKRNKxxMQm0HmMJ255CZarILicXd/DJOhdTiXWPgUH7we9Cy1 Y7/FnSR3cqB/b4pc6X8B1y8CY7kUXrJXsMeeHd8pqP70Ik4gxgcSRytpxg5WEzwoQCk9 DPC5dBIwUvUfLz48W8ID0KpoVBg21rnBe9rTzXs158n9Td1ZPsMFf5A+wNkYNhUVgkW9 pWGqtQqsr2AGz6XiVlKSiJ97zliEMsUJsTCiNNQrOn26i4LqWjTdjnl4+DiZs3wZ4bZl XnCGoGbXTcyvm343IHVWVz5ymlHqKqiSXtIgz66FZyk+YMGDPxziicPc8r1ZxXUVUNlo hW3Q==
X-Gm-Message-State: AOUpUlGDaCZROuAoeOUF5tPxYyemunmYYlArKjjl4JQTQJ3JjiZz3ScJ +jZOuOSQgnuU0VVyH7LR/lZgvG6VjKc62jjFicvg+JgE
X-Google-Smtp-Source: AAOMgpdL+qqo3cgQYU9+KULTZ/RTaznZ6i9/v6jRHpnTJ9tEHn8/ARg/gO6FZHnMlOsEkH5RddmKzPrheh/AI7GDHV0=
X-Received: by 2002:a19:518a:: with SMTP id g10-v6mr4976722lfl.78.1533313818632; Fri, 03 Aug 2018 09:30:18 -0700 (PDT)
MIME-Version: 1.0
Received: by 2002:a19:aa46:0:0:0:0:0 with HTTP; Fri, 3 Aug 2018 09:30:17 -0700 (PDT)
In-Reply-To: <78F7B695-FB2A-4308-B031-B7447596B04B@cisco.com>
References: <44B0A74E-CCF0-4E9B-846A-1F46E90AEB5E@juniper.net> <20180731.165103.950825344221422538.mbj@tail-f.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0EB406AA@sjceml521-mbx.china.huawei.com> <024DE375-E3F0-4255-AC53-2D17C77D6E06@juniper.net> <78F7B695-FB2A-4308-B031-B7447596B04B@cisco.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Fri, 3 Aug 2018 09:30:17 -0700
Message-ID: <CABCOCHReK=Pyu+0gEWszrO291AsZoH_YDyi02DDHi-7=apzzoQ@mail.gmail.com>
To: "Einar Nilsen-Nygaard (einarnn)" <einarnn=40cisco.com@dmarc.ietf.org>
Cc: Kent Watsen <kwatsen@juniper.net>, "netconf@ietf.org" <netconf@ietf.org>, "evoit=40cisco.com@dmarc.ietf.org" <evoit=40cisco.com@dmarc.ietf.org>
Content-Type: multipart/alternative; boundary="0000000000007d376405728a71c8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/E1Z_HKRgQioJfTdg9wEUmlHThA0>
Subject: Re: [Netconf] YANG Doctor question: empty mandatory choice?
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, 03 Aug 2018 16:30:24 -0000

On Thu, Aug 2, 2018 at 9:04 AM, Einar Nilsen-Nygaard (einarnn) <
einarnn=40cisco.com@dmarc.ietf.org> wrote:

> Inline...
>
> On 2 Aug 2018, at 16:11, Kent Watsen <kwatsen@juniper.net> wrote:
>
>
> I am sympathetic to Eric's and Einar's observation that a given
> subscription, having multiple receivers, is likely to have all the
> receivers using the same transport and encoding.
>
>
> einarnn> Absolutely. I see very few real world cases where it is likely
> that we will see same subscription with different receivers using different
> encodings. It is a step too far IMO.
>
> The thought behind this is that, assuming there are multiple distinct
> applications, each application will selfishly create its own subscription;
> it will not try to see if there is another existing subscription that
> matches its needs.
>
>
> einarnn> This is the likely outcome if you are in a multi-manager scenario
> anyway. We shouldn’t be trying to optimise anything related to thinking
> that *distinct* consumers will try to reuse others’ subscriptions in a
> spirit of good citizenship. It just won’t, pragmatically, happen. What
> would be way more likely to happen to support this is that the distribution
> out to multiple distinct consumers will happen by way of middleware put in
> place by the customer.
>
> Thus, in effect, the *only* purpose for there being a *list* of receivers
> is for enabling high availability, which I think is okay.  I wish the text
> was clearer about this objective.
>
>
> einarnn> Agreed. Let’s just move past this issue
>
>

OK, I do not want to hold up dynamic subscriptions.
I do not agree with the design practice of empty mandatory choice.
It looks like a band-aid for a broken development process, not good
architecture.

Is it really such a complex problem to define a case with an address/port
end-point?
Sorry I missed the rationale for why removing such an obvious data model
for an endpoint
so it can be replaced with proprietary augments instead.  What are vendors
using to model
an endpoint that is so different from host/port?


Cheers,
>
> Einar
>

Andy


>
>
> What I object to is the way that this restriction is currently implemented
> using identities, which requires the "notif" models to do something right.
> Better would be a "must" expression that says the count of the descendants
> is exactly one.  Can you do that?
>
> Kent // contributor
>
>
> ===== original message =====
>
> I am wondering why we are reopening the issue of multiple
> encodings/transports per receiver vs per subscription?
>
> Having single transport / encoding per subscription is a simpler design
> (feedback from implementors; simplifies dealing with any error conditions
> due to encoding that would affect one receiver but not others in the same
> subscription; Einar has explained this in the past) and, while I am in
> general a fan of general design, there does not seem to be business
> requirements and scenarios that demand this - and even if there were, this
> would constitute merely an optimization (since if you have different
> receivers who want different encodings/tranport, you can always simply
> create another subscription).
>
> If in the future there is really desire to add this as an additional
> feature, we can put this into a -bis version.  (Adding stuff will be easier
> than taking things away.)  Let's just be done.
>
> --- Alex
>
> -----Original Message-----
> From: Netconf [mailto:netconf-bounces@ietf.org <netconf-bounces@ietf.org>]
> On Behalf Of Martin
> Bjorklund
> Sent: Tuesday, July 31, 2018 7:51 AM
> To: kwatsen@juniper.net
> Cc: evoit=40cisco.com@dmarc.ietf.org; netconf@ietf.org
> Subject: Re: [Netconf] YANG Doctor question: empty mandatory choice?
>
> Kent Watsen <kwatsen@juniper.net> wrote:
>
> [removing yang-doctors list, and updating subject line accordingly]
>
>
> Why do all receivers of a subscription have to use the same
>
> transport?
>
>
> This was something that Martin and Eric worked out before we did
> the first Last Call.  Eric doesn't seem to know the particular
> reason, other than Martin seems to think it’s easier.
>
>
> No; I personally also prefer a design where each receiver has its
> own transport + encoding.
>
>
> +1
>
>
> The original model had a common "encoding" for all receivers, and
> then a receiver-specific transport - I think this is even worse,
>
>
> Agreed.
>
>
> and suggested to have transport + encoding defined together
> preferrably receiver-specifc or else common for all receivers.
>
> If the WG now believes that the transport + encoding should be done
> per receiver, this should be fairly easy to change.
>
>
> I also prefer per receiver, and I think that doing so will simplify
> the model, as neither the mandatory "transport" nor the [not
> mandatory?] "encoding" leaves have to be specified.
>
> In particular, my thoughts are that the "notif" model should provide
> for the encoding selection, if needed (it's not needed for NETCONF, or
> COAP I imagine).
>
>
> I agree.  I think this would be a cleaner design.
>
>
> /martin
>
>
>
> In the case of RESTCONF, we could update the ietf-restconf-client and
> ietf-restconf-server models to include an "encodings" leaf-list, to
> configure the RESTCONF server which encodings it should support.  We
> likely need to do something similar to configure which HTTP versions
> should be supported.  Now, in a general RC server, the server could
> support both but, if the restconf-notif draft has its own list of
> restconf-servers (i.e., it uses the "restconf-server-grouping" itself,
> see my July 19 email for a YANG example), then a constraint could be
> added limiting the number "supported" to just one.  Thus, when the RC
> server reboots, and connects to the receiver and *automatically* (no
> client RPC) starts pushing notifications, it can know what encoding to
> use.
>
> I'm still unsure if its legal for an RC server to automatically push
> notifications without a client-initiated RPC of any sort, and I'm also
> uncertain if supporting *configured* subscriptions for NC or RC is
> needed (see my message July 20 email).  So, some of this may work
> itself out as we progress.
>
> I know that we're not defining the *configured* notif drafts in this
> first effort, the we are publishing the SN draft with a configuration
> model, my only concern now is configuration model presented in the SN
> draft.
>
>
> Kent // contributor
>
>
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://urldefense.proofpoint.com/v2/url?u=https-3A__www.
> ietf.org_mailman_listinfo_netconf&d=DwIGaQ&c=HAkYuh63rsuhr6Scbfh0UjBXeMK-
> ndb3voDTXcWzoCI&r=9zkP0xnJUvZGJ9EPoOH7Yhqn2gsBYaGTvjISlaJdcZo&m=
> Mh0UuTFvh9TpmFzzMMON07C4WQIwjRJLM-OT62OJZe4&s=PPy3uCUVVJa-
> GwAfmUexA9cX31IWHhlMHlAGMcPdnyY&e=
>
>
>
> _______________________________________________
> 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
>
>