[nfsv4] AD Evaluation of draft-ietf-nfsv4-mv1-msns-update-03

Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com> Sat, 02 February 2019 01:55 UTC

Return-Path: <spencerdawkins.ietf@gmail.com>
X-Original-To: nfsv4@ietfa.amsl.com
Delivered-To: nfsv4@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 55183130DC9; Fri, 1 Feb 2019 17:55:30 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.989
X-Spam-Level:
X-Spam-Status: No, score=-1.989 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 FUVRpILhkpFl; Fri, 1 Feb 2019 17:55:26 -0800 (PST)
Received: from mail-lj1-x241.google.com (mail-lj1-x241.google.com [IPv6:2a00:1450:4864:20::241]) (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 E4133130EF5; Fri, 1 Feb 2019 17:55:22 -0800 (PST)
Received: by mail-lj1-x241.google.com with SMTP id t9-v6so7402013ljh.6; Fri, 01 Feb 2019 17:55:22 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=DUUaBglyimYBNp/65w4w/Ly9sHR3u/nGPmfLyT9p55k=; b=Pxt+OHbYfdZuGyD9dnDQlqJvNkCki5jW52BDMOBt/YIfY/BTkGf1Ov1ThsEBRs3Ofd CBeJz4Fw3MavQs40V2rFJlDQHCNkyUrXPUN3yMNl8ncoTE3VjakHwVfibpDpspJL9Xmf Wijt3gqxo1wIrF6zlvZqmK7+OgLzQ5yITJ2ts2wTyyWLN7FvrKjw1djxtZajY9O3jj9J lcJgMElMizwBb9dT81zs2LDqVFzjOMWrtyQN7gfpG9z5TdHFaz2g8wt1QkEwLyDgsrbo fQg4UAGM2hKodkD4UFSJzc7CNpUKQb4peS3OH0QqKn3Tly1v+s3oZzlAbEhTGUE6yIGH u0lg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=DUUaBglyimYBNp/65w4w/Ly9sHR3u/nGPmfLyT9p55k=; b=o6fxaKb95Espv3OJAegqhYn+NHxDThM/vTpk8jRSTk1lCVyU3CL77IQqyRgN23Bkrd vpu8E9biHZ/+e1BwB9rKO7vyQ2LyHPYLnj2l0KcoGjcAISHjcbf6LKaQuFDhQi52J/pW nUSrRQ8usobIlodNgIIaGVXasYDb9jZGW/LgzhQCkwJDLr1ouYtiAH3HA9XwFwbPnLyM gYeyWgSa7kvIB7JGjuFk17bZrnJbmmLUqwbkpbrdH6RIFl+Cyl505JZMTxGeqIh4hh9K Ox/5TBrqEp2FMSH2nfPZZivPdR+tJQfqyuN5eaH66ijbJeGbD/a/VWJXB12VBit1zcal RreA==
X-Gm-Message-State: AHQUAuYoTAozLkt5AR0oZIThHxnsFBkhnRwZJBmSgGE+snHEZcHn+NnA MX/YXecodspyGlIJOR8mZUFjG3DNAqQxxrplEG27Bj2H
X-Google-Smtp-Source: AHgI3Iaq3jzxEiHd8aXY18+VwCvwhNrdT2cWz9L6FuXesIhC0nHOnGpa83D6JcuMlOh0/IIP+x22mXND5zEeKp5EJIs=
X-Received: by 2002:a2e:8596:: with SMTP id b22-v6mr6958148lji.122.1549072520452; Fri, 01 Feb 2019 17:55:20 -0800 (PST)
MIME-Version: 1.0
From: Spencer Dawkins at IETF <spencerdawkins.ietf@gmail.com>
Date: Fri, 01 Feb 2019 19:55:07 -0600
Message-ID: <CAKKJt-d_f_Nk8a57y_i3NTzdt9sUxe3b9uufaMiJCAq84=tRFw@mail.gmail.com>
To: draft-ietf-nfsv4-mv1-msns-update@ietf.org
Cc: NFSv4 <nfsv4@ietf.org>, nfsv4-chairs@ietf.org, nfsv4-ads@ietf.org
Content-Type: multipart/alternative; boundary="000000000000501f440580df8df4"
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/xRm_3VMkNFypleqI6j0C859Ibpg>
Subject: [nfsv4] AD Evaluation of draft-ietf-nfsv4-mv1-msns-update-03
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nfsv4/>
List-Post: <mailto:nfsv4@ietf.org>
List-Help: <mailto:nfsv4-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 02 Feb 2019 01:55:30 -0000

Dear Author and Editor,


The NFSv4 working group tends to produce solid documents - thank you for
that - but since I'm doing AD Evaluation on a 100-page document that
updates a 600-page document, we can't be surprised that I had a few
questions ... please let me know how you'd like to proceed.

I'll mark this as Revised ID Required for now.

Thanks,

Spencer

This popped up from IDnits, and would be worth fixing before Last Call.

-- The document seems to lack a disclaimer for pre-RFC5378 work, but may
    have content which was first submitted before 10 November 2008.  If you
    have contacted all the original authors and they are all willing to
grant
    the BCP78 rights to the IETF Trust, then this is fine, and you can
ignore
    this comment.  If not, you may need to add the pre-RFC5378 disclaimer.
    (See the Legal Provisions document at
    https://trustee.ietf.org/license-info for more information.)

(This one tends to get Discusses during IESG Evaluation)

The description of "trunking" appears (as best I can tell) appears 7 pages
into the document. Is there a reasonable reference you could provide for
the first use of the term in the Introduction? (Even a forward reference to
Section 3.1 would be an improvement)

Does this text

 o Some confusing text regarding changes in server_owner needs to be

                                                          ^^^^^^^^^^^
     clarified.

mean

 o Some confusing text regarding changes in server_owner has been

                                                          ^^^^^^^^
     clarified.

?

Does this text

 This document contains sections that propose additions to and other

                                      ^^^^^^^
  modifications of [RFC5661] as well as others that explain the reasons
  for modifications but do not directly affect existing specifications.

mean "specify additions", or "provide additions"? If approved, this
specification will no longer be proposing text changes - they'll be in
effect.

I can usually follow passive tense English in IETF specifications, but

 When a file system is present and becomes absent, clients can be

                                                           ^^^^^^
  given the opportunity to have continued access to their data, using a

  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  different replica.

is just a bit too hand-wavish. Who/what is giving clients this opportunity?

This is a pretty mundane point, but in text like this (and there are other
similar occurrences):

4.5.1.  New section to be added as the first sub-section of Section 11.4
       of [RFC5661] to be entitled "Combining Multiple Uses in a Single
       Attribute"

it is not clear to me exactly where the added text goes - I'm guessing that
the added text becomes the new 11.4.1, pushing all other subsections of
11.4 down, but I'm not sure if that's what was intended. I just noticed
that
https://www.ietf.org/rfcdiff?url2=draft-ietf-nfsv4-mv0-trunking-update-04
shows an explicit renumbering ("this section is now 11.4.1") being added to
similar insertions, which is likely more helpful for the area review teams,
reviewing ADs, the RFC Editor, and the eventual readers. That happened
during a recent IESG Evaluation, so it's especially likely to come up for
another NFSv4 draft ;-) ...

I'm lost in the "it"s in this text:

 o It may fetch the file system location attribute for the filesystem
     which will provide either the name of the server (which can be
     turned into a set of network addresses using DNS), or it will find
     a set of server-trunkable location entries which can provide the
     addresses specified by the server as desirable to use to access
     the file system in question.

I THINK this is (indentation is significant)

o  The client may fetch the file system location attribute for the
filesystem
     which will provide either

         the name of the server (which can be
         turned into a set of network addresses using DNS),

or the client will find a set of server-trunkable location entries which
can

         provide the
         addresses specified by the server as desirable to use to access
         the file system in question.

just following the text, but that's not making a lot of sense to me. Is "or
it will find" garbled? Or am I just lost here?

It's a nit, but

 Fs_locations_info provides a flag, FSLI4TF_RDMA flag.  indicating

                                                     ^ should be a comma.
  that RPC-over-RDMA support is available using the specified location
  entry.

I'm not entirely following

 Fs_locations_info provides a flag, FSLI4TF_RDMA flag.  indicating
  that RPC-over-RDMA support is available using the specified location
  entry.  This flag makes it for a convenient for a client wishing to
  use RDMA, to establish a TCP connection and then convert to use of
  RDMA.  After establishing a TCP connection, the step-up facility, can
  be used, if available, to convert that connection to RDMA mode.
  Otherwise, if RDMA availability is indicated, a new RDMA connection
  can be established and it can be bound to the session already
  established by the TCP connection, allowing the TCP connection to be
  dropped and the session converted to further use in RDMA node.

because I'm trying to guess why you would establish a TCP connection and
then convert that to RDMA mode, instead of establishing an RDMA connection
in the first place. A quick spin through Section 18.16 of [RFC5661] didn't
give me a lot of guidance here (but I did look).

It's a nit, but

 or locations of the file system can be determined by fetching the a
  locations attribute.  attribute.

                        ^^^^^^^^^^ is probably a cut and paste error.

It would be helpful to readers like me, if

 Generally, multi-server namespaces are for the most part uniform, in
  that the same data made available to one client at a given location
  in the namespace is made available to all clients at that location.
  However, as described above, there are facilities provided that allow

           ^^^^^^^^^^^^^^^^^^
  different clients to be directed different sets of data, to enable
  adaptation to such client characteristics as CPU architecture.

this cross-reference was a little more precise (is it "earlier in this
section", or "in Section M.N.O" - something like that).

This text,

 o Whenever a SEQUENCE operation is sent by a client to a server
     which generated state held on that client which is associated with
     a file system that is no longer accessible on the server at which
     it was previously available, a lease-migrated indication, in the

                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     form the SEQ4_STATUS_LEASE_MOVED status bit being set, appears in

     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

     the response.

wasn't easy for me to parse. Perhaps something like

 o Whenever a SEQUENCE operation is sent by a client to a server
     which generated state held on that client which is associated with
     a file system that is no longer accessible on the server at which
     it was previously available, the response will contain a
lease-migrated

                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

     indication, with the SEQ4_STATUS_LEASE_MOVED status bit being set.

     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

I'm guessing

 o In the state merger case, it is possible that the server has not
     attempted Transparent State Migration, in which case state may
     have been lost without it being reflected in the SEQ4_STATUS bits.
     To determine whether this has happened, the client can use
     TEST_STATEID to check whether the stateids created on the source
     server are still accessible on the destination server.  Once a
     single stateid is found to have been successfully transferred, the
     client can conclude that Transparent State Migration was begun and
     any failure to transport all of the stateids will be reflected in
     the SEQ4_STATUS bits.  Otherwise. Transparent State Migration has

                                     ^ should this be a comma?
     not occurred.

but asking now, because there might be something else happening with this
text, if it's not a comma.

I couldn't parse this paragraph. I think the problem is in the first
phrase:

 o If information about the set of clients that have locking state

    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     for the transferred file system, the destination server will be

     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     able to terminate the grace period once all such clients have
     reclaimed their locks, allowing normal locking activity to resume
     earlier than it would have otherwise.

It's a nit, but

 o For each lock type there will by type-specific information, such

                                   ^ be
     as share and deny modes for opens and type and byte ranges for
     byte-range locks and layouts.

If this matters,

 o If both EXCHANGE_ID requests were sent with RPCSEC_GSS ([RFC2203],
     [RFC5403], [RFC7861]) authentication and the server principal is
     the same for both targets, the equality of server scope is
     validated.  It is RECOMMENDED that two servers intending to share

                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     the same server scope also share the same principal name.

     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

the reader would likely benefit from a sentence or two explaining why this
is RECOMMENDED, and/or what the consequences of not sharing the same
principal name are.

It's a nit, but

 o The cases of change which are very disruptive (e.g. change if

                                           "if" is likely "of" ^
     server scope) are not sufficiently distinguished from those that
     simply involve a change of trunking modes (i.e. change
     server_owner minor id)