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

Robert Wilton via Datatracker <noreply@ietf.org> Wed, 15 December 2021 12:37 UTC

Return-Path: <noreply@ietf.org>
X-Original-To: rum@ietf.org
Delivered-To: rum@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 77B7C3A0FBE; Wed, 15 Dec 2021 04:37:17 -0800 (PST)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: Robert Wilton via Datatracker <noreply@ietf.org>
To: The IESG <iesg@ietf.org>
Cc: draft-ietf-rum-rue@ietf.org, rum-chairs@ietf.org, rum@ietf.org, pkyzivat@alum.mit.edu, pkyzivat@alum.mit.edu
X-Test-IDTracker: no
X-IETF-IDTracker: 7.41.0
Auto-Submitted: auto-generated
Precedence: bulk
Reply-To: Robert Wilton <rwilton@cisco.com>
Message-ID: <163957183657.10054.2789790212865898062@ietfa.amsl.com>
Date: Wed, 15 Dec 2021 04:37:17 -0800
Archived-At: <https://mailarchive.ietf.org/arch/msg/rum/Z8oWWQ7h_ZfZ2pXqYPU4LyhW4OI>
Subject: [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
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: Wed, 15 Dec 2021 12:37:18 -0000

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?

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.


----------------------------------------------------------------------
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

Nit: with a corresponding a entry point -> with a corresponding entry point

   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?

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?

Nit: The method the API Key is obtained is not specified in this document. =>
  Perhaps "The method used to obtain the API key ..."

   The provider MAY refuse to provide service to an implementation
   presenting an API Key it does not recognize.

Why is this not a MUST?

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,
and possibly even the parameter name could be changed to make it more obvious
that it is a client provided value?

Regards,
Rob