Re: [netconf] [Last-Call] Yangdoctors last call review of draft-ietf-netconf-ssh-client-server-24

Kent Watsen <kent+ietf@watsen.net> Tue, 01 June 2021 22:55 UTC

Return-Path: <01000179c9c98396-98e37454-f6bd-4753-92a4-0c8911d102d9-000000@amazonses.watsen.net>
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 D8DFB3A2A88 for <netconf@ietfa.amsl.com>; Tue, 1 Jun 2021 15:55:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.887
X-Spam-Level:
X-Spam-Status: No, score=-1.887 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_NONE=0.001, T_SPF_HELO_TEMPERROR=0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=amazonses.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 FyqxwRI_mjjz for <netconf@ietfa.amsl.com>; Tue, 1 Jun 2021 15:54:59 -0700 (PDT)
Received: from a48-92.smtp-out.amazonses.com (a48-92.smtp-out.amazonses.com [54.240.48.92]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E79ED3A2A85 for <netconf@ietf.org>; Tue, 1 Jun 2021 15:54:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=ug7nbtf4gccmlpwj322ax3p6ow6yfsug; d=amazonses.com; t=1622588097; h=Content-Type:Mime-Version:Subject:From:In-Reply-To:Date:Cc:Content-Transfer-Encoding:Message-Id:References:To:Feedback-ID; bh=FSGPzg1t3s3L+gq9XxSoUbXPBZwTrEw3hWugDEOYOlA=; b=WiHGf6B2sHrwymYBUyKw6uGImgelRC5OBQC5qxtop+7+BZoDh1zPb7LbsN1uOTE2 xR5uXH4+45dYfo3etxj3FZMP/6f5Bpb69FlwgCbRdHTks7U1JU1zW0BWzXRBInB715c jEhWyB1hucoCfQhpERVMLnivJ7Eu/PntRhmMdac4=
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.60.0.2.21\))
From: Kent Watsen <kent+ietf@watsen.net>
In-Reply-To: <CABCOCHTjKHE1pbP05tcBGvx1Ms5LJsvmtBe1te4kOr-1jwTJPw@mail.gmail.com>
Date: Tue, 01 Jun 2021 22:54:57 +0000
Cc: "netconf@ietf.org" <netconf@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-ID: <01000179c9c98396-98e37454-f6bd-4753-92a4-0c8911d102d9-000000@email.amazonses.com>
References: <162197047222.6755.5719177112947542346@ietfa.amsl.com> <01000179af378320-73241cbb-c5a4-45dd-8c87-03ff603cc2f0-000000@email.amazonses.com> <CABCOCHTjKHE1pbP05tcBGvx1Ms5LJsvmtBe1te4kOr-1jwTJPw@mail.gmail.com>
To: Andy Bierman <andy@yumaworks.com>
X-Mailer: Apple Mail (2.3654.60.0.2.21)
Feedback-ID: 1.us-east-1.DKmIRZFhhsBhtmFMNikgwZUWVrODEw9qVcPhqJEI2DA=:AmazonSES
X-SES-Outgoing: 2021.06.01-54.240.48.92
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/RyUThWedFckIhiurLr3NAzBF5J8>
Subject: Re: [netconf] [Last-Call] Yangdoctors last call review of draft-ietf-netconf-ssh-client-server-24
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETCONF WG 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: Tue, 01 Jun 2021 22:55:04 -0000

Hi Andy,


