Re: [netconf] time to meet today after 5pm

Martin Bjorklund <mbj@tail-f.com> Thu, 04 April 2019 14:33 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 966B212002F; Thu, 4 Apr 2019 07:33:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001, URIBL_BLOCKED=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 2xhi5Qc37MpT; Thu, 4 Apr 2019 07:33:47 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 7CA30120368; Thu, 4 Apr 2019 07:33:46 -0700 (PDT)
Received: from localhost (unknown [173.38.220.61]) by mail.tail-f.com (Postfix) with ESMTPSA id 7AB3A1AE018B; Thu, 4 Apr 2019 16:33:44 +0200 (CEST)
Date: Thu, 04 Apr 2019 16:33:46 +0200
Message-Id: <20190404.163346.857364419603319540.mbj@tail-f.com>
To: mjethanandani@gmail.com
Cc: mcmanus@ducksong.com, httpbis-chairs@ietf.org, netconf-chairs@ietf.org, netconf@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <56E946DC-A690-4B1E-8FB5-683473955C5D@gmail.com>
References: <01000169def07790-5f902f1b-ddce-438b-8e05-d4b7e82818bc-000000@email.amazonses.com> <CAOdDvNoDFoa30tJ8XDz482_38rw8+ajwW4+dSx7s_psoFY7ukQ@mail.gmail.com> <56E946DC-A690-4B1E-8FB5-683473955C5D@gmail.com>
X-Mailer: Mew version 6.7 on Emacs 25.2 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="utf-8"
Content-Transfer-Encoding: base64
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/PNnh6LA4_wjHNR5TM2DKvNXF36Q>
Subject: Re: [netconf] time to meet today after 5pm
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETCONF WG 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, 04 Apr 2019 14:33:50 -0000

Hi,

It was a bit difficult to figure out what this dicussion led to, but
see one simple comment below.


Mahesh Jethanandani <mjethanandani@gmail.com> wrote:
> What started as a thread to figure out how to handle Kent’s I-D on
> HTTP configuration for RESTCONF, has resulted in an extensive
> discussion on the model itself. This discussion belongs to the WG
> mailing list, and as such I am adding the WG to the discussion.
> 
> See inline
> 
> > On Apr 4, 2019, at 6:09 AM, Patrick McManus <mcmanus@ducksong.com>
> > wrote:
> > 
> > Hi Kent, I am indeed a YANG novice. I apologize if that continues to
> > add to the confusion. At least I know a thing or two about HTTP :)
> > 
> > it seems one of the high level problems we have is that restconf is
> > using HTTP as a stateful connection oriented transport

I don't think this is correct.  In what way do you think RESTCONF
tries to use HTTP as a stateful transport?


/martin


