Re: [netconf] YANG attributes in a datastore

Andy Bierman <andy@yumaworks.com> Tue, 10 December 2019 15:42 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 C46AB120168 for <netconf@ietfa.amsl.com>; Tue, 10 Dec 2019 07:42:30 -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 KOoan1SKDE2e for <netconf@ietfa.amsl.com>; Tue, 10 Dec 2019 07:42:27 -0800 (PST)
Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com [IPv6:2a00:1450:4864:20::132]) (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 2CC191200DB for <netconf@ietf.org>; Tue, 10 Dec 2019 07:42:25 -0800 (PST)
Received: by mail-lf1-x132.google.com with SMTP id y1so2779331lfb.6 for <netconf@ietf.org>; Tue, 10 Dec 2019 07:42:25 -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=QYJBCHb9Jll4pOhH8clNFO2aFtdRy2XaT05FvG1m5H0=; b=YP/ykPFmwxpm399bmp+vt9u+mGCg8nQokKw5I3ssnKkB69AzDY5ElcNRIMpR/cFzP7 314Kf13rm21rJBZei+VYr1pzSKWsrsWM+oVAj0ZTBgxjmWKb0CXDQHfKNUHvhPIzzF52 K7cFWvMGobxJ9u9Z4LKVy+hNxpS+Tmy1W3P+yrJ0vk9HzaAJ3KVcLawMh2mGB5gL9z23 XROn0cPs2CHH/vNa7uMnkSotc6anXnzCEQ6PTCBEEabEpw6wWgCfKKVPE2MonoiFDYR3 CiPYC2VHQdG98KApYggO1H5GtSzqXwTnveW+JAopoqy5iH+U7VNbaAwtyPbAmKCutE89 mmqg==
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=QYJBCHb9Jll4pOhH8clNFO2aFtdRy2XaT05FvG1m5H0=; b=OnpFQ8UoZhZLQoNqGKeCT4ZrvyHRvfnNq2r6yTwQpwlpeN7gj4Aj8bptH2x++ez+j+ 7Z4HkzWTxqDxFuBqUNB5JE3HO3XrHv093JUFSR5NE3PEiOtm5hkkCbAyBPCNb8Jojxki JRF4L5bPRJHOrA4QkzPy47QCfUC4tAhnEI/1YQHyztslnoMJk2goRtSRPpCIWvWpqhK2 PNKSU+OIk5JlmvVKNGWo6MFF0xG0zo4bIDAY2RHMRJoqziJipENE2hSCAzVkBQZP73mg WfIli0SU2I1BUFJQxzzKUDnyQwGoL7Fr50nM3iNvCfIn+ILDh3BvgqJFH3WNyYjTwFAJ oswg==
X-Gm-Message-State: APjAAAWXeJWOBZFtKUROWnlzLPxe2T1cls43MT1ZS9paBUY+Ui4xRDn1 juzhzoPIwmWnlfdBlHdBDcIepXpD+hDmXrXo/e3RO8a7
X-Google-Smtp-Source: APXvYqyMfXlFshS6m1gi7H+rKkQFzm/JETPpaBRz9op5XwiIKOEL+Z8B38WFfHt6HNcYzsLxKZeP/QSt+X4+JkPDdOo=
X-Received: by 2002:a19:4b55:: with SMTP id y82mr18746969lfa.171.1575992543222; Tue, 10 Dec 2019 07:42:23 -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>
In-Reply-To: <514fe834eaa528c42f6dc31009399a3392b05dfe.camel@nic.cz>
From: Andy Bierman <andy@yumaworks.com>
Date: Tue, 10 Dec 2019 07:42:11 -0800
Message-ID: <CABCOCHSgZYDOVC7cj=1jaf4_N4pWc0B5vXPDmtm93vw5srrRkQ@mail.gmail.com>
To: Ladislav Lhotka <lhotka@nic.cz>
Cc: Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000b5357905995b5b76"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/JHcEwQ2Gsoytx8oUHyuidURi7jM>
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 15:42:31 -0000

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.


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 mailing list
> netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf
>