Re: [Netconf] activate-configured-subecription - WGLC subscribed-notifications-16

Martin Bjorklund <mbj@tail-f.com> Tue, 18 September 2018 19:40 UTC

Return-Path: <mbj@tail-f.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 14790129619 for <netconf@ietfa.amsl.com>; Tue, 18 Sep 2018 12:40:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 2pQSBMrFbwcU for <netconf@ietfa.amsl.com>; Tue, 18 Sep 2018 12:40:26 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id E2B89120072 for <netconf@ietf.org>; Tue, 18 Sep 2018 12:40:25 -0700 (PDT)
Received: from localhost (h-80-27.A165.priv.bahnhof.se [212.85.80.27]) by mail.tail-f.com (Postfix) with ESMTPSA id 2BBA41AE02BE; Tue, 18 Sep 2018 21:40:23 +0200 (CEST)
Date: Tue, 18 Sep 2018 21:40:22 +0200
Message-Id: <20180918.214022.2268667197465086195.mbj@tail-f.com>
To: douglas@hubler.us
Cc: andy@yumaworks.com, j.schoenwaelder@jacobs-university.de, evoit@cisco.com, netconf@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <CALAkb6emOEv0Zo6mss5wjp7NaO4pLbjZxGbNc2Bodt_PuZFu6A@mail.gmail.com>
References: <20180914071445.ywfnizh4rnzbrs4f@anna.jacobs.jacobs-university.de> <CABCOCHRes7CLrdtyyTz1whmuuU_rMMVTHGh8vM32H+jukEf1LQ@mail.gmail.com> <CALAkb6emOEv0Zo6mss5wjp7NaO4pLbjZxGbNc2Bodt_PuZFu6A@mail.gmail.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/3E76tvThD-ec-yviSVpp6wzD7Og>
Subject: Re: [Netconf] activate-configured-subecription - WGLC subscribed-notifications-16
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.29
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: Tue, 18 Sep 2018 19:40:28 -0000

Douglas Hubler <douglas@hubler.us> wrote:
> On Mon, Sep 17, 2018 at 12:23 PM Andy Bierman <andy@yumaworks.com> wrote:
> 
> > It seems this draft could be renamed (e.g., s/RESTCONF/HTTP2/) since it
> > does not use RESTCONF in any way.  I don't think RESTCONF notifications
> > are used very much,
> >
> 
> I make liberal use of them, it's become one of my biggest selling point of
> RESTCONF over rolling your own REST API for management.
> 
> 
> > but I don't see why the same SSE delivery of the <notification> element
> > would not work (e.g., different resource to GET for establish-subscription
> > parameters)
> >
> 
> I avoided implementing SSEs over HTTP/1.1  *because* I used a lot of
> notifications and separate session for each subscription obviously doesn't
> scale.  I went w/websockets for now with the idea I'd reimplement when a
> reasonable draft is assembled.  I had hopes for SSE over HTTP/2 because
> seems rather straightforward and in theory should scale.  Obviously with
> websockets, my implementation doesn't interop w/other RESTCONF/NETCONF
> systems/libs but hoping to change that with this draft.

So it seems you support my point to make this draft use SSE.  Then if
you use HTTP/2 you (the client) can simply create one HTTP/2 stream per
notification stream.  This just falls out for free with HTTP/2.

> I don't understand the details surrounding using an RPC to make a dynamic
> subscription.  Unless it's optional, then I can start to understand.

The client would POST to the "rpc" establish-subscripion, and in the
reply to the POST is a "location" leaf (*) that contains a URI.  The
client then GET this URI; this is the SSE event stream.

(*) in RFC 8040 it is called "location", in this draft it is called
"uri" 


/martin