Re: [Netconf] netconf call home connection type
Martin Bjorklund <mbj@tail-f.com> Wed, 29 August 2018 07:12 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 39FEA130DC0 for <netconf@ietfa.amsl.com>; Wed, 29 Aug 2018 00:12:33 -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 yvmFiWxx2vgy for <netconf@ietfa.amsl.com>; Wed, 29 Aug 2018 00:12:31 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 3B92512008A for <netconf@ietf.org>; Wed, 29 Aug 2018 00:12:31 -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 86F7E1AE0388; Wed, 29 Aug 2018 09:12:30 +0200 (CEST)
Date: Wed, 29 Aug 2018 09:12:30 +0200
Message-Id: <20180829.091230.1123608459682664816.mbj@tail-f.com>
To: kwatsen@juniper.net
Cc: netconf@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <7A1BA8A7-76E5-4961-8DE8-8794FB97AA6C@juniper.net>
References: <C2DCC92F-7382-4353-9AD4-3AC37E5A227A@juniper.net> <20180828.211749.1055874324314612702.mbj@tail-f.com> <7A1BA8A7-76E5-4961-8DE8-8794FB97AA6C@juniper.net>
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/4Rw3kHrnIrRSd0GQUapk8TSqJ-0>
Subject: Re: [Netconf] netconf call home connection type
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: Wed, 29 Aug 2018 07:12:33 -0000
Kent Watsen <kwatsen@juniper.net> wrote: > > >> > I think the leafref can point to a client with any kind of connection; > >> > on-demand, periodic or persistent. > >> > >> Are you implying connection sharing, multi-channeling? Please define > >> the behavior you're expecting in each case. What transport protocol > >> requirements are there? > > > > Good point. This issue exists also in the current model, since > > "periodic" also covers on-demand. Anyway, I think that limiting to a > > single session is too restrictive. So it seems ok to allow the server > > to start multiple sessions (note that w/ ssh, a session *may* be just > > another channel). If we agree that multiple sessions are ok, do we > > put any limit on the number of sessions? Probably not, imo. > > Implementation detail. > > Yes, the issue exists in the current model too. That is what my > previous email was lamenting. I can't quite figure out how it > would work. > > RFC 8071 says that the client starts the NETCONF-client protocol > (i.e., creates an SSH channel and starts the "netconf" subsystem). > In SSH, the SSH-client must open the channel, the SSH-server can't do > it. Duh. Of course. Ok, but this doesn't really change anything, except if that if the server wants to start two sessions, it will use two TCP connections. > So, let's say that the client knows (because it configured it) > that the server also pushes event notifications. So, then what? > Does it send a special RPC (TBD in a future NN draft) or open > another SSH-channel to, perhaps, start an altogether different > protocol (coap?) to receive the logs? As has been mentioned before, it would have been nice if the server calling home had some way of informing the client of *why* it called home. This could possibly be done (in NETCONF) with a special capability: urn:ietf:...:calling-home?have-notifications urn:ietf:...:calling-home?by-config urn:ietf:...:calling-home?have-alarms > What if there are different > "triggers" all pointing to the same netconf-server instance and > all using "coap"; the server can't use the transport alone to > know what to push to each. It seems that the client has to send > an RPC of some sort in each to bind the transport to a purpose. > But then we're in the realm of dynamic subscriptions and questioning > the value of on-demand connections. [And then there's RESTCONF, > do we assert that both the client and server run HTTP2?] This is related to the question of when the server can send the notifs, but I think that this also can be handled w/ capabilitites rather than requiring an extra rpc; if the client adervtises the capability "urn:ietf:...:call-home-notifications", then the server can start to send the notifications immediately. > All this trouble is because we want to repurpose a NC/RC call-home > connection, so that there is only a single TCP connection (is this > the goal? No, I think the goal is to let the server and clients have the same roles as they do in the normal case, using the same authentication and authorization mechanisms. > why would two device-->NMS connections not be as good?). This is fine imo. > But, in my view, YP+SN is better served as a client: the publisher > connects and pushes content to the receiver. Do you mean that the publisher would be a NETCONF client and the receiver a NETCONF server? But see below! This should be discussed in another thread. > This resolves most > issues, and there is no need for an incompletely defined (in that > it's description statement would say "for reasons not described > here") and possibly orphaned on-demand connection type. The only > problem I see is that it necessitates the use of another connection > when the provisioning system and the monitoring system are in fact > the same, but I don't see that as an important issue, from an > operator perspective and second device-->NMS connection is not > an issue I'm aware of. > > Back to the subject line, my suggestion (for this one issue) is: > > - persistent (unchanged) > - periodic (unchanged, keep the on-demand language) I think we have identified four possible connection types. It would be good to check with thee WG which of the four people think are useful. (probably start a fresh thread, not sure people follow this...?) - persistent - on-demand - periodic-with-on-demand - strictly-periodic > - let the "notif" drafts, for configured subscriptions: > - use <protocol>-client connections (recommended) > - use <protocol>-server call-home connections (not recommended) > - augment in an "subscribed-notifications" call-home > connection type and leafref that connection-type > - and/or resolve what it means to point to (repurpose) a > persistent or periodic connection I think we should move this discussion to another thread - if/when we define protocol bindings for configured subscriptions. > > I meant that in some cases it might be useful to let the *operator* > > define a connection type to be "strictly periodic", i.e., the server > > will NOT create any sessions on demand. In some other cases maybe > > the operator want periodic connections, but it is ok with on demand > > connections as well (this is the current "periodic"). > > I'm unsure if this is needed. Either case, the standard call-home > interaction occurs, even for the unexpected "on-demand" connections > and, if the operator, in its config, leafref-ed a call-home connection > for yang-push also, then they did it on purpose. If the operator > wants strictly-periodic, don't configure anything that might cause > an on-demand connection. Right? So how would an operator configure YP then, if the only connection types available are "persistent" and "periodic-with-on-demand"? > > So for netconf-notif, I envision a leafref to a "client", with text > > that explains that if the connection type is: > > > > o persistent then the notif is sent "immediately" (if possible, > > otherwise queued). > > > > o "strictly periodic" then the notifs are queued until the next > > period starts (implementation-specific qlen) > > > > o "periodic" or "on-demand" then a new session is started > > (meanwhile notifs are queued), and once the session is started, > > the notifs can be sent > > Maybe. I'm not yet buying the need to repurpose a call-home > connection for yang-push. It is not just YP, but notifications in general. > > Aha, ok, I see. Well, this is, as you say, just orphaned config. I > > think that is ok. > > Yes, orphaned config is a small worry in all this. > > FYI, another niggle I'm getting is how all repurposed call-home > connections might be supported by generic server frameworks like > NCS. Would NCS examine the device config, determine how many > triggers might have caused this and then, how each, start the > trigger-specific action to see if it was the reason why the > device called home? Why do you call then "repurposed"? This is a problem in general with call-home; how does the client know what to do? An indication of why the server called home might help. /martin
- [Netconf] netconf call home connection type Martin Bjorklund
- Re: [Netconf] netconf call home connection type Kent Watsen
- Re: [Netconf] netconf call home connection type Kent Watsen
- Re: [Netconf] netconf call home connection type Martin Bjorklund
- Re: [Netconf] netconf call home connection type Martin Bjorklund
- Re: [Netconf] netconf call home connection type Juergen Schoenwaelder
- Re: [Netconf] netconf call home connection type Martin Bjorklund
- Re: [Netconf] netconf call home connection type Kent Watsen
- Re: [Netconf] netconf call home connection type Kent Watsen
- Re: [Netconf] netconf call home connection type Kent Watsen
- Re: [Netconf] netconf call home connection type Juergen Schoenwaelder
- Re: [Netconf] netconf call home connection type Martin Bjorklund
- Re: [Netconf] netconf call home connection type Martin Bjorklund
- Re: [Netconf] netconf call home connection type Kent Watsen
- Re: [Netconf] netconf call home connection type Kent Watsen
- Re: [Netconf] netconf call home connection type Juergen Schoenwaelder
- Re: [Netconf] netconf call home connection type Martin Bjorklund
- Re: [Netconf] netconf call home connection type Kent Watsen
- Re: [Netconf] netconf call home connection type Martin Bjorklund
- Re: [Netconf] netconf call home connection type Kent Watsen
- Re: [Netconf] netconf call home connection type Martin Bjorklund
- Re: [Netconf] netconf call home connection type Kent Watsen
- Re: [Netconf] netconf call home connection type Martin Bjorklund
- Re: [Netconf] netconf call home connection type Kent Watsen
- Re: [Netconf] netconf call home connection type Andy Bierman
- Re: [Netconf] netconf call home connection type Martin Bjorklund
- Re: [Netconf] netconf call home connection type Juergen Schoenwaelder
- Re: [Netconf] netconf call home connection type Kent Watsen
- Re: [Netconf] netconf call home connection type Andy Bierman
- Re: [Netconf] netconf call home connection type Kent Watsen
- Re: [Netconf] netconf call home connection type Martin Bjorklund
- Re: [Netconf] netconf call home connection type Kent Watsen
- Re: [Netconf] netconf call home connection type Martin Bjorklund
- Re: [Netconf] netconf call home connection type Kent Watsen
- Re: [Netconf] netconf call home connection type Andy Bierman