Re: [netmod] [Anima] mcr's YANG question raised during the ANIMA WG session

"Fries, Steffen" <steffen.fries@siemens.com> Thu, 04 August 2022 13:33 UTC

Return-Path: <steffen.fries@siemens.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 388DBC13C537; Thu, 4 Aug 2022 06:33:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.106
X-Spam-Level:
X-Spam-Status: No, score=-2.106 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=siemens.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 1l_n9KEDEhzy; Thu, 4 Aug 2022 06:33:51 -0700 (PDT)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80089.outbound.protection.outlook.com [40.107.8.89]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1A1F2C16ECA3; Thu, 4 Aug 2022 06:33:23 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LOZrQTFQfxkGghFv9Ian8NqUUsE/Wp67OmqNTQ+jMw1A9mXal2BSAwlEb0m0wYO4fIQQ3YKoFav9+NEopmUmhPQrfq4haDYjQ51+gB5u2V70/FJxe/OheLBMQNmaz5zsJUhqhKS1nBrKaE0dh8crtj1860iDKhFCOUXg0nMSzdN3/Ezab7SR90rFLgosdAAj0GGF2KFv2VEJJsVahq+74lmMsMNvM2yNdGALFa8XfVCQ1whSH30YDoaKsxpccKs6sCl3EXzLHZqKzz/JB7HGpwDOe/LrpKUU4sdQ/Zj5KfSAT0kqSjsQt01jx9SZcHmgz3In/QLKm0ZwvEtzW9uVCw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=EcXPrevKNFmaZp6u6JScMIc5nO72PZpAYFs+gmoo0sU=; b=MhnWRKYZRbKa7FwkrLdNVdbZLRT1KkZyi1RWYAumW8Uz2Bw+ennE6bW9Q0Ua4LAeCPU4dZJwDBJ226IY0VirYb5x+VpWV+q8MvA9enQ4mMq5Xvt+YgV0e+SZ+hRNr4xjxvxBLIRB8avSrIWJhzMJ21nfE3ZyucQBKiLMQL+UcpshNc8udTFNUmqhLwQQJvyjG/Pr0JEw+3CZm/Ff8PYBZs4fQc2hbEzA7V3r+mUqwWJKehtSwa/HPFO9luq3Zb4uatrWYdTug8CUi4u49qU6EOahulJaIaIMhbx6wqrgVwif64VqWy0NF7u7RXzu/2GUW/1LBrfQ4SdE4xqkKoFIjw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com; dkim=pass header.d=siemens.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siemens.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EcXPrevKNFmaZp6u6JScMIc5nO72PZpAYFs+gmoo0sU=; b=UQCnwkjkRogELW2hQO19wQRnCGZ7EDCfeaQYyCux24uouDItUaBZgg34XrMzbJyy2al7a5iVCOWjvkKqq61GQ53jLoZfzGyoepK+LcEEXnf7XV4xVcS6eGxPLbYmmlB+H8TZP8lgU5xHzbAyKpNBI2/fvwr01MiRTxfueiEXb3VyUubsUFaCNXt81kqHm+EzUEtZdx1kZejmmYS0mdC18xTu0HNvJ9sk1rucGOmRIzFNfRV86vLQ3srK8tla4v53/JjU9v3NdiF5gQay9oZJrAxagiG4tUjKyP2PDlhDPkzK089qTQKFujhOEzoL/Y1aLt8/bgZlJVIni1r26DpEnQ==
Received: from DU0PR10MB5196.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:348::20) by DBAPR10MB4201.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:1c9::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Thu, 4 Aug 2022 13:33:20 +0000
Received: from DU0PR10MB5196.EURPRD10.PROD.OUTLOOK.COM ([fe80::405:762:e31:e99a]) by DU0PR10MB5196.EURPRD10.PROD.OUTLOOK.COM ([fe80::405:762:e31:e99a%4]) with mapi id 15.20.5482.016; Thu, 4 Aug 2022 13:33:20 +0000
From: "Fries, Steffen" <steffen.fries@siemens.com>
To: Jan Lindblad <janl@tail-f.com>, Michael Richardson <mcr+ietf@sandelman.ca>
CC: "Anima@ietf.org" <anima@ietf.org>, "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: [Anima] [netmod] mcr's YANG question raised during the ANIMA WG session
Thread-Index: AQHYqAbCpibgTpMkK0iCnVhgrWI5Pw==
Date: Thu, 04 Aug 2022 13:33:20 +0000
Message-ID: <DU0PR10MB5196E745ED557F3474EE6D5AF39F9@DU0PR10MB5196.EURPRD10.PROD.OUTLOOK.COM>
References: <DU0PR10MB5196F26C92DD2F266A4FAC28F3949@DU0PR10MB5196.EURPRD10.PROD.OUTLOOK.COM> <365823.1658933390@dooku> <DU0PR10MB5196ADB3702B7417B0589555F3979@DU0PR10MB5196.EURPRD10.PROD.OUTLOOK.COM> <446675.1659033968@dooku> <DU0PR10MB51966008D0EA49AC6FCD3FB9F3999@DU0PR10MB5196.EURPRD10.PROD.OUTLOOK.COM> <539974.1659103385@dooku> <YuhrI/iINFJxPOC7@faui48e.informatik.uni-erlangen.de> <32336.1659550668@localhost> <58217DD1-D5C2-4C99-BDF9-5BA5B252AE56@tail-f.com>
In-Reply-To: <58217DD1-D5C2-4C99-BDF9-5BA5B252AE56@tail-f.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels: MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_Enabled=true; MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_SetDate=2022-08-04T13:33:18Z; MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_Method=Standard; MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_Name=restricted; MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_SiteId=38ae3bcd-9579-4fd4-adda-b42e1495d55a; MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_ActionId=508e1470-cee5-4848-8e0a-9f2d30112eac; MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_ContentBits=0
document_confidentiality: Restricted
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=siemens.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 0728fe0a-a9cf-4e68-3e39-08da761de562
x-ms-traffictypediagnostic: DBAPR10MB4201:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 1iVxH3M25LGqusLzoPlCsueJdZEJSRRVwceAbo8uCzzhGD9iBktlTHvsACzXccMIJOQlpfHC6cYmvi1/wSDM/VdZre5hK6iy5tjPeYi98BuZgdMivDs4pyc69NA0cBExSy2T7snSoPEBQLYEDRJiUrRfNBxG8Hay6UvcZ/wtQRRGD0ORRybEgwsO3zVhAmVJxNEwGF1VvyF/hx8pX5aZMrz7dMh5+JMcSTHyHD3JAZ7OLnNRvgXGx2iD5suJp4Ym2PUDxL8YD7/JEl13U9qC9xBpJ5SZJ0mtJLMb6ErnaBxZ631ZopqsRmYv8QUGk+8ZNx4fSWGbaxOO0srov8XnDUrkApfyCS1uAjRdbtQySl88dLgJoX2+EXcSgM/5iz8LMBTM/FJONkw95aW5O+e+aihiS6riNrm6cuT7XlobFe948k+nvmgQuNsAopcjQKsLPDviTJHaWgvW+dgWr+JiGqRbfPe0eFbViKiIsn9YUYXjQ/CuCaagyY4fRG/0TJZFvDh3DI3O2LGJJTyLnQqjy//hDMtOcwX/QSgH8SxjsBd+Rn7HkK0a5VFtfjTlRsHu+5kvhy9Gb8EuAYTvmpggg7wz4RxGg3s9HTk1E0VgmzvQFmy23Ij93WNwM55of6uw+H+HCo5zDUE3xjta7UCnOxjclvE8u2LMwP+SyJFXz/7Dovt4pLYlVwt0hckc2bCy69xNA36o5r7zM5oBZRz2ClGriF5eLPmo/fxuDLqKiInu2M6q05eBrnJdEur9OayBqLbZ6WSp7tdFjvYJG0Y5ajvpy6Hmpo8D9eFGVsaFW/uxbkQeRl2D0F064f54XURg
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DU0PR10MB5196.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230016)(4636009)(376002)(396003)(39860400002)(136003)(346002)(366004)(33656002)(2906002)(478600001)(71200400001)(86362001)(41300700001)(6506007)(7696005)(26005)(9686003)(53546011)(122000001)(38100700002)(82960400001)(186003)(38070700005)(55016003)(83380400001)(9326002)(64756008)(110136005)(76116006)(8936002)(54906003)(52536014)(5660300002)(66946007)(316002)(8676002)(4326008)(66446008)(66556008)(66476007); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: hPRIP6z1v4pvG4l8QXbRgBGYu6cQZ9KSiTUxoQ+dnW+cDXX1+66mjDKTGTpzBGDC0Sdmpbfz5B8gRkEYeyagpXTt5tfj12YNwMcUCIxjgzW9Tp1J7NncJyo33fVrYKUFyf9r5zqCIDjPS9SNZrQzjbk5MLxLOkv1bXUohZ3HPtKIueCaNGopZZq2//eOJaRe6CteQG9hO/dJNX+5xRM3uvEAxfnC23FWIwCeK5DAr+4Nuv3ZjqCZTjszD0rNPMs52n9zRIeGaEQeHtT4+tb9cfPplc8JrdwV3BgpiGiP2RJ1VFfpURwMnToI0xaNf5tdGuJdeblEcUwOl3R4RV/fyIMyvOjs55gZc7dCtwUKiSpALFM0VrdnMJjKjeDICsd/B7xaK1yWnDKDI+Y+iVfTadx1dsFCsFUUStcJlaYmM+q5FANxJiX3j020fpsHzMvty8nQVQUyccSUiaL0x47vbwUX4czXeY88STTaV68oysT8g0wPjOxlK0znV2JjBUPRI18o/3/mnUITBILrp85nH9r8k3l/tuk3GVKnDs2Idy6fFAAPxPY97ONMgLf4d6xXzaDb3dPTCghNKih2CMpXdLX+iWlqehQHIywNVW4VROSbySZs06ET8MK2uXevLRbssI0lqV3eu4bmjlVAAL7JtISNJJI2lWY97nzKiVwXRcgB59h0Xg9GdYD4oULfa7ojyNMNSAuo+RGtHbx0ALscXBfPXp68R72xGAv7bXPHs1+Lhr4IXr5zRsXdKO7pEWMEnDOSqc++9okRXzLAG9fh4pU4h0Z6UvRtyiAF5qYeH6qEAYmLZp5jzOO3eMRec9za8opBbx2gYG9NEiBKDaMvXUh0+CWGTET1HdO5t9hSvgmfUHjcDpnPsvsrbgqfqstBPHLPB5SlT+jUb+uJQXYsfVGZTl3RexgAF0bYoixwrb2HZlblGMktK6MVqf8mitsUl7k3oVBC+K8UelYJkfLVyS2jGR+rFDYVfBVL0xkBEODaSebhM8L+j27XFNpRcrF4m1Xqn9yu3Enk/eNIZ2YK+nAn6RAluvebNwP7E/QgoMqj97mrqzVuElqrwQSNLn4rfTlsXUdqx6cKX1Dhw6j1xQUa6eyXe9IwbxYAt/gVZ7UrocPpydJVqZVPbuIddHqx+yBA6Pb/NRJKg3VzHdZ67SlqyIW+PVLmsic1dbgy5twmJ1ZXY+I2Y5+JIPstVSIX1TiLB3i3VVHGToARZtlGmQAVvwdhW8wD1na7Wd30f4HFBhsr5v/BmnkpahleqMxIV8WHPtreJP1ZuH7DVIhn+XCpoSE9gYZ9Ftc1KKPs6x96qR8ZBmJyNcA6dLo67uzCkb7jjkm/ytwPFgJW3siSJZ5IOuo86Mba2W/0i5pTyljrZuGuKYXya15JRZcE2n9x9Bsa66FkGwdEsDcLvZZzQG495WCgJzhR0izKGxeOGKvLuEBCiAgBmz9IYjfmRso1wQf7BKonMiwyLtwIujwF3lcrlQu2IsuYMfEeKhVGg33fdggyVZy4Y7Gkl4ht39AuXC7Vjqfl8NgRnTuKjUSIvYWwApW9VsF8EHQdGVzKaG+cngvrEeDHOXTzl3qf74IghT+TzII3vBM6l/TuqMCMcA==
Content-Type: multipart/alternative; boundary="_000_DU0PR10MB5196E745ED557F3474EE6D5AF39F9DU0PR10MB5196EURP_"
MIME-Version: 1.0
X-OriginatorOrg: siemens.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DU0PR10MB5196.EURPRD10.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 0728fe0a-a9cf-4e68-3e39-08da761de562
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Aug 2022 13:33:20.0740 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: I/BsyX5ndxBg99vGa8ruo87eCWPOcqgyGFOTz7T0OCMnPRljnHlTaV/8z0nAGnZ/0ikX3EvtWKLhIjGlhbEoCP9HV0hPjZgE7ca/7pEJJZ4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR10MB4201
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/MzTTzEd4kQAX5JqdJ6VWY6HRk1E>
Subject: Re: [netmod] [Anima] mcr's YANG question raised during the ANIMA WG session
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, 04 Aug 2022 13:33:55 -0000

