Re: [Netconf] Subscription with Replay

"Eric Voit (evoit)" <evoit@cisco.com> Mon, 19 December 2016 15:51 UTC

Return-Path: <evoit@cisco.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 27865129B7E for <netconf@ietfa.amsl.com>; Mon, 19 Dec 2016 07:51:34 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.621
X-Spam-Level:
X-Spam-Status: No, score=-17.621 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-3.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.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 V2kWP3EWvvX7 for <netconf@ietfa.amsl.com>; Mon, 19 Dec 2016 07:51:32 -0800 (PST)
Received: from rcdn-iport-8.cisco.com (rcdn-iport-8.cisco.com [173.37.86.79]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3BDA71294C0 for <netconf@ietf.org>; Mon, 19 Dec 2016 07:51:32 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=9967; q=dns/txt; s=iport; t=1482162692; x=1483372292; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=FEC80Diqa0LrIsOxjd7J1/RxP8gxKYOJfirnsOrbKVk=; b=YnxtHO7d1hor9Hm2VefMAgGjctxiNXmNMSTHBlOSjHHCtprITDqyxSVL nM9PJgyWRrsfhdKUmin4D7X+rWEYICFmUpT0P9L4Ex8UiiipygghVhmLY VG48QoCg3E67P0QMFkiczwTMdAOTtlZTVmNr+wc7MQ8qC1PTkXb2hTiCm w=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0AbAQAhAVhY/4kNJK1dGQEBAQEBAQEBAQEBBwEBAQEBgnNEAQEBAQEfWoENjUiWWY9phSWCCoYiAoICPxQBAgEBAQEBAQFiKIRoAQEBBBIbTBACAQgVECEyJQEBBA4NEweISZlOAZAeiw0BAQEBAQEBAQEBAQEBAQEBAQEBAQEdhjaEWYQqhXcFmnABiWOHR5BWjhmEDgEfN4ElK4VWiG+BDQEBAQ
X-IronPort-AV: E=Sophos;i="5.33,374,1477958400"; d="scan'208,217";a="183293420"
Received: from alln-core-4.cisco.com ([173.36.13.137]) by rcdn-iport-8.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 19 Dec 2016 15:51:31 +0000
Received: from XCH-RTP-015.cisco.com (xch-rtp-015.cisco.com [64.101.220.155]) by alln-core-4.cisco.com (8.14.5/8.14.5) with ESMTP id uBJFpUkf011693 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Mon, 19 Dec 2016 15:51:31 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-015.cisco.com (64.101.220.155) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Mon, 19 Dec 2016 10:51:30 -0500
Received: from xch-rtp-013.cisco.com ([64.101.220.153]) by XCH-RTP-013.cisco.com ([64.101.220.153]) with mapi id 15.00.1210.000; Mon, 19 Dec 2016 10:51:30 -0500
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: "Beauville, Yves (Nokia - BE)" <yves.beauville@nokia.com>
Thread-Topic: Subscription with Replay
Thread-Index: AdJaCImWjYbGpT/+TTGf6QoaoXGE3AABSkkQ
Date: Mon, 19 Dec 2016 15:51:30 +0000
Message-ID: <05c52fa2cd6045e5b682edfb31bcf39b@XCH-RTP-013.cisco.com>
References: <3004A47FF33FC14B9680465CD90772CC47CD6215@FR711WXCHMBA08.zeu.alcatel-lucent.com>
In-Reply-To: <3004A47FF33FC14B9680465CD90772CC47CD6215@FR711WXCHMBA08.zeu.alcatel-lucent.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.118.56.226]
Content-Type: multipart/alternative; boundary="_000_05c52fa2cd6045e5b682edfb31bcf39bXCHRTP013ciscocom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/ytwHWJEpVxKOXZL2_0uOrLN_A2I>
Cc: "netconf@ietf.org" <netconf@ietf.org>
Subject: Re: [Netconf] Subscription with Replay
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.17
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: Mon, 19 Dec 2016 15:51:34 -0000

Hi Yves,

In 5277bis we have discussed using subscription negotiation for items like this.   For negotiation to work, we would send back a replay start time which would be acceptable to the publisher as part of the error response.   A publisher can determine the earliest possible start time as you describe below.

If you (and others) are ok with this mechanism, we can add details within a specific replay section of 5277bis.

Eric


From: Netconf, December 19, 2016 10:03 AM

Hi All,

I have a concern with RFC5277 that I do not see addressed in the scope of RFC5277bis. I would appreciate feedback whether the following point is valid or not.

I have the following use case for notification replay
* A NETCONF client caches a subset of the server data, E.G. a list of alarms
* The NETCONF client uses notifications to keep its cache up-to-date with the server
* The NETCONF client uses notification replay to re-synchronize its cache after a client/server disconnection
* In order to use notification replay, the client also caches the time-stamp of the last notification received from the server (lastNotificationTime)

The following re-synchronization scenario is used:

  Step 1. The client sends a <get> on the stream for replayLogCreationTime and replayLogAgedTime. The client uses lastNotificationTime, replayLogCreationTime and replayLogAgedTime to assess whether replay is possible.

  If replay is not possible, the client gets part of the YANG data tree from the server to re-synchronize its cache, E.G. a list of alarms, else, step 2 is played.

  Step 2. The client sends <create-subscription> on the stream with startTime=lastNotificationTime. The client processes re-played notifications to re-synchronize its cache

Open Point: between steps 1. & 2., new notifications may occur in the server and they may cause the stream to no longer be capable of replaying notifications since the last received notification.

Creating the subscription will succeed as specified in the RFC: If the <startTime> specified is earlier than the log can support, the replay will begin with the earliest available notification

Because of the above, the client will not be aware that notifications were lost.

Does RFC5277 provides a solution to overcome this issue? If not, should it provide means to let the client control the behavior of the create-subscription RPC when the server is not capable of replaying notifications since the startTime? By delegating to the server the responsibility to assess if the stream log is sufficient to allow replay, it could address my open point.

Regards,
Yves Beauville