Re: [yang-doctors] Fwd: Benoit Claise's Block on charter-ietf-cbor-00-04: (with BLOCK and COMMENT)

Kent Watsen <kwatsen@juniper.net> Tue, 20 December 2016 19:05 UTC

Return-Path: <kwatsen@juniper.net>
X-Original-To: yang-doctors@ietfa.amsl.com
Delivered-To: yang-doctors@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 785441295AC for <yang-doctors@ietfa.amsl.com>; Tue, 20 Dec 2016 11:05:58 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level:
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=junipernetworks.onmicrosoft.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 k2eHI3rv8hkC for <yang-doctors@ietfa.amsl.com>; Tue, 20 Dec 2016 11:05:56 -0800 (PST)
Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0111.outbound.protection.outlook.com [104.47.42.111]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 30E6A12959E for <yang-doctors@ietf.org>; Tue, 20 Dec 2016 11:05:55 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=junipernetworks.onmicrosoft.com; s=selector1-juniper-net; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=+vxQgn1ddP+Qc73pabdCsEnpNtLzM4FUBEx0ZIi3zQs=; b=JwiJqKGA1wYop9QC1JqRAk7sZ/De/joOQZ6HH15qAw1VVLAA7RC1HjmuD4rEeGCmhKbeixD4NoKwAmRTM7PzQXFhQDDgf5wqiMkY/ITiLxS7eMA9rfhK/C5R/70jt40v1Usq5BfctLJ9w3eB35GwMbu5GZY9a3nQEeyl9CPco1Q=
Received: from BN3PR0501MB1442.namprd05.prod.outlook.com (10.160.117.151) by BN3PR0501MB1441.namprd05.prod.outlook.com (10.160.117.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.803.5; Tue, 20 Dec 2016 19:05:55 +0000
Received: from BN3PR0501MB1442.namprd05.prod.outlook.com ([10.160.117.151]) by BN3PR0501MB1442.namprd05.prod.outlook.com ([10.160.117.151]) with mapi id 15.01.0803.010; Tue, 20 Dec 2016 19:05:54 +0000
From: Kent Watsen <kwatsen@juniper.net>
To: Andy Bierman <andy@yumaworks.com>, Benoit Claise <bclaise@cisco.com>
Thread-Topic: [yang-doctors] Fwd: Benoit Claise's Block on charter-ietf-cbor-00-04: (with BLOCK and COMMENT)
Thread-Index: AQHSWfcnzkTEbu9HXE+yqpQhJReBIqEPhnaAgAFZ9YA=
Date: Tue, 20 Dec 2016 19:05:54 +0000
Message-ID: <4841087D-DD10-4613-B227-3481F0A618EB@juniper.net>
References: <148215173321.19483.4829837986369811135.idtracker@ietfa.amsl.com> <0c8b0b32-8f99-eaf9-4d88-69e0a2dc90bc@cisco.com> <CABCOCHT2vt0o5Z-TCFG1a9=TbYEt4SEZowvANb74s_Z8xQYKNQ@mail.gmail.com>
In-Reply-To: <CABCOCHT2vt0o5Z-TCFG1a9=TbYEt4SEZowvANb74s_Z8xQYKNQ@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/f.1d.0.161209
authentication-results: spf=none (sender IP is ) smtp.mailfrom=kwatsen@juniper.net;
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [66.129.241.11]
x-ms-office365-filtering-correlation-id: 3e0d4d16-4628-42e6-45d5-08d4290b394e
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BN3PR0501MB1441;
x-microsoft-exchange-diagnostics: 1; BN3PR0501MB1441; 7:2cgD3Ohdn5IX9VQF3WsMY7P3rHZcDZ93PFZFRnznuZPpJZ51uFETqSnRyiC797mbH3ybX9IfDxTE6VfwNCF79huZr/aAFB4fgLvndC6hseYKkTuGrTrwRxUSxI9RbtjLUXNeYNLFb5URek/N/2yvhDQrOXd0g17oEj57Vmcft+ip8MDDfLFPEC1YLPGi0O2w1/c1BC111EdNpyGT/bXKgmnbFwlLmL8RVZKC2JkgK8C9SqqqWFurstIE462FySVFG06QLIk4qrZsEyOUhBSVYj6wndQtIYXsGnCvyQMTJ2H7bCWhJmasgr1arOc0ISayR/M2b8mTgzGsVTFt1JLK0hPqbG1BiRjkF9m7r1aSnCHhWCrlQc9X1ub8R7qeE+opV3ZScA7AMLklzP3+G/AiKhk+qBMY7w936cZD02DAdIgutuySblUnWLS/zQRReIkles86pY+/1cRI0/ZQMdo22w==
x-microsoft-antispam-prvs: <BN3PR0501MB1441CE904714CC63587BA57DA5900@BN3PR0501MB1441.namprd05.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(158342451672863)(72170088055959)(120809045254105)(95692535739014)(21748063052155);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6055026)(6041248)(20161123560025)(20161123564025)(20161123562025)(20161123555025)(6072148); SRVR:BN3PR0501MB1441; BCL:0; PCL:0; RULEID:; SRVR:BN3PR0501MB1441;
x-forefront-prvs: 0162ACCC24
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(7916002)(39450400003)(39850400002)(39410400002)(39840400002)(39860400002)(199003)(57704003)(189002)(76104003)(54094003)(24454002)(377454003)(86362001)(92566002)(229853002)(230783001)(68736007)(38730400001)(7906003)(82746002)(2900100001)(6116002)(3846002)(102836003)(2950100002)(5660300001)(189998001)(25786008)(7736002)(6486002)(77096006)(3280700002)(83506001)(3660700001)(606005)(6436002)(83716003)(6512006)(6506006)(8676002)(81156014)(101416001)(50986999)(33656002)(8936002)(5001770100001)(36756003)(4001350100001)(97736004)(76176999)(561944003)(54356999)(106356001)(105586002)(122556002)(106116001)(99286002)(4326007)(2906002)(81166006)(66066001)(104396002); DIR:OUT; SFP:1102; SCL:1; SRVR:BN3PR0501MB1441; H:BN3PR0501MB1442.namprd05.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en;
received-spf: None (protection.outlook.com: juniper.net does not designate permitted sender hosts)
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_4841087DDD104613B2273481F0A618EBjunipernet_"
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Dec 2016 19:05:54.6750 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0501MB1441
Archived-At: <https://mailarchive.ietf.org/arch/msg/yang-doctors/36HoJNaKfWckd623ow6UFn6fCLs>
Cc: YANG Doctors <yang-doctors@ietf.org>
Subject: Re: [yang-doctors] Fwd: Benoit Claise's Block on charter-ietf-cbor-00-04: (with BLOCK and COMMENT)
X-BeenThere: yang-doctors@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: email list of the yang-doctors directorate <yang-doctors.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/yang-doctors>, <mailto:yang-doctors-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/yang-doctors/>
List-Post: <mailto:yang-doctors@ietf.org>
List-Help: <mailto:yang-doctors-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/yang-doctors>, <mailto:yang-doctors-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Dec 2016 19:05:58 -0000

