Re: [netmod] [core] WG Last Call on draft-ietf-core-comi-16

Andy Bierman <andy@yumaworks.com> Thu, 07 September 2023 20:28 UTC

Return-Path: <andy@yumaworks.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 522D9C15108F for <netmod@ietfa.amsl.com>; Thu, 7 Sep 2023 13:28:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.106
X-Spam-Level:
X-Spam-Status: No, score=-7.106 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, 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=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks.com
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 EV4wmEyQNq3O for <netmod@ietfa.amsl.com>; Thu, 7 Sep 2023 13:28:50 -0700 (PDT)
Received: from mail-lf1-x129.google.com (mail-lf1-x129.google.com [IPv6:2a00:1450:4864:20::129]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 200D8C1516F2 for <netmod@ietf.org>; Thu, 7 Sep 2023 13:28:50 -0700 (PDT)
Received: by mail-lf1-x129.google.com with SMTP id 2adb3069b0e04-502153ae36cso2195297e87.3 for <netmod@ietf.org>; Thu, 07 Sep 2023 13:28:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks.com; s=google; t=1694118528; x=1694723328; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=b3xhNZWkVl4Uc9mPTESzSC6gKUiJOkgXrmO+Lu1dSFY=; b=HkAPAg3k4Hfn7UJGVSuHA2ZzGLFJb9CeAVCkG2A7+YGG4+zVNEi6Pzot+r/Vu16pbO y0+uFe+tNE3hLqFsjZHCasNtBpvjgBTjKsqrWvZXsQJpxvXPF+jJMKeTHYjXRRye3AgW HLeI4rZs1V7daYjY4hTpZLapIVo2J2a0Oh0THyUC3GdKqbzCxLEC86Qq66tIEs3dFpvE QCwmGllCpt2sMdOaSZAFrFXIa1Bh1jDY5OIzSZdtC3l099BmgENZImqcqscyUYgCs66j fqtpKswe7+VwgtjoCv06AXYDU2qDHhvS1aIKqRzcHGw5U4tHxqyQPhVJ2SDIzyum30uD LJqQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694118528; x=1694723328; h=cc: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=b3xhNZWkVl4Uc9mPTESzSC6gKUiJOkgXrmO+Lu1dSFY=; b=UszLu9rGUEzs/aL2QTOdlzIkzd7MAmRSpQzWIGTcvuk7t9hv1KYV4vbD+PYYPoxyQq Qx01azgzEZXob+smZT4t8Gi+mWoFdqXMJrG//+qmOqQ7s1kBgjb1Q2j+qJ761TTRrL42 lnO7FstOclwWRF+MaHhCOgyDOl6rUR7REAIQJjXA0OoIKERQ1hsiNJUJzFqeHvQy3UJm SHObP3fnCpaq+Wzvevs3MRf5pzDigko7kbo3lgvkDl2LhTESVlcAr630VSAAXdNOUEtb ZB8ZZP041BpHnrVjQ+gbAyE6uOk71KgG2+xF5Q25+Mi4TGzp4uZplTLhtGvPUdhbhAoA JmyA==
X-Gm-Message-State: AOJu0Yx6Mud0etwc09BClm8YCF/iDYsMemJNvpzb2Sp+RgUsEo+DZi7v qi4MUshpPLh/uWcNfotKIDiBrKuYnhaPkNmmifFe9w==
X-Google-Smtp-Source: AGHT+IFZhxo/lIr2TMOeiKMDfdM/7S4Tpy3zvLp15qk3LLJGPfRASFy9DjKJrDMbMoBSfYHx386wa5YEMHBs/l7vfak=
X-Received: by 2002:a05:6512:3d1:b0:500:9d4a:89f8 with SMTP id w17-20020a05651203d100b005009d4a89f8mr365759lfp.28.1694118527070; Thu, 07 Sep 2023 13:28:47 -0700 (PDT)
MIME-Version: 1.0
References: <6013e746-3951-3d3b-3924-72423cfbc393@ri.se>
In-Reply-To: <6013e746-3951-3d3b-3924-72423cfbc393@ri.se>
From: Andy Bierman <andy@yumaworks.com>
Date: Thu, 07 Sep 2023 13:28:36 -0700
Message-ID: <CABCOCHQAEizEYBkkoRQCyYVwdU2weKkMyam8W1aFh1DXKHhKmw@mail.gmail.com>
To: Marco Tiloca <marco.tiloca=40ri.se@dmarc.ietf.org>
Cc: "core@ietf.org" <core@ietf.org>, netmod@ietf.org
Content-Type: multipart/alternative; boundary="0000000000000389a40604cab5bb"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/V2R1PnDXI2TQ-jUBB5yxBIplMbg>
Subject: Re: [netmod] [core] WG Last Call on draft-ietf-core-comi-16
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 07 Sep 2023 20:28:54 -0000

Hi,

I have some minor comments about this draft.
I did not find any major issues.  It is almost ready for publication.


Andy


# comments on draft-ietf-core-comi-16

## sec 2.3

Examples of each media type would be helpful here

## sec 2.4

It is not clear how any interoperability would be possible
if the server used some other datastore design.
Para 2 should be removed or there should be a complete
specification how NMDA datastores work in CORECONF.

## sec 3.1.3

    For compactness, indexes of the list instance identifiers
    returned by the FETCH response SHOULD be elided, only the
    SID is provided.

If this encoding is used then the FETCH response will
not conform to the application/yang-instances+cbor-seq
media-type.

It could be more clear that the client is responsible
for remembering the instance information for each
varbind in the request since no key values will be in
the response.

## FETCH design issues

The client must know all of the key values in advance
before being able to use the SID of a data node
in a FETCH request.  It is difficult and expensive
to retrieve the entire datastore contents at once,
just to discover the key values in use for the YANG list
entries within the datastore.

RESTCONF has the 'depth' and 'fields' filter parameters
to address this issue. NETCONF has subtree and XPath filtering.
NETCONF servers can generally support selection of 1 value or all
values, for each key.

Perhaps CORECONF will need the 'depth' filter parameter.

## sec 3.2.3

It is not clear if there are any server requirements
for error handling.  What happens if some (but not all)
of the edit varbinds succeed?  Is the datastore left
in a state such that YANG validation does not pass?
How Are partial edits reported to the client?

Most NETCONF and RESTCONF servers implement an all-or-none
design so that error-option='rollback-on-error' is always done.
Perhaps CORECONF needs a SHOULD apply all-or-none for iPATCH?

## sec 3.5.1

IMO there should be a SID file 'item' list shown for
the examples.  IMO it is confusing that the SID assignments
do not follow the standard algorithm.

Since the 'input' or 'output' SID is actually used in
protocol messages, the delta values for the child nodes
are not optimal unless the correct path strings are sorted.

There is a cur-and-paste error:

OLD:

     This example invokes the 'reboot' RPC (SID 61000), of the
     server instance with name equal to "myserver".

NEW:

     This example invokes the 'reboot' RPC (SID 61000).

## sec 3.5.1

    REQ:  POST </c>
          (Content-Format: application/yang-instances+cbor-seq)

    { 61000:
      {
        1 : 77
      }
    }
    RES:  2.04 Changed
          (Content-Format: application/yang-instances+cbor-seq)

    { 61000:
      null
    }

I am not sure 2.04 Changed the the correct status to match '200 OK'

The example RPC does not define any 'output' section
so the response should not have any payload at all.
RESTCONF uses the 'input' and 'output' nodes in the
payloads. CORECONF is using the RPC method node instead.


## sec 3.5.2


IMO the extra layer in the encoding for '0' is wrong.
It should match the format used for RPC.

It should be clear that if an RPC or action does not
have any input parameters (either direct or augments),
then the payload will not have any input parameters.

Is this the correct encoding (should have examples in the draft)

RPC:

    { 61000:
      null
    }

ACTION:

    { [60002, "myserver"]:
      null
    }

It should be clear that order of YANG list and leaf-list data nodes
are significant if they have the ordered-by 'user' property.
Note that this applies only to the entries within a parameter.
The RPC or action input/output child nodes do not need to
be supplied in order. The text in RFC 7950 (e.g. 7.14.4)
applies only to NETCONF.

## Appendix A and B

There should be a sentence declaring each appendix to
be normative, or move to a numbered section instead.



On Mon, Sep 4, 2023 at 1:24 PM Marco Tiloca <marco.tiloca=
40ri.se@dmarc.ietf.org> wrote:

> Dear all,
>
> This email starts a Working Group Last Call for the document:
>
> https://datatracker.ietf.org/doc/html/draft-ietf-core-comi-16
>
> (CoAP Management Interface (CORECONF))
>
>
> The document status can be found at:
>
> https://datatracker.ietf.org/doc/draft-ietf-core-comi/
>
>
> Please provide your comments and feedback by Friday, 2023-09-15.
>
> This WGLC is also copied to the NETMOD WG mailing list.
>
> Best,
> /Marco
>
> --
> Marco Tiloca
> Ph.D., Senior Researcher
>
> Phone: +46 (0)70 60 46 501
>
> RISE Research Institutes of Sweden AB
> Box 1263
> 164 29 Kista (Sweden)
>
> Division: Digital Systems
> Department: Computer Science
> Unit: Cybersecurity
> https://www.ri.se
>
> _______________________________________________
> core mailing list
> core@ietf.org
> https://www.ietf.org/mailman/listinfo/core
>