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

Andy Bierman <andy@yumaworks.com> Thu, 02 August 2018 16:23 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 1A8CE130E3D for <netconf@ietfa.amsl.com>; Thu, 2 Aug 2018 09:23:23 -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 W6Db5er3K0hX for <netconf@ietfa.amsl.com>; Thu, 2 Aug 2018 09:23:19 -0700 (PDT)
Received: from mail-lj1-x22b.google.com (mail-lj1-x22b.google.com [IPv6:2a00:1450:4864:20::22b]) (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 E5E2E130E16 for <netconf@ietf.org>; Thu, 2 Aug 2018 09:23:18 -0700 (PDT)
Received: by mail-lj1-x22b.google.com with SMTP id f8-v6so2479398ljk.1 for <netconf@ietf.org>; Thu, 02 Aug 2018 09:23:18 -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=FrFyyjv9F9SGP9x6Cn7l19DJOf/uQvoXavl7SOIshoE=; b=Jxv7dWB5aH7+IFYmw4WY0Tt759MgdsiLpclmOfONbp6p1m2FShqZxxD6pYqNZOdoA/ Ls/P7zX6vYGdCGaYytOezLXcNFNZaKMj+NaniiRmzJXkhKyxPpCwxxChitI8bv7915ZF EFU9XIIG7oWcpBOYSsPGtyVklH804CtldziupSkG1Yrtf6t4HHp7GMOtJB91ycJCj+c3 wT8WK27Dgn1rzLaq634CP1bgtcm7WzoZFamgf/8mDpr3WQWKzqIKF376ZnmSFm7NYDBc iHMrmaWMQMvRuhrXHEJPU+ba7pHoIMPx0xdliUYFY6yMiuxbEAPkf1QIFy06hXUGaXNE E21g==
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=FrFyyjv9F9SGP9x6Cn7l19DJOf/uQvoXavl7SOIshoE=; b=sC4MisKsI7Hcftf3nPMgux1Yxbu9gIM4ANNcKTsyb3/kQMOJzG+QFIGMBoWkKUJCtU 42bpk7fCFpDx5PE9rmSmzWfuQ2fd+ZDPDPNyBMJAUSbLY4/uHMaDMCARNiyvSnF2TAEB unLkavdCug21IWJZInqSTNMFvs6aiv/NS0eHgZAcgOrPlQABiC4Lell5ysf/JcvHkOhN ZoX0ULEsihfMe/pE0H71SQG5mr0uTP1KR85sjjyjA5gQboraIDmUh5PVDwnZ5s8L0en8 VMck1N1k/1eWJWmvWE2RJw4b+Q2cHzYJnWdSSbwG6msdBYbukLW7NnBlJHYxfw/9FBri y6Qw==
X-Gm-Message-State: AOUpUlHl4yDhaSwmVcLFS89HIsvoiZpwwBbXAWLHUSc3cUWvOM87GGc2 srULoRW3xdOHqR4vuLurDyj9paf6BRGc7Y7jSXxZ7b0f
X-Google-Smtp-Source: AAOMgpdmqMZTkkArVCOI5oX2e7ppZVVHrObvIMFrMDtnGGb2ke2TM2I4MaxvhzwltwW3LxaQdyp14dEDMwTyQa4qgVc=
X-Received: by 2002:a2e:5687:: with SMTP id k7-v6mr2846721lje.105.1533226997149; Thu, 02 Aug 2018 09:23:17 -0700 (PDT)
MIME-Version: 1.0
Received: by 2002:a19:aa46:0:0:0:0:0 with HTTP; Thu, 2 Aug 2018 09:23:15 -0700 (PDT)
In-Reply-To: <EBF9E16B-9780-4456-9D5F-F1E1D8FC8FB2@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> <CABCOCHS2wWReEkfWi-OU4iZoT-Rsc0-q4Q-Xyx59gTX174g=rA@mail.gmail.com> <EBF9E16B-9780-4456-9D5F-F1E1D8FC8FB2@cisco.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Thu, 2 Aug 2018 09:23:15 -0700
Message-ID: <CABCOCHSEM10vTuXV1FkoyEH3R+xKkpQbux4nTbZX-HwSZaS0_Q@mail.gmail.com>
To: "Einar Nilsen-Nygaard (einarnn)" <einarnn@cisco.com>
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="0000000000008682b60572763adf"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/jCBXwUk6YVqmQ429d5PkGXssdzo>
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: Thu, 02 Aug 2018 16:23:23 -0000

On Thu, Aug 2, 2018 at 9:10 AM, Einar Nilsen-Nygaard (einarnn) <
einarnn@cisco.com> wrote:

>
>
> On 2 Aug 2018, at 16:25, Andy Bierman <andy@yumaworks.com> wrote:
>
>
>
> On Thu, Aug 2, 2018 at 8:11 AM, 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.
>>
>> 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.
>>
>> 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.
>>
>> 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?
>>
>
>
> Is there a way to make multiple receivers per subscription
> optional-to-implement
> (another YANG feature?)
>
>
> einarnn> Speaking for Cisco, we’re just putting a deviation in that
> initially the max size of the receivers list is 1. I think having multiple
> receivers be a feature would complicate the model. I see no need for a
> feature here.
>
> Anyone implementing configured subscriptions is forced to support multiple
> receivers.
> Does that mean it is harmful to the Internet if only 1 receiver per
> subscription is allowed?
>
>
> einarnn> Clearly it’s not harmful :-)
>
> I was told this feature is required because it is too much of a burden on
> the client to
> create a separate subscription for each receiver.  IMO this is nonsense,
> but I won't
> implement configured subscriptions anyway.
>
>
> einarnn> I know I’m an advocate of this feature, but it’s nothing to do
> with the burden on a client related to creating >1 configured subscription.
> It’s to do with efficiency for me for the use cases related to HA. We have
> feedback from customers that they want to see the devices be able to send
> the same feed to >1 (usually 2) consumers to deal with HA/redundancy and to
> allow for receiver-determined network path diversity. This gives options
> needed (IMO) options for how customers address this.
>
>
It is trivial to support this use-case with 2 subscriptions.
The burden on the client is probably less, since the model would be simpler.



> Cheers,
>
> Einar
>


Andy


>
>
>
>> Kent // contributor
>>
>>
>
> Andy
>
>
>> ===== 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] 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 <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=HA
>> kYuh63rsuhr6Scbfh0UjBXeMK-ndb3voDTXcWzoCI&r=9zkP0xnJUvZGJ9EP
>> oOH7Yhqn2gsBYaGTvjISlaJdcZo&m=Mh0UuTFvh9TpmFzzMMON07C4WQIwjR
>> JLM-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
>
>
>