This is the issue I raised during the NETCONF session in Seoul.  Both the zerotouch and the voucher drafts are currently using a YANG module to define a data structure, which they claim is encoded the same as if returned by a RESTCONF server using a GET request with a URL to the specific resource.

I still need to formally raise this as an issue blocking these drafts, but assuming we are able to resolve this YANG mapping issue, and there already exists a CBOR encoding, then I wonder if this would be sufficient and negate the need to define CDDL.

Kent


From: yang-doctors <yang-doctors-bounces@ietf.org> on behalf of Andy Bierman <andy@yumaworks.com>
Date: Monday, December 19, 2016 at 12:27 PM
To: Benoit Claise <bclaise@cisco.com>
Cc: YANG Doctors <yang-doctors@ietf.org>
Subject: Re: [yang-doctors] Fwd: Benoit Claise's Block on charter-ietf-cbor-00-04: (with BLOCK and COMMENT)

Hi,

We also have a proprietary system for describing protocol messages,
internal data structures, model of XRD for RESTCONF, etc.
Sometimes this is done with plain YANG modules including augment.
If the server does not advertise the module then the client cannot get
fooled by the misuse of YANG.

It would be useful to have a standard way of defining YANG data structures.

The CORE WG is very divided about using YANG.
(Look at SenML for example!)
YANG is too heavyweight for sensors and actuators, and many view IoT
and nothing more than that.

The work that concerns me is SID, which attempts to use a single uint32
to identify every possible schema node in every possible module into
a 1-dimensional numbering space.  It is not an accident that identifiers
in SMIv2 or YANG are based on immutable properties of the language.
It is very risky to base the naming scheme on properties that can change
from release to release. The client and server must agree on the conceptual
managed objects. It can be very hard to detect bugs of this nature.

Read their draft and see what you think:
https://datatracker.ietf.org/doc/draft-ietf-core-sid/




On Mon, Dec 19, 2016 at 4:54 AM, Benoit Claise <bclaise@cisco.com<mailto:bclaise@cisco.com>> wrote:
YANG experts,

I would like to understand your from if I missed anything, if I've been smoking too much, or if you support this statement.

Regards, B.


-------- Forwarded Message --------
Subject:

Benoit Claise's Block on charter-ietf-cbor-00-04: (with BLOCK and COMMENT)

Date:

Mon, 19 Dec 2016 04:48:53 -0800

From:

Benoit Claise <bclaise@cisco.com><mailto:bclaise@cisco.com>

To:

The IESG <iesg@ietf.org><mailto:iesg@ietf.org>

CC:

cbor@ietf.org<mailto:cbor@ietf.org>, cbor-chairs@ietf.org<mailto:cbor-chairs@ietf.org>



