Re: [netmod] Does the YANG "status" statement inherit from its parent node?

Randy Presuhn <randy_presuhn@alumni.stanford.edu> Thu, 22 December 2016 06:22 UTC

Return-Path: <randy_presuhn@alumni.stanford.edu>
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 D0DCC1294B7 for <netmod@ietfa.amsl.com>; Wed, 21 Dec 2016 22:22:14 -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, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 VmBVoUeiqnx1 for <netmod@ietfa.amsl.com>; Wed, 21 Dec 2016 22:22:13 -0800 (PST)
Received: from mail-pf0-f171.google.com (mail-pf0-f171.google.com [209.85.192.171]) (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 97F461294BE for <netmod@ietf.org>; Wed, 21 Dec 2016 22:22:13 -0800 (PST)
Received: by mail-pf0-f171.google.com with SMTP id d2so38357765pfd.0 for <netmod@ietf.org>; Wed, 21 Dec 2016 22:22:13 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=8bGHi27Uk5krgJxHhsOrFd0eomJw+mfILQhlqHkMbAA=; b=WLZFjBsm/5z3+20OnE2Iw7MuWgOyKx1W/t6kY/V0XVd7HNqUFl13L+9J295XrWLxUg OTQBy2etcngFsJ3XrbJ8QZcYhhTRIVwbcyyEqvQJfhn8nve4Z1FR5uHlAi8gCXyr0v8h rVz3i5xkiEs+4tVLwopFgabKu+KwJa6yRTv8XfET9WrnYj/IvFtQ74XubjKtq8N/ez8z bzcI/jHvTeNyW0z4Y1Tu44INzirYVkL+FNuyW+aD0qb6vAcwI1D3RV7J0fOHOQ3tCE2I Be15Uy0A0hPfdLRpCRz35PHCK9OagFUNXqD6S5ysmxRJxtLkEYanFJd0wSRo3BMy9/40 BOWA==
X-Gm-Message-State: AIkVDXI4yMuFNqkG6DR6SavsruExgz7Zc+M7Df2At+DoxI2gB994Yy1JrXPR6BTvCZ89mynq
X-Received: by 10.98.68.84 with SMTP id r81mr7471633pfa.174.1482387732783; Wed, 21 Dec 2016 22:22:12 -0800 (PST)
Received: from [192.168.1.114] (c-50-168-48-150.hsd1.ca.comcast.net. [50.168.48.150]) by smtp.gmail.com with ESMTPSA id s8sm51255749pfj.45.2016.12.21.22.22.11 for <netmod@ietf.org> (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 21 Dec 2016 22:22:12 -0800 (PST)
To: netmod@ietf.org
References: <m2wpety744.fsf@birdie.labs.nic.cz> <20161221.103208.1910010141581780305.mbj@tail-f.com> <CABCOCHQPRbAbeEg=4-oNzXX6nxJhNbow+ebQy+Qv5NOfngeN7w@mail.gmail.com> <20161221.115438.163227970004322277.mbj@tail-f.com> <CABCOCHSW+pCsUjBiKbxq9NKXZo4eAjBvHKtuOS3tNxgqHzuejw@mail.gmail.com> <20161221223038.GB4526@elstar.local> <CABCOCHTvvvsb0pVF94Fs5m7TdARu9D+M0eQaTo-mQgTHjwsi+w@mail.gmail.com> <20161221234135.GA4630@elstar.local> <CABCOCHRPiS9Og72nRtkwc__W_puH1euqU59qd-VrAUzWsiVeBA@mail.gmail.com>
From: Randy Presuhn <randy_presuhn@alumni.stanford.edu>
Message-ID: <75ad1f98-c927-ba4b-ea35-7197c89c0759@alumni.stanford.edu>
Date: Wed, 21 Dec 2016 22:22:11 -0800
User-Agent: Mozilla/5.0 (Windows NT 6.0; rv:45.0) Gecko/20100101 Thunderbird/45.5.1
MIME-Version: 1.0
In-Reply-To: <CABCOCHRPiS9Og72nRtkwc__W_puH1euqU59qd-VrAUzWsiVeBA@mail.gmail.com>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/rVeVHUcjY7yq3fuzbtZGWt9Rd2g>
Subject: Re: [netmod] Does the YANG "status" statement inherit from its parent node?
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.17
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, 22 Dec 2016 06:22:15 -0000

Hi -

On 12/21/2016 3:55 PM, Andy Bierman wrote:
>
>
> On Wed, Dec 21, 2016 at 3:41 PM, Juergen Schoenwaelder
> <j.schoenwaelder@jacobs-university.de
> <mailto:j.schoenwaelder@jacobs-university.de>> wrote:
...
>     Perhaps I am blinded by the way @deprecate or __attribute__
>     ((deprecated)) or [[deprecated]] work in various programming
>     languages. All these annotations do not deprecate my code, they just
>     cause the generation of warnings so that I get aware of the issue and
>     can do my homework.
>
>
> There are no protocols that let you manage orphaned data nodes
> without any parent.  No way to represent it in XML or JSON either.
> No way to specify a RESTCONF target resource that leaves out
> some intermediate data nodes.

Deprecating (or obsoleting) a definition does not orphan data nodes.
Perhaps I'm blinded by the way SNMP works, but it seems to me that
a robust client will need to be able to process data corresponding
to deprecated (or obsolete) definitions.  Likewise, developers
of server-side software may find themselves in situations where
supporting obsolete definitions is a commercial necessity.  Things
certainly played out that way in the SNMP world.  I agree with Juergen
that tool-generated warnings seem to be the correct way to go.

> It seems obvious that the deprecated warning (this node may go away)
> also applies to all descendant nodes.  Once the node is changed from
> deprecated to obsolete, all the descendant nodes are gone as well,

No, they're not *gone*.  The *advisability* of implementing them has
changed, but the definitions still exist, and implementer judgement
is still needed.  The change in status only means that a client is
less able to rely on the assumption that those definitions will be
supported by a given system - but there's very little that it can
rely on being implemented anyway, so it doesn't really change much
for a robust client.

> so ignoring the warning because YANG says the default is current seems
> unwise.

I do agree with this bit of conclusion, but sometimes after looking
at a warning and considering the larger context, ignoring the
warning *is* the right thing to do.

Randy