> > , when you
> > simply cannot define an http application that way. see 4.10 of
> > bcp56bis
> > https://datatracker.ietf.org/doc/draft-ietf-httpbis-bcp56bis/?include_text=1
> > .. this in turn creates your need for tcp keep alive
> > configurations.. because restconf state resides at least partially in
> > the connection rather than statelessly in the exchanges, do I have
> > that right?
> > 
> > I would strongly advise staying away from the term keep-alive. It is a
> > deprecated term of art that is not exactly what you are trying to do
> > at the HTTP level. In the past it has both been a header field as well
> > as a token on the Connection header - and it seems you are describing
> > some kind of message exchange?
> > 
> > on the client side..   module ietf-http-client {
> > [..]
> >             the aliveness of the HTTP server.  An unresponsive
> >             HTTP server is dropped after approximately max-wait
> >             * max-attempts seconds.";
> > 
> >  what is the point of max-attempts? In what scenarios does N+1 generate
> >  a reply that N does not due to connectivity timeout?
> > isn't the server dropped after max-wait * (max-attempts + 1)
> > seconds.. because you use the max-wait timeout to trigger the first
> > test
> > as well as timeout the final test?
> > 
> >              "Sets the amount of time in seconds after which if no
> >               data has been received from the HTTP server, a HTTP
> > 
> > what is data? TCP? HTTP protocol elements like HTTP/2 SETTINGS frames?
> > HTTP headers? HTTP message bodies in all or part? HTTP
> > message bodies to a particular one of your keep-alive requests? any of
> > them? all of them?  The answers are different if you're trying to
> > test e2e.
> > 
> > what message is supposed to the sent to the server? any guidance? and
> > for the server:
> > 
> >              "Sets the amount of time in seconds after which if no
> >               data has been received from the HTTP client, a HTTP
> >               level message will be sent to test the aliveness of
> >               the HTTP client.";
> > 
> > I don't understand what kind of message is initiated by the HTTP
> > server, at least in a version portable fashion, to accomplish this.
> > 
> > 
> >> On Tue, Apr 2, 2019 at 6:44 PM Kent Watsen <kent+ietf@watsen.net>
> >> wrote:
> >> 
> >> 
> >> But we must do something, this is a real issue.  We have to be able to
> >> configure RESTCONF clients and servers.
> > 
> > It sounds like this is a restconf yang model, not a base http yang
> > model.
> 
> The intent has been to describe the minimum number of HTTP parameters
> for the explicit configuration of RESTCONF client/server.
> 
> But based on this thread, I am assuming that the chairs for httpbis WG
> do not regard the parameters or the approach to achieve “persistence”
> either correct or part of the HTTP protocol. While it casts doubt on
> the proposed solution, it is now a decision for the NETCONF WG to
> decide whether they want to recast the draft as a RESTCONF HTTP module
> or go back to the drawing board.
> 
> Thanks.
> 
> > 
> >>> Keepalives as well are a really tricky topic.. the mechanism you are
> >>> using is not really used on the Internet much these days and when it
> >>> is used it is used to manage persistence, not really timeouts and NAT
> >>> rebindings which I think is what you're getting at... I can think of 3
> >>> other techniques that are used to try and manage rebindings.
> >> 
> >> Actually, "managing persistence" is exactly what we're trying to
> >> achieve here.  Our show-stopping driving use-case regards RESTCONF
> >> Call Home (RFC 8071) and, in particular, point "S7" on page 8 of that
> >> document, without which a remote device may become a "brick" and
> >> require a technician to perform on-site repair.
> > 
> > please see the bcp56bis reference I made as well as the opening to
> > 7230. HTTP is a stateless protocol, applications that are using it
> > cannot be built around other assumptions about the thransport - they
> > lack version portability and don't survive integration into the
> > ecosystem of libraries, firewalls, routers, load balancers, etc that
> > are the strongest reason to base applications on http.
> >  
> >> 
> >>> I'm also a little concerned about the thinking in the other protocols
> >>> discussion - http the protocol carries a variety of schemes beyond
> >>> http:// and https:// and that probably needs to be explored.
> >> 
> >> Could you provide an example?  I'm aware that there are many other URI
> >> schemes (ldap, mailto, etc.), but they are not HTTP.  Are you saying
> >> there are some URI schemes (e.g., "myhttp:") that are like an
> >> application-layer protocol on top of HTTP?  Or do you mean that HTTP
> >> may have different transport bindings besides TCP and TLS?
> > 
> > ftp:// ws:// wss:// are the most common schemes carried on http other
> > than http:// and https://. but the protocol is can carry most of what
> > you can structure as a URI and content.
> >  
> >> 
> >>> Which brings me to my question about what HTTP implementations might
> >>> want to co-author. That wasn't meant as some kind of Not-Invented-Here
> >>> comment... rather it was trying to see if we are solving an interop
> >>> problem or engaging in hope based standardization. HTTPbis tries hard
> >>> to pursue work that enables interoperation between at least 2 parties
> >>> that wish to interoperate and that at least some part of that group of
> >>> implementations is driving the standard. I'm having trouble figuring
> >>> out who those HTTP parties are here and I'm cautious about proceeding
> >>> without that.
> >> 
> >> As mentioned before, this work began as an effort to define the
> >> configuration models for RESTCONF clients and servers.  The desire to
> >> have a *standards-based* way to do this is especially supported when
> >> thinking about deploying networks of heterogeneous devices to perform
> >> zerotouch bootstrapping (think autonomic networking).
> >> 
> > 
> > then perhaps a restconf yang model is what you are defining?
> >  
> >> 
> >> With regards to the HTTP configuration model, it's not so much *if*
> >> there will be an HTTP model, but to what extent you (your WG) would
> >> like to or demand to be part of the effort to define it.  As the HTTP
> >> domain experts, and we being the YANG experts, the ideal scenario is
> >> for us to strike a collaboration.  In particular, given that we're
> >> trying to put an end to this nearly 5-year long effort, we politely
> >> request that you give us the blessing to proceed roughly as planned
> >> (i.e., defining a minimal skeleton with as many "feature" statements
> >> as needed).  We envision this as a very short engagement (Last Call
> >> immediately after Montreal), after which the HTTP model would likely
> >> only be touched again when needed.  If history is a guide, I'd guess
> >> that might not happen for 3-5 years.
> >> 
> >> Would a collaboration be okay?  If yes, then is there someone in
> >> particular that I (as a contributor/author) can buddy up with in
> >> HTTPBIS to get expert-level advice?
> >> 
> > 
> > This puts us in a tough spot. The -00 draft does not do a good job of
> > describing HTTP so I don't feel we can endorse it. The working group
> > has an extensive set of adopted drafts right now and I don't believe
> > it is the right priority to put this in front of them too in order to
> > put the work in to make it appropriately expressive - it would
> > distract from the priorities the group has decided on.
> > 
> > What do you think of recasting this as a model limited to restconf
> > based applications?
> > 
> > -Patrick
> 
> Mahesh Jethanandani
> mjethanandani@gmail.com
> 
> >