Re: [Netconf] Comments on draft-ietf-netconf-yang-push-18

Alexander Clemm <alexander.clemm@huawei.com> Wed, 29 August 2018 17:43 UTC

Return-Path: <alexander.clemm@huawei.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 312CE130E0A for <netconf@ietfa.amsl.com>; Wed, 29 Aug 2018 10:43:39 -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, HTML_MESSAGE=0.001, 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 xm0Zh6rZuMGq for <netconf@ietfa.amsl.com>; Wed, 29 Aug 2018 10:43:36 -0700 (PDT)
Received: from huawei.com (lhrrgout.huawei.com [185.176.76.210]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4319D130DFD for <netconf@ietf.org>; Wed, 29 Aug 2018 10:43:36 -0700 (PDT)
Received: from lhreml703-cah.china.huawei.com (unknown [172.18.7.107]) by Forcepoint Email with ESMTP id AA55DC76806AC for <netconf@ietf.org>; Wed, 29 Aug 2018 18:43:31 +0100 (IST)
Received: from SJCEML701-CHM.china.huawei.com (10.208.112.40) by lhreml703-cah.china.huawei.com (10.201.108.44) with Microsoft SMTP Server (TLS) id 14.3.399.0; Wed, 29 Aug 2018 18:43:32 +0100
Received: from SJCEML521-MBS.china.huawei.com ([169.254.2.188]) by SJCEML701-CHM.china.huawei.com ([169.254.3.173]) with mapi id 14.03.0415.000; Wed, 29 Aug 2018 10:43:22 -0700
From: Alexander Clemm <alexander.clemm@huawei.com>
To: "Yutianpeng (Tim)" <yutianpeng@huawei.com>, "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: Comments on draft-ietf-netconf-yang-push-18
Thread-Index: AdQ/rOk2O9B1aMu7RrSnvHTptxxrnQAD9+jQ
Date: Wed, 29 Aug 2018 17:43:22 +0000
Message-ID: <644DA50AFA8C314EA9BDDAC83BD38A2E0EB5B6D7@sjceml521-mbs.china.huawei.com>
References: <35FF0D51C8DAB54B95B0426331F984FF520433B2@lhreml523-mbs.china.huawei.com>
In-Reply-To: <35FF0D51C8DAB54B95B0426331F984FF520433B2@lhreml523-mbs.china.huawei.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.193.35.88]
Content-Type: multipart/alternative; boundary="_000_644DA50AFA8C314EA9BDDAC83BD38A2E0EB5B6D7sjceml521mbschi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/Gx1OJbtYUYSB_RD9XlIOJksyyZw>
Subject: Re: [Netconf] Comments on draft-ietf-netconf-yang-push-18
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 17:43:39 -0000

Hello Tim,

replies below, <ALEX>

Thanks
--- Alex

From: Netconf [mailto:netconf-bounces@ietf.org] On Behalf Of Yutianpeng (Tim)
Sent: Wednesday, August 29, 2018 8:28 AM
To: netconf@ietf.org
Subject: [Netconf] Comments on draft-ietf-netconf-yang-push-18

Hi,
Some comments as below:

------------------------------
There is one point missing in the draft so far I think: what if the subscriber is the initiator of the configuration changes?
In this case, the subscriber is aware of configuration changes initiated by itself without relying on the push mechanism. Introducing push mechanism will dramatically impact the performance of the system in this case.
My suggestion is:
3.3.  On-Change Considerations
   5.  If the resulting patch record is non-empty, and it contains the records not initiated by the subscriber, select these records and send to corresponding subscriber.
We can have further discussion on this to make it optional instead of mandatory.

<ALEX>
Regarding automatic filtering of updates that concern configuration which was initiated by the same entity that has the role of receiver:  This would add significant complexity and very little actual gain.  For one, it is up to the subscriber to decide what information is of interest, and the receiver will be able to easily apply logic to differentiate updates concerning changes that it had initiated itself versus other changes.  Perhaps more importantly, there may be value to the receiver in receiving those updates as an additional validation/verification mechanism; who are we to second-guess the intention of the subscriber?  By filtering out some updates but not others, it will also be very hard to use the update records as a history log or "audit trail", which would require combining responses to configuration change / edit requests and update records.

In short, I do not think that this is a feature that should be introduced.  If it turns out this is of importance to someone after all, they are free to augment the model with a new filter type whose effect will be to ignore certain updates.
</ALEX>

-----------------------------
Both "subscriber" and "receiver" are used, bit confusing sometimes. Shall we only use "subscriber"

<ALEX>
Subscriber and receiver are different roles.  The subscriber is the entity that initiates the subscription, the receiver is the recipient entity for the updates.  Of course, both may be the same system.
</ALEX>

------------------------
3.11.1.  Robustness and reliability
   Note: It is perfectly acceptable to have a series of "push-change-
   update" notifications (and even "push update" notifications) serially
   queued at the transport layer awaiting transmission.  It is not
   required to merge pending update records.  I.e., the dampening period
   applies to update record creation, not transmission.
My suggestion is:
The publisher should increase dampening period automatically in case the message queue reaches a limit.
This is to avoid notifications lost due to queue limit in case subscriber is busy or temporarily unreachable.

<ALEX>
Again, this is an additional feature that we should not introduce at this point.  If one were to introduce it, there would be various additional ramifications, such as increased delay to let receivers know that some information has changed/ updates have happened, which may in many cases not be acceptable (with the dampening period being gated by the longest acceptable delay in reporting an update).  In addition, receivers would need to be informed of changing dampening periods.  Any benefits are not worth the additional complexity (not just for publishers, but for receivers) IMHO.
</ALEX>


-----------------------------
It would be appreciated if suggestions can be given on how push shall be used on running, startup and candidate datastores

<ALEX>

This is part of the model and specified at configuration respectively establishment of the subscription.  Defined in grouping datastore-criteria, which includes

      leaf datastore {

       type identityref {

         base ds:datastore;

       }

       mandatory true;

       description

         "Datastore from which to retrieve data.";

    }

</ALEX>
-------------------------------

Regards,
Tim