> > 1) Measuring Interoperability for groupings and identities
> > 
> > [same comment for SSH and TLS drafts]
> > 
> > These modules are intentionally abstract.
> > There are no protocol-accessible objects defined at all.
> > Interoperability is usually measured in the context of a
> > specific protocol (e.g., NETCONF).
> > 
> > There is an assumption that interoperability will be achieved
> > by some other RFCs that will have "uses" statements to create
> > protocol-accessible or otherwise implementable objects.
> 
> True, and we have, e.g., the "netconf-client-server" and "restconf-client-server" drafts, and the PCE WG has the "pcep-yang” draft.   There’s a leap of faith, but also some running code, so hopefully within the intentions of an “RFC”.
> 
> 
> > There is also an assumption that the groupings will be used the
> > same everywhere, and the only difference will be the
> > path from root to the objects in these groupings.
> > In fact, the "refine" statement allows each usage to be
> > different.
> 
> What assumption?  Do you mean the description statements in the various "[ssh/tls]-[client/server]-grouping” groupings.  For instance, see the 2nd paragraph below:
> 
>      grouping ssh-client-grouping {
>        description
>          "A reusable grouping for configuring a SSH client without
>           any consideration for how an underlying TCP session is
>           established.
> 
>           Note that this grouping uses fairly typical descendent
>           node names such that a stack of 'uses' statements will
>           have name conflicts.  It is intended that the consuming
>           data model will resolve the issue (e.g., by wrapping
>           the 'uses' statement in a container called
>           'ssh-client-parameters').  This model purposely does
>           not do this itself so as to provide maximum flexibility
>           to consuming models.";
> 
> While it is true that “stacks” (or sibling “uses” statements) are expected (from a "best practice” POV), I’m unaware of any Xpath expressions enforcing this.
> 
> 
> 
> I was re-reading RFC 7950 and there is nothing to add in these drafts about it.
> Groupings do not define any nodes in the schema tree.
> 
> In the old days the IETF used to be concerned with Interoperability Reports
> in order to advance an RFC from Proposed Standard to Draft Standard.
> Now that that is no longer done, it is not that important to point out that
> interoperability can only be evaluated for the module with the "uses" statement,
> since that is how schema tree nodes are defined from a grouping template.

Closed - thanks!


> 
> > Perhaps the drafts should mention these interoperability issues.
> 
> Could you be more specific in what text you’d like to see in which sections?
> 
> 
> see above -- no changes requested

Ack.


> > 2) same feature names in 2 modules
> > 
> >  - feature userauth-hostbased
> >  - feature userauth-none
> >  - feature userauth-password
> >  - feature userauth-publickey
> > 
> > The ietf-ssh-client and ietf-ssh-server modules both use these
> > feature names. IMO users will not expect this, and this will cause
> > confusion.
> > 
> > Why can't these features be defined once in ietf-ssh-common.yang?
> > Seems like client and server will advertise the feature for
> > implementing their relevant values.
> 
> Well, these were named differently in just the previous version of the ssh draft…from the change log:
> 
>  *  Renamed "client-auth-*" to "userauth-*"
>  *  Renamed "client-identity-*" to "userauth-*”
> 
> Juergen felt that these were more natural names for SSH.   I agreed, mostly just to get the “monkey off my back”, but it breaks with the convention used by the collection if client-server drafts (where all the variations of "[client/server]-[auth/identity]” are typically used).  
> 
> Yes, “userauth” is the term used in the SSH drafts, and I didn’t think is was a big deal or, really, any deal at all, for the same feature names to be used in both drafts, such that I'm surprised by your "users will not expect this, and this will cause confusion” comment...
> 
> Moving the definitions to the “common” module is possible, of course, but tricky since the description statements say different things, to address the different contexts in which they’re used.  The description statement could be expanded to address each context, but this will get wordy…I wonder if it wouldn’t be better to just go back to the previous “client-[auth/identity]-*” prefixes - thoughts?
> 
> 
> OK -- not a big deal except possibly when the feature name is used outside of YANG,
> without any prefix to tell which one is meant.  I agree the different description-stmts
> make it difficult to write a common feature definition, so this is not important to change either.


It seems that the following might works:

  - In ietf-ssh-client, rename "userauth-*" to "client-ident-*”
      - since client-side config, the “userauth” nomenclature is not as strong
      - aligns “client-ident” usage with the “tls” and “http” drafts

  - In ietf-ssh-server, rename "userauth-*" to "local-user-auth-*”
      - makes sense as nodes depend from a container called “users” that
        has a if-feature statement “local-users-supported”
      - thus, can simultaneously be parsed as "[local-user]-auth-*”
        and "local-[user-auth]-*”

I’ll make this  change if no objections.


> Andy

K.