Re: [netconf] YANG attributes in a datastore
Andy Bierman <andy@yumaworks.com> Tue, 10 December 2019 16:41 UTC
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9BDF9120043 for <netconf@ietfa.amsl.com>; Tue, 10 Dec 2019 08:41:40 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.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 ZGVeU0GgYrrL for <netconf@ietfa.amsl.com>; Tue, 10 Dec 2019 08:41:38 -0800 (PST)
Received: from mail-lj1-x232.google.com (mail-lj1-x232.google.com [IPv6:2a00:1450:4864:20::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 030A3120024 for <netconf@ietf.org>; Tue, 10 Dec 2019 08:41:38 -0800 (PST)
Received: by mail-lj1-x232.google.com with SMTP id k8so20624793ljh.5 for <netconf@ietf.org>; Tue, 10 Dec 2019 08:41:37 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=SE68sueSwuqN8UNsUVfy1PDs32oZtjdchVHwlotPe0Q=; b=FJacMTcT6MqiJhCNLiz0YEKALcqZzjz6+WHwcOcs6nLuNucJOSi5Vl7TwoNJqh8Sdi K/rRKVOSJdLWBtKnfM88bU6qj8g1M5t+HguXuFeixoR2eCpJD2Yccx0pzFWnOnGaq+tG v5MM0lUFAb0dbyol5g2INUjOEJ3BEASrEDo56A0M5UBo3QIRSvwUdEEsLsQsu8OBSQjJ VFcuclpMW1/v5crzwOAm/TLrGLqZJS07rKlq2YUedcbC+TlaF4azEXLEmK1etscXQILb jwZnyM7jcbwv85DyeHFfKSq3Eg1NWMN8Dcmc4h3u/5mj/uqs0cVsQYIo65nf8ZXOyA/N NfxA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=SE68sueSwuqN8UNsUVfy1PDs32oZtjdchVHwlotPe0Q=; b=JOwWin85sgGxJ72Xngy83326B2sSQrt2kw3HPTMGAxwJUQdo2pBU3XeOQcobAz3dSp dSE4KPj7D08GTDlvdV+n0hoJc1tm26Uh3tVSBMa2sA8ZsbZ2gPa+jRl4tXGHz/IXhXg+ Sj8dsKdGKc7ZScDGZ+ZI5sDH914KTDkIC9lv7GsFe2z/SAEFdpV/rCiiFjoBPuSN39hL EEB8imPu3fguDJaD3wXw7Mo3rVfEzAaThattetHSuDNZU15JK0cM0NfirwzxUj8kJppY v0Fq6LTp1enOhcJnGjmS87nhAJImyhQa0Uh4MnVF+tXaDexKmQ1kstMW+iWbqAwPMfQi qD9Q==
X-Gm-Message-State: APjAAAX+hwcv174qitFNP3vPJ/kopWh54LBT/26+JGMAw6RNO0SpUaec swoOvQaqhRr/w5rZ2ETkZ/81KtuS1FaOxUfyr0ZrwQ==
X-Google-Smtp-Source: APXvYqz0f8ILoszoBG2rNS3az6QAn2YmrYn1Hkz6yLFA/CQFzM438Lgkho5z9wTi4Owym+VJXqrig78GLa8UZwOHCO0=
X-Received: by 2002:a2e:580c:: with SMTP id m12mr21477933ljb.252.1575996096232; Tue, 10 Dec 2019 08:41:36 -0800 (PST)
MIME-Version: 1.0
References: <5cce-5def9a00-11-66c7ce00@101566344> <20191210.150333.2171238725445540389.mbj@tail-f.com> <AM0PR0702MB3665FD1B4EFB1797333EE77DF05B0@AM0PR0702MB3665.eurprd07.prod.outlook.com> <514fe834eaa528c42f6dc31009399a3392b05dfe.camel@nic.cz> <CABCOCHSgZYDOVC7cj=1jaf4_N4pWc0B5vXPDmtm93vw5srrRkQ@mail.gmail.com> <677480c1606c027b43afda383378a5a9320b15dd.camel@nic.cz> <CABCOCHQsxzX3raf8FmbXCcQp3mdfFRrcGhSP5c88cumhdNJDVw@mail.gmail.com> <411dd6ee5c435cee7042d042ec481acd111a7f92.camel@nic.cz>
In-Reply-To: <411dd6ee5c435cee7042d042ec481acd111a7f92.camel@nic.cz>
From: Andy Bierman <andy@yumaworks.com>
Date: Tue, 10 Dec 2019 08:41:24 -0800
Message-ID: <CABCOCHQfXSD8fr70Hcn9Epu+Dcs9_wA+-+7Y+kQqB9k5fKDsOQ@mail.gmail.com>
To: Ladislav Lhotka <lhotka@nic.cz>
Cc: Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000007bd74b05995c2f7a"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/zU8lQW58TKSZYg9KAZR31IZ2-fo>
Subject: Re: [netconf] YANG attributes in a datastore
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETCONF WG list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 10 Dec 2019 16:41:40 -0000
On Tue, Dec 10, 2019 at 8:33 AM Ladislav Lhotka <lhotka@nic.cz> wrote: > On Tue, 2019-12-10 at 08:25 -0800, Andy Bierman wrote: > > > > > > On Tue, Dec 10, 2019 at 7:50 AM Ladislav Lhotka <lhotka@nic.cz> wrote: > > > On Tue, 2019-12-10 at 07:42 -0800, Andy Bierman wrote: > > > > Hi, > > > > > > > > YANG already has the "annotation" statement to define metadata. > > > > YANG has data-def-stmt to define data. It would be very unwise > > > > to use metadata inside a leaf as if it were a leaf inside a > container. > > > > > > A typical example is a "comment" annotation - you want to permit it > > > basically > > > everywhere but don't want to clutter the schema with "comment" leaves. > > > > > > > I understand the difference between annotation-stmt and leaf-stmt. > > If the semantics can apply to all data nodes then annotation is > appropriate. > > We should not change the protocols and YANG to reinvent a leaf-stmt. > > Then I don't understand the point of your previous message. I think we've > been > talking about annotations as per RFC 7952 from the beginning of this thread > (Michal just called it somewhat confusingly "attribute"). > > OK, but there is no way to prevent "annotation zipcode", etc. The use of foo="value" to set and foo="" to delete seems fine, but not sure any new standards are needed for that. Lada > Andy > > > > > When we created YANG 1.0, we explicitly rejected the then-current style > of XML > > > > <address street="123 Elm" city="Anytown" zipcode="100036" /> > > > > We rejected the use of attributes as leafs. We should not change that > decision > > now. > > > > > > > Lada > > > > > > > Andy > > > > > > > > > > > > > > Andy > > > > > > > > > > > > On Tue, Dec 10, 2019 at 7:31 AM Ladislav Lhotka <lhotka@nic.cz> > wrote: > > > > > On Tue, 2019-12-10 at 14:58 +0000, Balázs Lengyel wrote: > > > > > > Hello, > > > > > > If we try to standardize editing metadata, we will face a number > of > > > issues > > > > > > that need to be clarified: > > > > > > > > > > > > - Will you model whether the attribute (metadata) is writable? > Config > > > is > > > > > > not an allowed substatement in > > > > > https://tools.ietf.org/html/rfc7952#section-3 > > > > > > > > > > In my view annotations should never be configuration because they > should > > > not > > > > > influence the device state. The read-only/read-write propertly > might be > > > > > useful. > > > > > > > > > > > - Can a metadata have other additional properties? (mandatory, > > > > > cardinality, > > > > > > uniqueness of some kind?) > > > > > > > > > > By design, annotations do not have a specific place in the schema, > so > > > they > > > > > cannot be mandatory. > > > > > > > > > > Cardinality: if you mean annotations with a list of values, this > was > > > > > discussed > > > > > but rejected due to difficulties with XML encoding. > > > > > > > > > > > - If it is modified, will it be subject to validation, > error-messages? > > > > > Will > > > > > > a bad metadata result in a failed error-config? > > > > > > > > > > I would say yes because otherwise it makes no sense to define them > and > > > their > > > > > properties. > > > > > > > > > > Lada > > > > > > > > > > > > > > > > > Regards Balazs > > > > > > > > > > > > -----Original Message----- > > > > > > From: netconf <netconf-bounces@ietf.org> On Behalf Of Martin > Bjorklund > > > > > > Sent: 2019. december 10., kedd 15:04 > > > > > > To: mvasko@cesnet.cz > > > > > > Cc: netconf@ietf.org > > > > > > Subject: Re: [netconf] YANG attributes in a datastore > > > > > > > > > > > > Hi, > > > > > > > > > > > > Michal Vaško <mvasko@cesnet.cz> wrote: > > > > > > > Hello, > > > > > > > we are thinking about adding support for arbitrary attributes > [1] > > > in > > > > > > > our YANG/NETCONF datastore. To my knowledge, only the > > > representation > > > > > > > in XML or JSON is defined and standardized but there are no > > > guidelines > > > > > > > for editing (CRUD) these attributes. > > > > > > > > > > > > > > So, my question is a rather general one, regarding > implementations > > > > > > > that support editing these attributes, would you mind sharing > some > > > > > > > basic ideas or principles used? Or is this outside any > consensus > > > and > > > > > > > each implementation is free to handle this completely in its > own > > > > > > > fashion? Thanks for any input. > > > > > > > > > > > > I think this depends on the attribute defintion. Some > attributes are > > > > > > read-only from the northbound's protocol point of view. > Internally in > > > the > > > > > > server you may need some API to set/change them of course. Some > other > > > > > > attributes are read-write. > > > > > > > > > > > > In our implementation we support a few read-write attributes > (and some > > > > > > read-only). Here's a simple example (in an edit-config): > > > > > > > > > > > > <foo annotation="hello"/> > > > > > > > > > > > > This would set/change the "annotation" attribute's value to > "hello", > > > > > > regardless of its previous value. > > > > > > > > > > > > To delete an annotation, you would do: > > > > > > > > > > > > <foo annotation=""/> > > > > > > > > > > > > Each of our attributes has a special value that means "delete" > (in > > > most > > > > > > cases it is the empty string. > > > > > > > > > > > > > > > > > > /martin > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > Michal > > > > > > > > > > > > > > [1] https://tools.ietf.org/html/rfc7952 > > > > > > > > > > > > > > _______________________________________________ > > > > > > > netconf mailing list > > > > > > > netconf@ietf.org > > > > > > > https://www.ietf.org/mailman/listinfo/netconf > > > > > > > > > > > > > _______________________________________________ > > > > > > netconf mailing list > > > > > > netconf@ietf.org > > > > > > https://www.ietf.org/mailman/listinfo/netconf > > > > > > _______________________________________________ > > > > > > netconf mailing list > > > > > > netconf@ietf.org > > > > > > https://www.ietf.org/mailman/listinfo/netconf > -- > Ladislav Lhotka > Head, CZ.NIC Labs > PGP Key ID: 0xB8F92B08A9F76C67 > >
- [netconf] YANG attributes in a datastore Michal Vaško
- Re: [netconf] YANG attributes in a datastore Ladislav Lhotka
- Re: [netconf] YANG attributes in a datastore Martin Bjorklund
- Re: [netconf] YANG attributes in a datastore Ladislav Lhotka
- Re: [netconf] YANG attributes in a datastore Martin Bjorklund
- Re: [netconf] YANG attributes in a datastore Balázs Lengyel
- Re: [netconf] YANG attributes in a datastore Ladislav Lhotka
- Re: [netconf] YANG attributes in a datastore Andy Bierman
- Re: [netconf] YANG attributes in a datastore Ladislav Lhotka
- Re: [netconf] YANG attributes in a datastore Kent Watsen
- Re: [netconf] YANG attributes in a datastore Andy Bierman
- Re: [netconf] YANG attributes in a datastore Ladislav Lhotka
- Re: [netconf] YANG attributes in a datastore Andy Bierman
- Re: [netconf] YANG attributes in a datastore Kent Watsen
- Re: [netconf] YANG attributes in a datastore Qin Wu
- Re: [netconf] YANG attributes in a datastore Qin Wu
- Re: [netconf] YANG attributes in a datastore Ladislav Lhotka
- Re: [netconf] YANG attributes in a datastore Martin Bjorklund
- Re: [netconf] YANG attributes in a datastore Kent Watsen
- Re: [netconf] YANG attributes in a datastore Kent Watsen
- Re: [netconf] YANG attributes in a datastore Andy Bierman
- Re: [netconf] YANG attributes in a datastore Andy Bierman