Re: [Rum] Robert Wilton's Discuss on draft-ietf-rum-rue-09: (with DISCUSS and COMMENT)

Brian Rosen <br@brianrosen.net> Thu, 20 January 2022 14:54 UTC

Return-Path: <br@brianrosen.net>
X-Original-To: rum@ietfa.amsl.com
Delivered-To: rum@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1AD5C3A14C7 for <rum@ietfa.amsl.com>; Thu, 20 Jan 2022 06:54:41 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.886
X-Spam-Level:
X-Spam-Status: No, score=-1.886 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=brianrosen-net.20210112.gappssmtp.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 OlqlHtTggC-5 for <rum@ietfa.amsl.com>; Thu, 20 Jan 2022 06:54:37 -0800 (PST)
Received: from mail-il1-x12e.google.com (mail-il1-x12e.google.com [IPv6:2607:f8b0:4864:20::12e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CF4DE3A14C6 for <rum@ietf.org>; Thu, 20 Jan 2022 06:54:36 -0800 (PST)
Received: by mail-il1-x12e.google.com with SMTP id r15so5173955ilj.7 for <rum@ietf.org>; Thu, 20 Jan 2022 06:54:36 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brianrosen-net.20210112.gappssmtp.com; s=20210112; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=D0d/bzscEBaWLVaL8QTA3cNTdZYFawsYGfwpVwiGWg4=; b=bION7Ou1gr/ARaEx+YJ8W9YZvVn2oTSrjHUHzas4mHiGdUYMPfm+ikiDyYSX0JR5lJ CRVc8c+KzrNcs9/br+2R8G4309kUtLNTjACoboe+wiHB4XJEgVUQ4zXmJyYLWmlhjTi4 a/lg0YyvuL8QoN8+BPMsZKcRxfUTbZiTfcVb30f22ibpIb+WUswlGWaX6KcKqkqrdvEA Qa5ztD4+9AcDM7OtWwUYiLQ3dh72gJuM3h9RN+GMvTIWA1D95LepJ4+VfcXuVnR/8Cxr xCEo5uCn/gkdS++704AZcovb24apnmmfj+o6RhYx/jGTl9x8YYaup6ipnqTgan/M/9MC MXaQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=D0d/bzscEBaWLVaL8QTA3cNTdZYFawsYGfwpVwiGWg4=; b=Djq4K5OYQaXYYYJYD6Pvxr05PxYl2C/xaA3LLO+f99qmAQI35uaaWLeT+8PJnJZyCf w0gvEYi/hEs9Hh0yonwDfDqxTtiavfTD4HrjPxKAsnjWKQXxCzRGpNq50sFnZFr+nbgb piP3541n+QzIGJGU+RCjwV9JSpy3su5uRSHupLcS4VirEU8c6HkqLWpNUsA+f6e41fVS hoob7/JjDlX2o3IVedU4I/RK0jq7JvKnXywVZgnMR8DCvdaXU1dfZ5mBFCp22vnl4i0U 31XyUTeGdiMzsX8yx4NNnBJ6OsAoLXr0q1i/iJ3S2B5wn44WCd4hRc+nZabCC4DraNNP yqfg==
X-Gm-Message-State: AOAM533lmHTpHefLAEzFAVs35S5ijYr2jUtpYCBA33qyln184ts60XkG iugnr7Y5aNlqRS/ldwuZPPV3GA==
X-Google-Smtp-Source: ABdhPJzzDeXgssUE93jfQyqAwTCWe+blL76GsGsbldElGevFmIp3TPKEWNa1hx9eeIzFCzcSK1WWwA==
X-Received: by 2002:a05:6e02:4c3:: with SMTP id f3mr5523089ils.157.1642690475159; Thu, 20 Jan 2022 06:54:35 -0800 (PST)
Received: from smtpclient.apple (dynamic-acs-24-154-121-237.zoominternet.net. [24.154.121.237]) by smtp.gmail.com with ESMTPSA id x6sm1485338ill.78.2022.01.20.06.54.33 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 20 Jan 2022 06:54:34 -0800 (PST)
From: Brian Rosen <br@brianrosen.net>
Message-Id: <661930ED-EDE1-464C-9664-45F2FE1355A7@brianrosen.net>
Content-Type: multipart/alternative; boundary="Apple-Mail=_6AA21666-5E2C-46BE-B080-764EF1B39675"
Mime-Version: 1.0 (Mac OS X Mail 15.0 \(3693.20.0.1.32\))
Date: Thu, 20 Jan 2022 09:54:33 -0500
In-Reply-To: <3A2D8BEA-23D0-4EE8-8EFE-CCE6B3EB0AFD@brianrosen.net>
Cc: The IESG <iesg@ietf.org>, draft-ietf-rum-rue@ietf.org, rum-chairs@ietf.org, rum@ietf.org, Paul Kyzivat <pkyzivat@alum.mit.edu>
To: Robert Wilton <rwilton@cisco.com>
References: <163957183657.10054.2789790212865898062@ietfa.amsl.com> <3A2D8BEA-23D0-4EE8-8EFE-CCE6B3EB0AFD@brianrosen.net>
X-Mailer: Apple Mail (2.3693.20.0.1.32)
Archived-At: <https://mailarchive.ietf.org/arch/msg/rum/rFprY5nZUIxB6LKcFaQDe9Rj1dk>
Subject: Re: [Rum] Robert Wilton's Discuss on draft-ietf-rum-rue-09: (with DISCUSS and COMMENT)
X-BeenThere: rum@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Relay User Machine <rum.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rum>, <mailto:rum-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rum/>
List-Post: <mailto:rum@ietf.org>
List-Help: <mailto:rum-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rum>, <mailto:rum-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 20 Jan 2022 14:54:41 -0000

Rob

I submitted a -10 which I hope is satisfactory to you.

Brian


> On Dec 23, 2021, at 4:16 PM, Brian Rosen <br@brianrosen.net> wrote:
> 
> Thank you for your comments.  Please see inline
> 
>> On Dec 15, 2021, at 7:37 AM, Robert Wilton via Datatracker <noreply@ietf.org> wrote:
>> 
>> Robert Wilton has entered the following ballot position for
>> draft-ietf-rum-rue-09: Discuss
>> 
>> When responding, please keep the subject line intact and reply to all
>> email addresses included in the To and CC lines. (Feel free to cut this
>> introductory paragraph, however.)
>> 
>> 
>> Please refer to https://www.ietf.org/blog/handling-iesg-ballot-positions/
>> for more information about how to handle DISCUSS and COMMENT positions.
>> 
>> 
>> The document, along with other ballot positions, can be found here:
>> https://datatracker.ietf.org/doc/draft-ietf-rum-rue/
>> 
>> 
>> 
>> ----------------------------------------------------------------------
>> DISCUSS:
>> ----------------------------------------------------------------------
>> 
>> There are a couple of points related to versioning that I would like to see
>> clarified, but I hope that it should be fairly easy to do so.
>> 
>> 1.
>>  This means an implementation of a
>>  specific major version and minor version is backwards compatible with
>>  all minor versions of the major version.
>> 
>> Is it actually compatible with all other minor versions, or only other minor
>> versions with a greater minor version number.  E.g., could an implementation be
>> coded to use/expect a object added in a minor version but that is not present
>> in preceding minor versions?
> All other minor versions.  
> 
> It has to be truly optional.  You can do things like add two parameters, a and b, and say if a is provided b must be provided, but it has to work if neither are there, and even if an implementation provided a but not b, an earlier version would ignore a.
> 
>> 
>> 2.
>>  The configuration API also provides the same version mechanism as
>>  specified above in Section 9.1.  The version of the configuration
>>  service MAY be different than the version of the provider list
>>  service.
>> 
>> It wasn't obvious to me, that for a given provider, how this is communicated. 
>> I'm not that familiar with OpenAPI, but looks like the /Versions path is a top
>> level API path, and the data that is contains seems to just be version numbers.
>> Hence, how would a client know which versions apply to provider list service
>> and/or which versions apply to the provide configuration service.
> ‘
> First of all, the Provider list is not available at alll providers.  It’s only available at a service that is one per country.  So one entity normally doesn’t supply both the Provider and the ProviderConfig entry points.
> To be really pedantic, I suppose that it’s actually possible for it to be one entity, and then that statement that there are separate versions wouldn’t apply.  So I guess I will change the text to:
> Unless the per-country provider list service is operated by a provider at the same base URI as that provider’s configuration service, the version of the configuration service MAY be different from the version of the provider list service.
> 
>> 
>> ----------------------------------------------------------------------
>> COMMENT:
>> ----------------------------------------------------------------------
>> 
>> Hi Brian,
>> 
>> Thank you for working on this.  This technology is quite a long way outside of
>> my expertise, and hence my review is primarily focused on the Configuration
>> section (section 9).
>> 
>> Nit: when used with the following interface =>  when used with the following
>> OpenAPI interface
> Fixed
>> 
>> Nit: with a corresponding a entry point -> with a corresponding entry point
> Fixed
>> 
>>  Minor version definitions
>>  SHALL only add objects, non-required members of existing objects, and
>>  non-mandatory-to use functions and SHALL NOT delete any objects,
>>  members of objects or functions.
>> 
>> Would "delete or change" be more correct than just "delete" here?
> Added “or change"
>> 
>> Somewhat related to the discuss comment, but it wasn't clear to me why the
>> versioning is described as part of the "Rue Provider Selection" section and I
>> think that the document would arguably be clearer if the versioning moved to
>> its own separate 9.X section, making it clear that the versioning applies to
>> the entire API?
> I will do that
> 
>> 
>> Nit: The method the API Key is obtained is not specified in this document. =>
>> Perhaps "The method used to obtain the API key …"
> Fixed
>> 
>>  The provider MAY refuse to provide service to an implementation
>>  presenting an API Key it does not recognize.
>> 
>> Why is this not a MUST?
> Well, suppose a provider doesn’t implement an API key, but the client supplies one.  That would not be recognized by the provider, but it doesn’t care, so it provides service.
> 
>> 
>> Is the "instance-identifier" arbitrarily chosen by the client?  Otherwise, it
>> wasn't clear to me how a client would discover or know what
>> "instance-identifier" to use.  It might be helpful if the text clarified this,
> I added that text
> 
>> and possibly even the parameter name could be changed to make it more obvious
>> that it is a client provided value?
> “clientInstanceId” wouldn’t help.  It would have to be “clientProvidedInstanceId”.  That seems to be a bit much as a parameter name.  I’ll do it if you think it’s important, but I’m inclined to just leave the explanatory text specifying that it’s client provided.
>> 
>> Regards,
>> Rob