Re: [Netconf] RESTCONF and draft-ietf-appsawg-uri-get-off-my-lawn-04 (on the IESG telechat this week)
Kent Watsen <kwatsen@juniper.net> Tue, 22 July 2014 17:42 UTC
Return-Path: <kwatsen@juniper.net>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3C7541B2AFC for <netconf@ietfa.amsl.com>; Tue, 22 Jul 2014 10:42:29 -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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
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 JUqiO3798OFg for <netconf@ietfa.amsl.com>; Tue, 22 Jul 2014 10:42:27 -0700 (PDT)
Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1blp0182.outbound.protection.outlook.com [207.46.163.182]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7A0C21A01B0 for <netconf@ietf.org>; Tue, 22 Jul 2014 10:42:26 -0700 (PDT)
Received: from CO1PR05MB458.namprd05.prod.outlook.com (10.141.72.140) by CO1PR05MB458.namprd05.prod.outlook.com (10.141.72.140) with Microsoft SMTP Server (TLS) id 15.0.990.7; Tue, 22 Jul 2014 17:42:24 +0000
Received: from CO1PR05MB458.namprd05.prod.outlook.com ([169.254.10.190]) by CO1PR05MB458.namprd05.prod.outlook.com ([169.254.10.190]) with mapi id 15.00.0990.007; Tue, 22 Jul 2014 17:42:23 +0000
From: Kent Watsen <kwatsen@juniper.net>
To: Mark Nottingham <mnot@mnot.net>
Thread-Topic: [Netconf] RESTCONF and draft-ietf-appsawg-uri-get-off-my-lawn-04 (on the IESG telechat this week)
Thread-Index: AQHPbjTesrzdWmo2rkmRPyjc5i2Otps9kRSAgAAaUoCAAO5HgIAARg6AgAIsroCAAHbbgIBrBdYA
Date: Tue, 22 Jul 2014 17:42:23 +0000
Message-ID: <CFF41936.7AFEF%kwatsen@juniper.net>
References: <53714FEC.2030709@cisco.com> <CABCOCHQ4LoM_xcRH-j=3gYo_eBcOjnLmifed1HNa7mt5_k8xAQ@mail.gmail.com> <CABCOCHTMRwSh32owC7E_XCmFm6abcVF4cRigPCz9nBo5R7nQcA@mail.gmail.com> <CF97DDB1.6FB67%kwatsen@juniper.net> <CABCOCHQ8BB-dJdu-jwKhVH3k0UzpCvAY+EOJqfa=EBFveB0RUA@mail.gmail.com> <53743F8F.2050308@cisco.com> <CF9A4A3A.71AEB%kwatsen@juniper.net>
In-Reply-To: <CF9A4A3A.71AEB%kwatsen@juniper.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/14.4.3.140616
x-originating-ip: [66.129.241.10]
x-microsoft-antispam: BCL:0;PCL:0;RULEID:
x-forefront-prvs: 02801ACE41
x-forefront-antispam-report: SFV:NSPM; SFS:(52604005)(377454003)(16813002)(189002)(199002)(24454002)(43784003)(17383004)(164054003)(85852003)(54356999)(92566001)(99396002)(21056001)(105586002)(77982001)(83072002)(76176999)(81342001)(107046002)(74502001)(74662001)(79102001)(76482001)(93886003)(83506001)(81542001)(101416001)(95666004)(92726001)(106356001)(50986999)(99286002)(77096002)(19617315012)(110136001)(86362001)(19580405001)(15975445006)(80022001)(85306003)(19580395003)(83322001)(66066001)(20776003)(36756003)(64706001)(87936001)(106116001)(31966008)(16236675004)(4396001)(2656002)(46102001)(15202345003)(166863002); DIR:OUT; SFP:; SCL:1; SRVR:CO1PR05MB458; H:CO1PR05MB458.namprd05.prod.outlook.com; FPR:; MLV:sfv; PTR:InfoNoRecords; MX:1; LANG:en;
Content-Type: multipart/alternative; boundary="_000_CFF419367AFEFkwatsenjunipernet_"
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
Archived-At: http://mailarchive.ietf.org/arch/msg/netconf/G0Z5UpBJJF0yxxUtrElrTGgH0U4
Cc: NETCONF <netconf@ietf.org>
Subject: Re: [Netconf] RESTCONF and draft-ietf-appsawg-uri-get-off-my-lawn-04 (on the IESG telechat this week)
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.15
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: <http://www.ietf.org/mail-archive/web/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: Tue, 22 Jul 2014 17:42:29 -0000
Hi Mark, Thank you for meeting with Andy, Bert, and myself yesterday. We're happy that you support our use of /.well-known/host-meta as described here: http://tools.ietf.org/html/draft-ietf-netconf-restconf-01#section-3.2. Thank you also for suggesting the draft advise clients to cache the result using standard HTTP caching, we'll be sure to update the accordingly. Thanks again, Kent From: Kent Watsen <kwatsen@juniper.net<mailto:kwatsen@juniper.net>> Date: Thursday, May 15, 2014 at 11:21 AM To: Benoit Claise <bclaise@cisco.com<mailto:bclaise@cisco.com>>, Andy Bierman <andy@yumaworks.com<mailto:andy@yumaworks.com>> Cc: Mark Nottingham <mnot@mnot.net<mailto:mnot@mnot.net>>, 'Barry Leiba' <barryleiba@computer.org<mailto:barryleiba@computer.org>>, NetConf <netconf@ietf.org<mailto:netconf@ietf.org>> Subject: Re: [Netconf] RESTCONF and draft-ietf-appsawg-uri-get-off-my-lawn-04 (on the IESG telechat this week) Hi Mark, thanks for looking in on this! Currently RESTCONF hardcodes the top-level URL path "/restconf", which isn't in line with your BCP. Our thoughts are to put in text like that below. Looking at rfc6570, I don't see how URI templates would help here. Can you suggest a better way? - or were you thinking that we could use URI Templates to define the structure of the RESTCONF API's URLs? Thanks, Kent =====START===== RESTCONF Path Resolution In line the best practices defined by "get-off-my-lawn", RESTCONF enables deployments to specify where the RESTCONF API is located. When first connecting to a RESTCONF server, a RESTCONF client MUST determine the root of the RESTCONF API. The client discovers this by getting the ".well-known/host-meta" resource [RFC6415] as follows: Request ------- GET /.well-known/host-meta users HTTP/1.1 Host: example.com Accept: application/xrd+xml Response -------- HTTP/1.1 200 OK Content-Type: application/xrd+xml Content-Length: nnn <XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'> <Link rel='restconf' href='/api/restconf'/> </XRD> Once discovering the RESTCONF API root, the client MUST prepend it to any access to a RESTCONF resource. For instance, using the "/api/restconf" path discovered above, the client can now determine the version of RESTCONF protocol as follows: Request ------- GET /api/restconf/version HTTP/1.1 Host: example.com Accept: application/yang.api+json Response -------- HTTP/1.1 200 OK Date: Mon, 23 Apr 2012 17:01:00 GMT Server: example-server Cache-Control: no-cache Pragma: no-cache Last-Modified: Sun, 22 Apr 2012 01:00:14 GMT Content-Type: application/yang.api+json { "version": "1.0" } ===== STOP ===== From: Benoit Claise <bclaise@cisco.com<mailto:bclaise@cisco.com>> Date: Thursday, May 15, 2014 at 12:16 AM To: Andy Bierman <andy@yumaworks.com<mailto:andy@yumaworks.com>>, Kent Watsen <kwatsen@juniper.net<mailto:kwatsen@juniper.net>> Cc: NetConf <netconf@ietf.org<mailto:netconf@ietf.org>>, 'Barry Leiba' <barryleiba@computer.org<mailto:barryleiba@computer.org>>, Mark Nottingham <mnot@mnot.net<mailto:mnot@mnot.net>> Subject: Re: [Netconf] RESTCONF and draft-ietf-appsawg-uri-get-off-my-lawn-04 (on the IESG telechat this week) Dear all, Discussing this issue with Barry: Yes, .well-known is a possible solution for netconf/restconf. Another possibility is URI templates. The get-off-my-lawn document talks about both. For restconf, Mark Nottingham could help advise which would be a better option for them. Regards, Benoit On Tue, May 13, 2014 at 11:53 AM, Kent Watsen <kwatsen@juniper.net<mailto:kwatsen@juniper.net>> wrote: Andy writes: I think RESTCONF violates sec 2.3 wrt/ structure within the URI path. <snip/> I agree with Andy that RESTCONF violates section 2.3. I also think that we can remove that violation by supporting "well-known" URIs. Notice that the 2nd paragraph in section 2.3 says "The only exception to this requirement is registered 'well-known' URIs, as specified by [RFC5785]." My reading is, if we use a "well-known" URI, then our subtree can defined sub-structure per RESTCONF convention. We discussed using well-known URIs before. Appendix B.3. in the RESTCONF draft ("Open Issues") regards ".well-known usage". This issue was closed with the resolution "not needed in RESTCONF". We may need to revisit that decision now. I agree we need to support .well-known to conform to this BCP. Thanks, Kent Andy
- [Netconf] RESTCONF and draft-ietf-appsawg-uri-get… Benoit Claise
- Re: [Netconf] RESTCONF and draft-ietf-appsawg-uri… Andy Bierman
- Re: [Netconf] RESTCONF and draft-ietf-appsawg-uri… Andy Bierman
- Re: [Netconf] RESTCONF and draft-ietf-appsawg-uri… Kent Watsen
- Re: [Netconf] RESTCONF and draft-ietf-appsawg-uri… Andy Bierman
- Re: [Netconf] RESTCONF and draft-ietf-appsawg-uri… Benoit Claise
- Re: [Netconf] RESTCONF and draft-ietf-appsawg-uri… Kent Watsen
- Re: [Netconf] RESTCONF and draft-ietf-appsawg-uri… Kent Watsen
- Re: [Netconf] RESTCONF and draft-ietf-appsawg-uri… Mark Nottingham