[alto] draft-ietf-alto-oam-yang review (Part 1)

"Y. Richard Yang" <yry@cs.yale.edu> Mon, 22 May 2023 02:23 UTC

Return-Path: <yang.r.yang@gmail.com>
X-Original-To: alto@ietfa.amsl.com
Delivered-To: alto@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B25ADC1782B1 for <alto@ietfa.amsl.com>; Sun, 21 May 2023 19:23:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.552
X-Spam-Level:
X-Spam-Status: No, score=-1.552 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.096, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.25, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-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 w3zGtXwkeDmX for <alto@ietfa.amsl.com>; Sun, 21 May 2023 19:23:34 -0700 (PDT)
Received: from mail-vk1-f178.google.com (mail-vk1-f178.google.com [209.85.221.178]) (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 EC1D1C1782B0 for <alto@ietf.org>; Sun, 21 May 2023 19:23:34 -0700 (PDT)
Received: by mail-vk1-f178.google.com with SMTP id 71dfb90a1353d-457080dc902so726665e0c.2 for <alto@ietf.org>; Sun, 21 May 2023 19:23:34 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684722213; x=1687314213; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=BjNHDTFF2nDL7F+3YI/jwtgEG5M16ZhV6AS4Sua2B5E=; b=GmmRf9Bifv992U75hrywmIl5S+gvEoC69HxSkPgCacEJCK9okSLeqfYZueHYjt7hgR MBnOl6XnBAOz/AOq5x7Nlj+jzesw9EYyoryvFyn8z8gG0fKYlHd9SKHmtWccw5ITeDs0 BAAAoz4ir0VcVrhWHUou5sK8Ek3fKEO+59UtR6s89TUVrMzYskTbLCTiFM7ASvjLvkoX NubrsXbhyqcoTfLC41CC+n0DjEmUAgg80iP5EiQY/nfegXbXatatTolhQZETpaA7yI4X hibS2E4Tga8zvPzLhM7QKQKnVIp/F3xOJ7vHzIqzgGEaAsB31Nptq0+n0FKbTUv/v0LB aw4Q==
X-Gm-Message-State: AC+VfDzjYCQbV4o4KYqqbaE8cnBN2fyewgXvJHsVhEs6gEcu2NxjYih3 vkuoq4N4kzpFfGWJ10B1puo3EwNE2rpaVgM747PaMukOoK0=
X-Google-Smtp-Source: ACHHUZ5Vao5PG9iyppDSzkL2/5eesZdVng8Nc48rNHNfEh89YIs9wgytFjCHlgnVSbbR6VsCeTpyd0wDfco2kwLstHk=
X-Received: by 2002:a1f:5c4d:0:b0:456:d210:68e2 with SMTP id q74-20020a1f5c4d000000b00456d21068e2mr2915452vkb.10.1684722213451; Sun, 21 May 2023 19:23:33 -0700 (PDT)
MIME-Version: 1.0
From: "Y. Richard Yang" <yry@cs.yale.edu>
Date: Sun, 21 May 2023 22:23:22 -0400
Message-ID: <CANUuoLpW5tPPB6-WjUb21rCKMw4pHQ+KwsetpFWQVVJL+sF0Fw@mail.gmail.com>
To: IETF ALTO <alto@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000013fd2f05fc3ef516"
Archived-At: <https://mailarchive.ietf.org/arch/msg/alto/1cU5N_y0ZxK0r5MWBTNY811PE68>
Subject: [alto] draft-ietf-alto-oam-yang review (Part 1)
X-BeenThere: alto@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Application-Layer Traffic Optimization \(alto\) WG mailing list" <alto.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/alto>, <mailto:alto-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/alto/>
List-Post: <mailto:alto@ietf.org>
List-Help: <mailto:alto-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/alto>, <mailto:alto-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 22 May 2023 02:23:35 -0000

Hi Jensen, all,

Thank you for authoring the OAM document. It clearly is a massive effort on
an important task that helps with ALTO development. In the first part of
this review, I will focus on early text and structure. I will review the
yang model details soon.

High-level structure: My understanding of the model structure is that it
consists of (Figure 2)
- a set of alto clients
- an alto server

It helps, to me, that Figure 2 gives all of the top-level structures; that
is, it lists the complete first-level structures under alto-server, instead
of using ...

In particular, the structure appears to be a bit interleaved. For example,

- It looks that the access control is somehow flattened into the top
alto-server container (Figure 2): auth-client and role
Should they belong to a sub structure that defines access control? Such a
contained structure may allow easier replacement/plug and play?

Similar to access control, sever level op also appears to be
flattened (Figure 4). For example, why is cost-type in the top level?

In general, what is the principle to define the current container
structure? It helps to clarify.

==== Some details ====
Abs/Intro: I appreciate that the document follows RFC6291 when using the
terms, Operations, Administration, Maintenance, Management, OAM, and O&M.
But these terms are defined for the context of managing a network, not a
service such as ALTO. It helps to clarify/motivate why this document can
follow RFC6291. It looks like this document uses only O&M and if so, it
helps to make clear that this is the case.

Abs: “The operator can use these data models to set up an ALTO server, ..”
=> “The operator of an ALTO server can use these data models to set up the
ALTO server, “ More generally, it helps to give an order of the workflow.
For example, the words “set up” and “create” appear to be redundant. Also,
the abstract mentions sever but the document also has client.

Intro: “This document defines a YANG data model”, but the title and abs say
models. The rest of the 1st paragraph uses one model. It helps to be
consistent in saying models or model. You may search the document and find
model vs models and be consistent (e.g., first para of 4.2). It might be
that a model consists of multiple modules.

Intro: “implementation-agnostic“. It helps to make clear the list in
Section 4.1 early.

Intro: “... the design will also be extensible for future standard
extensions.” This is a hard-to-defend statement because an extension could
be a major change. How about not making this statement?

Overall suggestion: reorganize paragraphs 2,3,4.

Sec. 3.1 “names of data nodes and other data model objects
   are often used without a prefix, as long as it is clear from the
   context in which YANG module each name is defined.  Otherwise, names
   are prefixed using the standard prefix associated with the
   corresponding YANG module”
=> // use singular
“the complete name of a data node or data model object
 includes a prefix, which indicates the YANG module in which the name is
defined.
 We omit the prefix when the YANG module is clear from the
   context;  otherwise, we include the prefix.
   The prefixes indicating the corresponding YANG modules are shown in
Table 1”

Sec. 3.2 3.3: Does Table 1 miss a few prefixes, for example, ncc?

Sec. 4.1: “Functionality/capability configuration of ALTO services.” =>
“Configuring functionality/capability of ALTO services.” to be consistent
with the other items

Sec 4.4: “Figure 1 shows a reference architecture for the ALTO server
 implementation.” => Figure 1 shows a reference architecture for an ALTO
server implementation.” ?

Sec. 5.1: Thanks for providing a reference architecture. Two quick
comments. (1) It helps to say a few words about what a client is and hence
one may get a sense of the client id it. Is it a running instance or a
template?  (2) An immediate reaction is that a “data source” can be another
alto client, for multi-domain integration.

Sec. 5.3 “The ALTO server instance contains a set of data nodes
server-level operation and management for ALTO that are shown in Figure 4.”
Fragmented sentence?

Sec. 5.3.2 shonw
Sec. 5: ird -> IRD in text because it is an acronym?