Hi Jan,

Thank you for the test.


From: Anima <anima-bounces@ietf.org> On Behalf Of Jan Lindblad
Sent: Donnerstag, 4. August 2022 12:23
To: Michael Richardson <mcr+ietf@sandelman.ca>
Cc: Anima@ietf.org; netmod@ietf.org
Subject: Re: [Anima] [netmod] mcr's YANG question raised during the ANIMA WG session

Michael,

I had a look at your test example. The example is invalid, but pyang fails to detect the error and overwrites some internal structures, with the result below. The root cause of the problem is this:

module ietf-voucher-D {
...
  uses b:voucher-request-prm-grouping {
    augment "voucher" { }
  }

  uses c:voucher-request-constrained-grouping {
    augment "voucher" { }
  }
}
Each one of the two uses statement brings in a "container voucher" (with partly different content) at this point in the schema. That is an attempt at a duplicate definition of voucher, which is an error. Pyang misses this, and overwrites one voucher object with the next, losing some of the content.

By placing the two uses statements into separate containers, pyang is able to successfully make a tree:

module: ietf-voucher-D
  +--rw x1
  |  +--rw voucher
  |     +--rw created-on?                                yang:date-and-time
  |     +--rw expires-on?                                yang:date-and-time
  |     +--rw assertion?                                 enumeration
  |     +--rw serial-number                              string
  |     +--rw idevid-issuer?                             binary
  |     +--rw pinned-domain-cert?                        binary
  |     +--rw domain-cert-revocation-checks?             boolean
  |     +--rw nonce?                                     binary
  |     +--rw last-renewal-date?                         yang:date-and-time
  |     +--rw prior-signed-voucher-request?              binary
  |     +--rw proximity-registrar-cert?                  binary
  |     +--rw agent-signed-data?                         binary
  |     +--rw agent-provided-proximity-registrar-cert?   binary
  |     +--rw agent-sign-cert*                           binary
  +--rw x2
     +--rw voucher
        +--rw created-on?                        yang:date-and-time
        +--rw expires-on?                        yang:date-and-time
        +--rw assertion                          enumeration
        +--rw serial-number                      string
        +--rw idevid-issuer?                     binary
        +--rw pinned-domain-cert?                binary
        +--rw domain-cert-revocation-checks?     boolean
        +--rw nonce?                             binary
        +--rw last-renewal-date?                 yang:date-and-time
        +--rw proximity-registrar-pubk?          binary
        +--rw proximity-registrar-pubk-sha256?   binary
        +--rw proximity-registrar-cert?          binary
        +--rw prior-signed-voucher-request?      binary

Normally in YANG, it wouldn't be hard to to let modules "B" and "C" augment module "A" independently. But here you are working with groupings in such a way that both "B" and "C" build up a complete grouping with everything in "A". When "D" tries to use both "B" and "C", there is inevitably unwanted duplication. If instead, "B" and "C" just defined their little contributions, "D" could import groupings from "A", "B" and "C" and compose them as desired.

[stf] Just to be sure, you said you would recommend to avoid the "use" statement, which leads to duplication when creating "D". I understand this for the inclusion case.
If we use voucher B stand alone without the "use" statement wouldn't we miss  a part of the voucher? Or would you recommend to move the use out of the grouping?

Regards
Steffen


Best Regards,
/jan