Benoit Claise has entered the following ballot position for

charter-ietf-cbor-00-04: Block



When responding, please keep the subject line intact and reply to all

email addresses included in the To and CC lines. (Feel free to cut this

introductory paragraph, however.)







The document, along with other ballot positions, can be found here:

https://datatracker.ietf.org/doc/charter-ietf-cbor/







----------------------------------------------------------------------

BLOCK:

----------------------------------------------------------------------



Sorry for this late BLOCK.

I had a very quick call with Alexey before the last IESG telechat: I want

to understand if I missed anything.

I filed a quick "NO RECORD" COMMENT.

Then, we discussed some more during the telechat itself.

And now, I finally had the time to think some more about this.



My BLOCK is about this charter paragraph:



    Similar to the way ABNF (RFC 5234/7405) can be used to describe the

set of valid messages in a text representation, it would be useful if

protocol specifications could use a description format for the data in

CBOR-encoded messages. The CBOR data definition language (CDDL, based on

draft-greevenbosch-appsawg-cbor-cddl) is a proposal for such a

description technique that has already been used in CORE, ANIMA, CDNI,

and efforts outside the IETF. The CBOR WG will complete the development

of this specification by creating an Informational or Standards Track

RFC.





In OPS, we need automation. And automation will come from data models as,

from data models, we're able to generate APIs.

In the world of data modeling-driven management, we have:

    YANG as a data modeling language, with ABNF specifications

    YANG data modules, written with the YANG data modeling language

    different encodings, such as XML, JSON, or CBOR

(draft-ietf-core-yang-cbor-03)

    protocols such as NETCONF or RESTCONF for

configuration/monitoring/capabilities discovery

    note: working on pub/sub protocol (aka telemetry) for events



See the first picture at

http://www.claise.be/2016/12/yang-opensource-tools-for-data-modeling-driven-management/

Btw, I should add cbor.



Now, in this proposed WG, you want to define a new data modeling

language, "The CBOR data definition language"

When I ask the question: So the structure of what could be accessed on a

managed device?, you answer:



    No. While CDDL could be used to describe the structure of data at

rest (a data store), that is not the objective. CDDL is used to define

the structure of data in flight, e.g. a protocol message going from a

node to a different node. (Using a term popular in semantic

interoperability work in the health care domain, CDDL is about

"structural interoperability” — it can tell you that there is supposed to

be a data item “cheese-firmness” in the message and out of what set of

values it needs to come, but it cannot tell you what the specific values

mean in the real world or what cheese firmness is in the first place on a

semantic level.)





But what about the semantic definition (which is in YANG modules) of this

information? This is key for management.

I guess that the next item you'll want after this milestone is exactly

data models and semantic, right?



There are many schemas for IoT and I'm not trying to impose YANG in the

IoT world but I want to understand why we need duplication.

Note that there was an IAB-organized workshop on IoT data modeling in the

past (https://www.iab.org/activities/workshops/iotsi/)

However, it seems to me that your effort is exactly the reverse of data

modeling driven management? You have an encoding, and then you want a new

schema language



Next, you'll need a mechanism to discover what is available on the

managed devices, a mechanism to know the device capabilities, a mechanism

for pub/sub, ...

And you will redo the full OPS stack, for IoT (hence duplication). And,

obviously, in the end, we will need a mapping between the two data

modeling languages: YANG and CDDL.



What is specific here?  I wanted to write: what's specific to IoT here,

but I don't even see IoT in the charter. There is just a kind of IoT

reference in RFC7049 abstract.

Why do we need this duplication within the IETF?

Why don't draft-ietf-core-yang-cbor and draft-vanderstok-core-comi work?

Those are completely inline with data modeling-driven management and this

charter seems to contradict this effort?

What do I miss?





----------------------------------------------------------------------

COMMENT:

----------------------------------------------------------------------



OLD:



Concise Binary Object Representation (CBOR, RFC 7049) extends the

JavaScript Object Notation (JSON, RFC 7159) data model to include binary

data

and an extensibility model



NEW:

Concise Binary Object Representation (CBOR, RFC 7049) extends the

JavaScript Object Notation (JSON, RFC 7159) data interchange format to

include binary data

and an extensibility model



Note:

- In OPS, we make a clear distinction between the (YANG) data model, and

the encoding (XML, JSON, etc.)

- RFC 7159 mentions "data interchange format" in his abstract

- I see in RFC 7049:

   The format defined here follows some specific design goals that are

   not well met by current formats.  The underlying data model is an

   extended version of the JSON data model [RFC4627].

This is a mistake. Great we will have a new charter to accomplish this

work



- And don't forget the milestones.



Regards, Benoit





.



_______________________________________________
yang-doctors mailing list
yang-doctors@ietf.org<mailto:yang-doctors@ietf.org>
https://www.ietf.org/mailman/listinfo/yang-doctors