Re: [Netconf] yang-push-17 on-change subscriptions

"Eric Voit (evoit)" <evoit@cisco.com> Fri, 17 August 2018 13:40 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 3055C130F1E for <netconf@ietfa.amsl.com>; Fri, 17 Aug 2018 06:40:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.51
X-Spam-Level:
X-Spam-Status: No, score=-14.51 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01, URIBL_BLOCKED=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 7rWMo2jAU0HM for <netconf@ietfa.amsl.com>; Fri, 17 Aug 2018 06:40:45 -0700 (PDT)
Received: from alln-iport-6.cisco.com (alln-iport-6.cisco.com [173.37.142.93]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9DB69130F27 for <netconf@ietf.org>; Fri, 17 Aug 2018 06:40:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=4808; q=dns/txt; s=iport; t=1534513245; x=1535722845; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=bifqE0yMs6gfZ3Yji+Ul+j00zq01I0mj7NWRAM4N+OE=; b=GqSLGGZwt9NloTKAFg/qVGi11BGk23canuxMwcyQ8ZWWKQkdu5Cojb30 tss/eKkfnmR1ZzYSPvFGv8QOeEjK+0mHAXxsK6NC+nqWRyhJo5wBL60SS D/S/ejHMU8Mj6BttWGPV97ur8RvafWOR4m1a4SD06pAJ72Mp6IKDs7uvm U=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0AdAwCbz3Zb/40NJK1dGQEBAQEBAQEBAQEBAQcBAQEBAYNPgWIoCoNliAqMHoINgz2SWoF6C4RsAheDLyE0GAECAQECAQECbSiFNwEBAQECASMRRQULAgEIDgMEAQEBAgIJHQICAjAVCAgCBA4FCIUUCKh/gS6KYoELiA0XgUE/hCSDGwSBSYMXglcCmnoJAokahjwdgT6MeoguilICERSBJB04gVJwFYMkkFNvAYstK4EBgRsBAQ
X-IronPort-AV: E=Sophos;i="5.53,251,1531785600"; d="scan'208";a="158235138"
Received: from alln-core-8.cisco.com ([173.36.13.141]) by alln-iport-6.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Aug 2018 13:40:44 +0000
Received: from XCH-RTP-012.cisco.com (xch-rtp-012.cisco.com [64.101.220.152]) by alln-core-8.cisco.com (8.15.2/8.15.2) with ESMTPS id w7HDeitX026292 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Fri, 17 Aug 2018 13:40:44 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-012.cisco.com (64.101.220.152) with Microsoft SMTP Server (TLS) id 15.0.1320.4; Fri, 17 Aug 2018 09:40:43 -0400
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.1320.000; Fri, 17 Aug 2018 09:40:43 -0400
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: Martin Bjorklund <mbj@tail-f.com>
CC: "andy@yumaworks.com" <andy@yumaworks.com>, "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] yang-push-17 on-change subscriptions
Thread-Index: AQHUNYrrYY6ak73XnEaGYzSznDnmOaTC1vHAgAD+YoCAAA99AA==
Date: Fri, 17 Aug 2018 13:40:43 +0000
Message-ID: <6e228976514f4e4c9e5fb7b3ff36a0ed@XCH-RTP-013.cisco.com>
References: <CABCOCHSJScCmKBS8cv7F7cpHbi0u_mksfXuw++0-GSD7iz9kOw@mail.gmail.com> <80ca22045b7045fe9b72b3b90ac2610b@XCH-RTP-013.cisco.com> <20180817.094825.1996509847038799743.mbj@tail-f.com>
In-Reply-To: <20180817.094825.1996509847038799743.mbj@tail-f.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.234]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Outbound-SMTP-Client: 64.101.220.152, xch-rtp-012.cisco.com
X-Outbound-Node: alln-core-8.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/EvdjO2FxgPLL66R5Rk7XdLjU4xw>
Subject: Re: [Netconf] yang-push-17 on-change subscriptions
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: Fri, 17 Aug 2018 13:40:47 -0000

> From: Martin Bjorklund, August 17, 2018 3:48 AM
> 
> Hi,
> 
> "Eric Voit \(evoit\)" <evoit=40cisco.com@dmarc.ietf.org> wrote:
> > A dampening period is optional
> 
> How do you mean?  There is no if-feature on the "dampening-period", and no
> text indicating that a server can reject a request with a "dampening-period".
> AFAICT from the draft, the dampening feature must be implemented by a
> server.

While the "dampening-period" object must be supported by the RPC, that doesn't mean the platform needs to implement subscription dampening.  This can be accomplished by a dampening period of "0" being returned as a hint.   (Per section 3.2: "Such hints include ... acceptable dampening periods...". )   Using just the hint for conveying this info rather than the hint plus advertisement of an option feature "dampening" simplifies the interface.

If you are ok with it, Alex could tweak the following text in the draft:

(1) For the definition of leaf 'period-hint' in the YANG model:

OLD:   "Returned when the requested time period is too short. This hint can assert a viable period for either a periodic push cadence or an on-change dampening interval.";

NEW:   "Returned when the requested time period cannot be supported. This hint can assert a viable period for either a periodic push cadence or an on-change dampening interval.  In the case of dampening not being supported, a 'period-hint' of '0' must be returned. ";

(2) And in Section 3.1:

OLD: In order to protect against that, a dampening period MAY be used to  specify the interval which must pass before successive update records for the same subscription are generated for a receiver.

NEW: In order to protect against that, on-change dampening MAY be supported.  Where supported, a non-zero dampening period will specify the interval which must pass before successive update records for the same subscription are generated for a receiver. 

If you require more than these tweaks, Alex could also make an optional dampening feature.  But this seems to me to be unnecessarily heavyweight.

Eric

> /martin
> 
> 
> (based on your earlier comments).  And
> > the dampening period is per subscription rather than per object.
> > Cisco doesn’t have code at this time for dampened changes.
> >
> > Eric
> >
> > From: Netconf <netconf-bounces@ietf.org> On Behalf Of Andy Bierman
> > Sent: Thursday, August 16, 2018 1:59 PM
> > To: Netconf <netconf@ietf.org>
> > Subject: [Netconf] yang-push-17 on-change subscriptions
> >
> > Hi,
> >
> >
> > I would like to know if anybody has implemented on-change
> > subscriptions yet.
> > The implementation requirements seem very complex when you consider
> > that every single data node instance in the subscription has its own
> > dampening timer.
> >
> > Edits are not reported sequentially as they occur.
> > Instead every node is tracked and the change may only reported after
> > the dampening period expires.  It seems quite possible that nodes can
> > interact (e.g., leafrefs) so that reporting edit Y can depend on
> > previous edit X, which cannot be reported until the end of its
> > dampening period, in the future. So edit Y will be reported before X,
> > and the patch will fail to validate, because the current state of X is
> > incorrect on the receiver..
> >
> > All the state tracking on the server is expensive to implement, and I
> > am not really sure it actually helps the client that much.
> >
> >
> > Andy
> >