[netconf] Re: WGLC for trace-ctx-extension-03

Per Andersson <per.ietf@ionio.se> Fri, 04 October 2024 08:18 UTC

Return-Path: <perkietf@gmail.com>
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 C2B52C14F5FE for <netconf@ietfa.amsl.com>; Fri, 4 Oct 2024 01:18:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.653
X-Spam-Level:
X-Spam-Status: No, score=-1.653 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8FTGnxNGvJ8B for <netconf@ietfa.amsl.com>; Fri, 4 Oct 2024 01:18:28 -0700 (PDT)
Received: from mail-pg1-f173.google.com (mail-pg1-f173.google.com [209.85.215.173]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 99193C1519AD for <netconf@ietf.org>; Fri, 4 Oct 2024 01:18:28 -0700 (PDT)
Received: by mail-pg1-f173.google.com with SMTP id 41be03b00d2f7-7cd85502a34so252707a12.2 for <netconf@ietf.org>; Fri, 04 Oct 2024 01:18:28 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1728029908; x=1728634708; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=ntXp6lWqcb5CdIPMF6RBqN5N+uX58oKAPEyUqhFtKEw=; b=jF5O+8WsJSC4gpoMpaiVK4J+Wj0pgpA7w8Zn5U9lO86am8wJy85IWVw/NiulGLpT7J f9fT5fdtC1QYCWmjC+Z4CjpBaH04UTt6LqeuEzZSeZ79iwEXHtdexUml/guWkOBlN2lq rk6golBJJ/rVJgXbizwNjMshZ0ARl61M/v6GIICTn9VRCfIghGxUT+oFjkdvEMVA+umg J/3nssjVs9SgFkXOrlN/6KsWilEH9dZWMkezmUYclk4ompoCX1FTSFpzzr/InimRWjwd k+Yr/xijC7eVfAFygbUhhbgeeWLlHxBs50QQsAovhZxlVdQMNxMgwM/sUlVGYRESqLjt 00Vg==
X-Gm-Message-State: AOJu0YyfRDqw7gP2it5ClyhdBuZLmksLyB4g5jeUsL7Kc0t6wFAdSf0V 7wAlN9aq0EROLADYoZ0OtsURDWzMNdlOqUs/JtZcIxVFVeQ8u8e+l4Bejbk9
X-Google-Smtp-Source: AGHT+IEiKoTYSzHrOc33V9OQrw0TTy1i3K0hGq2qx+F9xNmrsQw9jRIhzgQnjlXm3/R5jALJiou7jA==
X-Received: by 2002:a17:90a:c88:b0:2e0:9d3d:3666 with SMTP id 98e67ed59e1d1-2e1e620ece7mr874363a91.2.1728029907727; Fri, 04 Oct 2024 01:18:27 -0700 (PDT)
Received: from mail-pf1-f177.google.com (mail-pf1-f177.google.com. [209.85.210.177]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2e1e8643534sm933129a91.50.2024.10.04.01.18.27 for <netconf@ietf.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 04 Oct 2024 01:18:27 -0700 (PDT)
Received: by mail-pf1-f177.google.com with SMTP id d2e1a72fcca58-718ef6a26dbso82267b3a.1 for <netconf@ietf.org>; Fri, 04 Oct 2024 01:18:27 -0700 (PDT)
X-Received: by 2002:a05:6a00:4b4e:b0:710:51cd:ed43 with SMTP id d2e1a72fcca58-71de23a662dmr1232473b3a.1.1728029907075; Fri, 04 Oct 2024 01:18:27 -0700 (PDT)
MIME-Version: 1.0
References: <010001912fad646b-baf78304-4e64-4ff2-9554-a0dd3393ef1e-000000@email.amazonses.com>
In-Reply-To: <010001912fad646b-baf78304-4e64-4ff2-9554-a0dd3393ef1e-000000@email.amazonses.com>
From: Per Andersson <per.ietf@ionio.se>
Date: Fri, 04 Oct 2024 08:18:15 +0000
X-Gmail-Original-Message-ID: <CACvbXWFjGpwArZE1E-VLvB6kifYbaczFKa8Maw0KAxvbgha8zg@mail.gmail.com>
Message-ID: <CACvbXWFjGpwArZE1E-VLvB6kifYbaczFKa8Maw0KAxvbgha8zg@mail.gmail.com>
To: netconf@ietf.org
Content-Type: text/plain; charset="UTF-8"
Message-ID-Hash: QTKNVJUXMUL5KBZPVU3IPLGYUHVL2477
X-Message-ID-Hash: QTKNVJUXMUL5KBZPVU3IPLGYUHVL2477
X-MailFrom: perkietf@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-netconf.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version: 3.3.9rc5
Precedence: list
Subject: [netconf] Re: WGLC for trace-ctx-extension-03
List-Id: NETCONF WG list <netconf.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/gS7p9Ud2pQ5gp28cjDq-MBUCjug>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Owner: <mailto:netconf-owner@ietf.org>
List-Post: <mailto:netconf@ietf.org>
List-Subscribe: <mailto:netconf-join@ietf.org>
List-Unsubscribe: <mailto:netconf-leave@ietf.org>

Hi!

I have reviewed draft-ietf-netconf-trace-ctx-extension-01.

The document is well written and needed, thanks!
We have already implemented it.

My review notes below.


The document could benefit from a terminology section explaining the
following terms:

* OTLP

* OTLP Protocol

* M.E.L.T

* gNMI


Figure 3 probably means to have only bidirectional arrows since the
referenced retrieval mechanisms are either "pull or push". Currently
only the top arrow is bidirectional while the two are unidirectional.


As can be seen below, the YANG module validation the recommended
namespace value is

    urn:ietf:params:xml:ns:yang:ietf-netconf-otlp-context

This ties better to the YANG module name and the presented xmlns prefix

    xmlns:ietf-netconf-otlp-context

It is noted that the namespaces for

     urn:ietf:params:xml:ns:yang:traceparent:1.0

and

     urn:ietf:params:xml:ns:yang:tracestate:1.0

correspondingly should have longer names containing the YANG module
name. However, this would be very long. Perhaps a shorter, but
corresponding namespace such as

    urn:ietf:params:xml:ns:yang:otlp-context-traceparent

could be used? If so maybe the shorter "otlp-context" namespace can be
kept instead of the recommended "ietf-netconf-otlp-context", which would
signal relation?


YANG module

* Suggest explaining what "otlp" is in identity meta-error. Or maybe it
  is enough to use upper case if it is explained in the suggested
  terminology section?

Running pyang --ietf ietf-netconf-otlp-context.yang reports:

ietf-netconf-otlp-context.yang:3: warning: RFC 8407: 4.9: namespace
value should be
"urn:ietf:params:xml:ns:yang:ietf-netconf-otlp-context"
ietf-netconf-otlp-context.yang:45: warning: RFC 8407: Appendix B: The
text about which RFC this module is part of seems to be missing or is
not correct (see pyang --ietf-help for details).

Suggest updating the YANG module to accomodate for these warnings. See
above for discussion on namespace.

yanglint is happy!


The following commands

pyang -f yang --keep-comments --yang-line-length 69 \
      ietf-netconf-otlp-context.yang > new.yang \
&& diff ietf-netconf-otlp-context.yang new.yang

yields a diff (formatting) which should update the YANG module:

8c8,9
<     reference "RFC8791: YANG Data Structure Extensions";
---
>     reference
>       "RFC8791: YANG Data Structure Extensions";
12,13c13
<      "IETF NETCONF (Network Configuration) Working Group";
<
---
>     "IETF NETCONF (Network Configuration) Working Group";
16,17c16
<     WG List:  <mailto:netconf@ietf.org>";
<
---
>      WG List:  <mailto:netconf@ietf.org>";
20,44c19,43
<     client and servers needs to share some specific contextual
<     information. This NETCONF extensions aligns the NETCONF
<     protocol to the W3C trace-context document:
<     https://www.w3.org/TR/2021/REC-trace-context-1-20211123
<
<     Copyright (c) 2024 IETF Trust and the persons identified as
<     authors of the code.  All rights reserved.
<
<     Redistribution and use in source and binary forms, with or
<     without modification, is permitted pursuant to, and subject to
<     the license terms contained in, the Revised BSD License set
<     forth in Section 4.c of the IETF Trust's Legal Provisions
<     Relating to IETF Documents
<     (https://trustee.ietf.org/license-info)
<
<     This version of this YANG module is part of RFC XXXX
<
<     (https://www.rfc-editor.org/info/rfcXXXX) see the RFC itself
<     for full legal notices
<
<     The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
<     NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
<     'MAY', and 'OPTIONAL' in this document are to be interpreted as
<     described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
<     they appear in all capitals, as shown here.
---
>      client and servers needs to share some specific contextual
>      information. This NETCONF extensions aligns the NETCONF
>      protocol to the W3C trace-context document:
>      https://www.w3.org/TR/2021/REC-trace-context-1-20211123
>
>      Copyright (c) 2024 IETF Trust and the persons identified as
>      authors of the code.  All rights reserved.
>
>      Redistribution and use in source and binary forms, with or
>      without modification, is permitted pursuant to, and subject to
>      the license terms contained in, the Revised BSD License set
>      forth in Section 4.c of the IETF Trust's Legal Provisions
>      Relating to IETF Documents
>      (https://trustee.ietf.org/license-info)
>
>      This version of this YANG module is part of RFC XXXX
>
>      (https://www.rfc-editor.org/info/rfcXXXX) see the RFC itself
>      for full legal notices
>
>      The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
>      NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
>      'MAY', and 'OPTIONAL' in this document are to be interpreted as
>      described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
>      they appear in all capitals, as shown here.
55c54,55
<     description "Base identity for otlp attribute errors.";
---
>     description
>       "Base identity for otlp attribute errors.";
60,61c60,62
<     description "Indicates an attribute or header that is required
<       (in the current situation) is missing.";
---
>     description
>       "Indicates an attribute or header that is required
>        (in the current situation) is missing.";
62a64
>
65,66c67,69
<     description "Indicates an attribute or header value where the
<       value is incorrectly formatted.";
---
>     description
>       "Indicates an attribute or header value where the
>        value is incorrectly formatted.";
67a71
>
70,71c74,76
<     description "Indicates that the server encountered a processing
<       error while processing the attribute or header value.";
---
>     description
>       "Indicates that the server encountered a processing
>        error while processing the attribute or header value.";
78c83,84
<     description "Error type";
---
>     description
>       "Error type";
84c90
<          "This error is returned by a NETCONF or RESTCONF server
---
>         "This error is returned by a NETCONF or RESTCONF server
94,98c100,104
<           In NETCONF, the qualified XML attribute name.
<           In RESTCONF, the HTTP header name.
<           If a client sent a NETCONF RPC with the attribute
<           w3ctc:traceparent='incorrect-format'
<           this leaf would have the value 'w3ctc:traceparent'";
---
>            In NETCONF, the qualified XML attribute name.
>            In RESTCONF, the HTTP header name.
>            If a client sent a NETCONF RPC with the attribute
>            w3ctc:traceparent='incorrect-format'
>            this leaf would have the value 'w3ctc:traceparent'";
104,107c110,113
<           by the server.
<           If a client sent a NETCONF RPC with the attribute
<           w3ctc:traceparent='incorrect-format'
<           this leaf would have the value 'incorrect-format'.";
---
>            by the server.
>            If a client sent a NETCONF RPC with the attribute
>            w3ctc:traceparent='incorrect-format'
>            this leaf would have the value 'incorrect-format'.";
113,117c119,123
<           detected by the server.
<           If a client sent an RPC annotated with the attribute
<           w3ctc:traceparent='incorrect-format'
<           this leaf might have the value
<           'ietf-netconf-otlp-context:bad-format'.";
---
>            detected by the server.
>            If a client sent an RPC annotated with the attribute
>            w3ctc:traceparent='incorrect-format'
>            this leaf might have the value
>            'ietf-netconf-otlp-context:bad-format'.";


Nits:

* nc_trace as short title. Suggest using something more descriptive.
  (Also noticed short illegible titles in in
  draft-ietf-netconf-restconf-trace-ctx-headers and
  draft-ietf-netconf-transaction-id.)

* Section 1.2 YANG DataStore.; several more instances of "DataStore"
  -> Suggest using "YANG Datastore", this is what can be found in other
     documents.

* Inconsistency using DataStore, Datastore, and datastore throughout the
  document.
  -> Suggest using Datastore and datastore, since this is usually found
     in other WG documents.

* Section 2.2 "versionning" typo -> versioning

* "complemetary" typo -> complementary

* "faciliate" typo -> facilitate

* "infomration" typo -> information

* Markdown formatting leaking into the text rendering of the document:
  _traceparent_, _tracestate_, _w3ctc:traceparent_, _w3ctc:tracestate_,
  _nc:rpc_, _nc:rpc-reply_, _notif:notification_, _yp:push-update_, and
  _yp:push-change-update_.

* "additonal" typo -> additional

Additionally idnits reports a few warnings and comments. However,
some of them seem to be false positives.

  Checking nits according to https://www.ietf.org/id-info/checklist :
  ----------------------------------------------------------------------------

  == There are 1 instance of lines with non-RFC6890-compliant IPv4 addresses
     in the document.  If these are example addresses, they should be changed.

  -- The draft header indicates that this document obsoletes
     draft-netconf-trace-ctx-extension-00, but the abstract doesn't seem to
     mention this, which it should.


  Miscellaneous warnings:
  ----------------------------------------------------------------------------

  == The document seems to lack the recommended RFC 2119 boilerplate, even if
     it appears to use RFC 2119 keywords -- however, there's a paragraph with
     a matching beginning. Boilerplate error?

     (The document does seem to have the reference to RFC 2119 which the
     ID-Checklist requires).
  -- No information found for rfcdraft-netconf-trace-ctx-extension-00 - is
     the name correct?

  -- The document date (8 July 2024) is 87 days in the past.  Is this
     intentional?


  Checking references for intended status: Proposed Standard
  ----------------------------------------------------------------------------

     (See RFCs 3967 and 4897 for information about using normative references
     to lower-maturity documents in RFCs)

  -- Possible downref: Non-RFC (?) normative reference: ref.
     'W3C-Trace-Context'

  == Outdated reference: A later version (-06) exists of
     draft-ietf-netconf-transaction-id-05


     Summary: 0 errors (**), 0 flaws (~~), 4 warnings (==), 4 comments (--).


Thanks for your contribution!


--
Per, as a contributor