Re: [Netconf] WGLC on restconf-notif-08

"Reshad Rahman (rrahman)" <rrahman@cisco.com> Fri, 12 October 2018 19:41 UTC

Return-Path: <rrahman@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 5C55B130E89 for <netconf@ietfa.amsl.com>; Fri, 12 Oct 2018 12:41:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.501
X-Spam-Level:
X-Spam-Status: No, score=-14.501 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, 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 igHe3z5gP-2V for <netconf@ietfa.amsl.com>; Fri, 12 Oct 2018 12:41:23 -0700 (PDT)
Received: from alln-iport-3.cisco.com (alln-iport-3.cisco.com [173.37.142.90]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7FEC91286E3 for <netconf@ietf.org>; Fri, 12 Oct 2018 12:41:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=8946; q=dns/txt; s=iport; t=1539373283; x=1540582883; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=Bwek7a5EWeNHaIhcg0sj57y64bjjFE6QFBZaEUnAjG8=; b=ksiC8KsoWb9H5V5d31bvXmds3P6+wSOBaaZZNCalAZ2zwF9G39CW8LsJ zeJyS6IX9HMO6Q2nfoFrsL2zbdydg1mu5v1jyCWELb1BhZRe6ukHHCl2n CmW7s1VAVOWBL8hOV5R3qIsfZVdMTtoxp72z8/laJRWgO+rlQtcIUDNlF k=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0AFAAAL+MBb/49dJa1kGQEBAQEBAQEBAQEBAQcBAQEBAQGBUgMBAQEBAQsBgVkqZn8oCoNrlEaZFIF6CwEBGAsJg3pGAheERSE1DA0BAwEBAgEBAm0cDIU6AgQBASERMwcEFwIBBgIODAIJGgMCAgIlCxQBEAIEARKCVUsBggEPig2bTYEuhHeEXAWBC4o7F4FBP4ESJx+CTIMbAQGBSy0jgkcxgiYCnhwJAolnhm8XgU+Eb4MRhkeVfQIRFIEmHwI0gVVwFTsqAYJBixiFPm+BKIoUAYEeAQE
X-IronPort-AV: E=Sophos;i="5.54,373,1534809600"; d="scan'208";a="185452873"
Received: from rcdn-core-7.cisco.com ([173.37.93.143]) by alln-iport-3.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 12 Oct 2018 19:41:22 +0000
Received: from XCH-ALN-003.cisco.com (xch-aln-003.cisco.com [173.36.7.13]) by rcdn-core-7.cisco.com (8.15.2/8.15.2) with ESMTPS id w9CJfMX6020133 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Fri, 12 Oct 2018 19:41:22 GMT
Received: from xch-rcd-005.cisco.com (173.37.102.15) by XCH-ALN-003.cisco.com (173.36.7.13) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Fri, 12 Oct 2018 14:41:21 -0500
Received: from xch-rcd-005.cisco.com ([173.37.102.15]) by XCH-RCD-005.cisco.com ([173.37.102.15]) with mapi id 15.00.1395.000; Fri, 12 Oct 2018 14:41:21 -0500
From: "Reshad Rahman (rrahman)" <rrahman@cisco.com>
To: Qin Wu <bill.wu@huawei.com>, "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] WGLC on restconf-notif-08
Thread-Index: AQHUXC8dqc/ZdIehM0Ol7lZ9+zKBhqUX3vCAgAF7cNCAAUk1gIAAMKhggAFLQQA=
Date: Fri, 12 Oct 2018 19:41:21 +0000
Message-ID: <8A8362B6-557E-414C-93EF-294EFA3A2F37@cisco.com>
References: <B8F9A780D330094D99AF023C5877DABA9B064CEB@nkgeml513-mbx.china.huawei.com> <1DD8C6AA-CB3D-4A86-9428-1901189B03BB@cisco.com> <B8F9A780D330094D99AF023C5877DABA9B067316@nkgeml513-mbx.china.huawei.com>
In-Reply-To: <B8F9A780D330094D99AF023C5877DABA9B067316@nkgeml513-mbx.china.huawei.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/10.b.0.180311
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [161.44.212.54]
Content-Type: text/plain; charset="utf-8"
Content-ID: <A8483EDD1D77E640A3181DD9DB7DD6B2@emea.cisco.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Outbound-SMTP-Client: 173.36.7.13, xch-aln-003.cisco.com
X-Outbound-Node: rcdn-core-7.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/AfbgLZ80aprl5RyLlhMO6m6J22M>
Subject: Re: [Netconf] WGLC on restconf-notif-08
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.29
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, 12 Oct 2018 19:41:26 -0000

Hi Qin,

On 2018-10-11, 9:02 PM, "Qin Wu" <bill.wu@huawei.com> wrote:

    -----邮件原件-----
    发件人: Reshad Rahman (rrahman) [mailto:rrahman@cisco.com] 
    发送时间: 2018年10月12日 5:02
    收件人: Qin Wu; netconf@ietf.org
    主题: Re: [Netconf] WGLC on restconf-notif-08
    
    Hi Qin,
    
    Thanks for the review, please see inline.
    
    
    On 2018-10-10, 10:25 PM, "Netconf on behalf of Qin Wu" <netconf-bounces@ietf.org on behalf of bill.wu@huawei.com> wrote:
    
        Hi,
        I have read the latest version of restconf-notif-08 and have the following comments:
        1. Section 3
        "  Subscribing to event
           streams is accomplished in this way via a RESTCONF POST into RPCs
           defined within [I-D.draft-ietf-netconf-subscribed-notifications]
           Section 2.4.
        "
        hard to understand this sentence, what do we mean "via RESTCONF POST into RPCs"?
        in which way?
    <RR> This just means RPCs (which are done with POSTs). New proposed text:
    "... in this way via RPCs, which are done with RESTCONF POSTs, defined within...."    
     
    [Qin]: make sense. Thanks.
        2.section 3
        I think this section explain why POST is used instead of GET for URI retieval.
    <RR> Yes, the POST is for the establish-subscription RPC and the URI is in the reply. 
        Suggest the following change:
        
        "
        As described in [RFC8040] Section 6.3, a GET needs to be made against
           a specific URI on the publisher.  Subscribers cannot pre-determine
           the URI against which a subscription might exist on a publisher, as
           the URI will only exist after the "establish-subscription" RPC has
           been accepted. Therefore The POST for the "establish-subscription" RPC    replaces the
           GET request for the "location" leaf which is used in [RFC8040] to
           obtain the URI. When The subscription URI is determined and sent as
           part of the response to the "establish-subscription" RPC, and a
           subsequent GET to this URI will be done in order to start the flow of
           notification messages back to the subscriber.  A subscription does
           not move to the active state as per Section 2.4.1. of
           [I-D.draft-ietf-netconf-subscribed-notifications] until the GET is
           received.  
        "
    <RR> Ack, you basically moved the part on POST right after the RPC and before we talk about GET.
    
    [Qin]: Correct, but more clear and logical.
<RR2> Ack.
    
        3. Section 3.2
        Is there any reason not reuse streams defined in ietf-restconf-monitoring.yang in [RFC6520]?
    <RR> Because we're building on top of SN draft.
    
    [Qin]: I am pathetic on streams defined in ietf-restconf-monitoring.yang, Is there any limitation of those streams?
    is there any case we can fall back to rely on streams defined in ietf-restconf-monitoring.yang?
<RR2> I don't see any case why we'd need to fall back to the RC stream model.
    
        4.Section 3.3
        Why JSON encoding is emphasized? what about XML encoding?
    <RR> XML encoding is supported (since this is RESTCONF), I think this doc started with JSON because netconf-notif has XML.
        
        "
           Note that "error-path" does not need to be included with the "rpc-
           error" element, as subscription errors are generally not associated
           with nodes in the datastore but with the choice of RPC input
           parameters.
        
        "
        not sure I understand this, is this difference between NETCONF and RESTCONF?
        RESTCONF server doesn't support NETCONF protocol or datastore?
    <RR> RFC8040 specifies error-path in rpc-error, what this text says is that error-path does not need to be included.
    [Qin]: what is not clear to me is the second half part
    "
    subscription errors are generally not associated
           with nodes in the datastore but with the choice of RPC input
           parameters.
    "
    Can you give an example to explain this?
<RR2> The text is saying that if a subscription fails, it is generally because of an issue with input parameters (e.g. polling interval too aggressive, dscp not supported) and not because of an error with a specific data node. From definition of error-path in RFC8040, it's an instance-identifier so it points to a specific node in the datastore.
           leaf error-path {
             type instance-identifier;
             description
               "The YANG instance identifier associated
                with the error node.";
           } 
I can remove the second part to try to make this text clearer, I can also add a reference to 8040 for error-path:
        "
           Note that "error-path" [RFC8040] does not need to be included with the "rpc-
           error" element, as subscription errors are generally associated with the choice of RPC input
           parameters.
        
        "
    
        5.Section 3.4
        "
        In addition to an RPC response for a "modify-subscription" RPC
              traveling over (a), a "subscription-modified" state change
              notification must be sent within (b). 
        "
        Does this contradict with the statement in subscrbed notification draft
        "
        unlike [RFC5277], this document enables a single transport session
              to intermix notification messages and RPCs for different
              subscriptions.
        
        "
        confused.
    <RR> I don’t think this is a contradiction. You can have multiple RPCs on single transport session (by not closing the transport session after each RPC). With HTTP2 streams, you can have multiple notification messages from different subscriptions on same transport session (but different streams). 
    
    [Qin]: I thought connection and transport session is 1:1 relation, it seems you believe multiple connection can be carried in one single transport session, wrong?
<RR2> No, I'm referring to logical connections (Section 3.4) which can e.g. be a HTTP2 stream. 

Regards,
Reshad.
    
    Regards,
    Reshad.
        
        
        -Qin
        
        _______________________________________________
        Netconf mailing list
        Netconf@ietf.org
        https://www.ietf.org/mailman/listinfo/netconf