[netmod] draft-ietf-netmod-geo-location-01: an optional location info
Jan Kundrát <jan.kundrat@cesnet.cz> Mon, 01 July 2019 17:34 UTC
Return-Path: <jan.kundrat@cesnet.cz>
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 D02FE120164 for <netmod@ietfa.amsl.com>; Mon, 1 Jul 2019 10:34:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.298
X-Spam-Level:
X-Spam-Status: No, score=-4.298 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cesnet.cz
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 hjGcr1LlmMMb for <netmod@ietfa.amsl.com>; Mon, 1 Jul 2019 10:34:17 -0700 (PDT)
Received: from office2.cesnet.cz (office2.cesnet.cz [195.113.144.244]) (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 80F5D120672 for <netmod@ietf.org>; Mon, 1 Jul 2019 10:34:16 -0700 (PDT)
Received: from localhost (unknown [IPv6:2001:718:1:2c:b88f:a570:7aec:4192]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by office2.cesnet.cz (Postfix) with ESMTPSA id 819AD40006A; Mon, 1 Jul 2019 19:34:01 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cesnet.cz; s=office2; t=1562002450; bh=G6LJxix20e9FuBJ72EQp0z40xYFDm/6JDtmmM8QWqO4=; h=From:To:Cc:Subject:Date; b=VqjcmVnoBidpFzZEbKnWNb5jv/mkr44Hd7av85iKmdjd+m7XSBO4uHAXmhTkt4UNB Brl3rRliWasTemjmW53kYRSGAXwV/+dW5coN0OY9thiYxBpl1XxmblJoaBZARqZvkK RggRMgVUs6wOg4Ngtb1SOQOK3ubIpei4hs+MgqPo=
From: Jan Kundrát <jan.kundrat@cesnet.cz>
To: netmod@ietf.org
Date: Mon, 01 Jul 2019 19:34:01 +0200
MIME-Version: 1.0
Message-ID: <8bcdad12-cec1-47b2-b8ad-bb8ab6d6783e@cesnet.cz>
Organization: CESNET
User-Agent: Trojita/v0.7-402-g68ee77c9; Qt/5.13.0; xcb; Linux; Gentoo Base System release 2.4.1
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/zzifkHscHRraJYJZacGYgr6nDp0>
Subject: [netmod] draft-ietf-netmod-geo-location-01: an optional location info
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
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: Mon, 01 Jul 2019 17:34:20 -0000
Hi, I'm augmenting the ietf-network and ietf-network-topology from RFC 8345, trying to add geolocation information to the network nodes. I found your draft (thanks for it!), draft-ietf-netmod-geo-location-01. What I am struggling with is adding the geolocation as an *optional* element. When I try this YANG construct: augment "/nw:networks/nw:network/nw:node" { when "../nw:network-types/my-topo:topology-type"; description "Optical elements within a network"; uses geo:geo-location; } ...then my YANG instance data validator, libyang, complains when the location is missing: err : Mandatory choice "location" missing a case branch. (/ietf-network:networks/network[network-id='...']/node[node-id='...']/my-topo:location/geo-location) I can do the augmentation with one more container (a presence one) like this: augment "/nw:networks/nw:network/nw:node" { when "../nw:network-types/my-topo:topology-type"; description "Optical elements within a network"; container location { presence true; uses geo:geo-location; } } The resulting data then contain an extra level of nesting. I think that this is suboptimal. I have two questions: - Is that perhaps a bug in libyang? - If libyang is correct, is there a way of making the location info optional without that one more level of nesting? Also, the example does not work as-is because it's importing the module using a wrong name. Here's a tiny patch: index 7bd8622c..088621a1 100644 --- a/experimental/ietf-extracted-YANG-modules/ietf-uses-geo-location@2019-02-02.yang +++ b/experimental/ietf-extracted-YANG-modules/ietf-uses-geo-location@2019-02-02.yang @@ -2,7 +2,7 @@ module ietf-uses-geo-location { namespace "urn:ietf:params:xml:ns:yang:ietf-uses-geo-location"; prefix ugeo; - import geo-location { prefix geo; } + import ietf-geo-location { prefix geo; } organization "Empty Org"; contact "Example Author <eauthor@example.com>"; description "Example use of geo-location"; The -00 version was correct in this, BTW. With kind regards, Jan
- [netmod] draft-ietf-netmod-geo-location-01: an op… Jan Kundrát
- Re: [netmod] draft-ietf-netmod-geo-location-01: a… Ladislav Lhotka
- Re: [netmod] draft-ietf-netmod-geo-location-01: a… Jan Kundrát
- Re: [netmod] draft-ietf-netmod-geo-location-01: a… Christian Hopps