Re: [netmod] Mask tag Usage in draft-ietf-netmod-node-tags

Qin Wu <bill.wu@huawei.com> Thu, 25 August 2022 05:14 UTC

Return-Path: <bill.wu@huawei.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 5574AC1524C8 for <netmod@ietfa.amsl.com>; Wed, 24 Aug 2022 22:14:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.908
X-Spam-Level:
X-Spam-Status: No, score=-6.908 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
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 qIyBl0WWnCFm for <netmod@ietfa.amsl.com>; Wed, 24 Aug 2022 22:14:01 -0700 (PDT)
Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 05C77C1522A0 for <netmod@ietf.org>; Wed, 24 Aug 2022 22:14:01 -0700 (PDT)
Received: from fraeml708-chm.china.huawei.com (unknown [172.18.147.207]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4MCrdL6l4Zz67KmH; Thu, 25 Aug 2022 13:10:30 +0800 (CST)
Received: from canpemm500006.china.huawei.com (7.192.105.130) by fraeml708-chm.china.huawei.com (10.206.15.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Thu, 25 Aug 2022 07:13:57 +0200
Received: from canpemm500005.china.huawei.com (7.192.104.229) by canpemm500006.china.huawei.com (7.192.105.130) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Thu, 25 Aug 2022 13:13:55 +0800
Received: from canpemm500005.china.huawei.com ([7.192.104.229]) by canpemm500005.china.huawei.com ([7.192.104.229]) with mapi id 15.01.2375.024; Thu, 25 Aug 2022 13:13:55 +0800
From: Qin Wu <bill.wu@huawei.com>
To: Jürgen Schönwälder <j.schoenwaelder@jacobs-university.de>
CC: NetMod WG <netmod@ietf.org>, Balázs Lengyel <balazs.lengyel@ericsson.com>
Thread-Topic: [netmod] Mask tag Usage in draft-ietf-netmod-node-tags
Thread-Index: Adi4QTAVgozNXBaQRSit0Jr+r0zolQ==
Date: Thu, 25 Aug 2022 05:13:55 +0000
Message-ID: <dc908257bf784a35a978fae69587023a@huawei.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.136.100.16]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/QaBdHGkg1I3LrHfTP_RXfmpzyns>
Subject: Re: [netmod] Mask tag Usage in draft-ietf-netmod-node-tags
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, 25 Aug 2022 05:14:05 -0000

Okay, at least this is what I understand Balazs's comment in IETF 114, maybe I was wrong, I am happy to make no changes if this is not a concern.

-Qin
-----邮件原件-----
发件人: Jürgen Schönwälder [mailto:j.schoenwaelder@jacobs-university.de] 
发送时间: 2022年8月25日 12:45
收件人: Qin Wu <bill.wu@huawei.com>
抄送: NetMod WG <netmod@ietf.org>; Balázs Lengyel <balazs.lengyel@ericsson.com>
主题: Re: [netmod] Mask tag Usage in draft-ietf-netmod-node-tags

Sorry, I can't follow your logic at all. An edit operation to remove something from a datastore is entirely different from applying the semantics of a leaf at runtime. Trying to create dependencies between these two is adding lots of complexity for no gain. Let operators decide whether they prefer to remove tags or mask tags. There may be valid reasons to do one or the other. Lets keep the server implementation clean and simple. Lets not create policies that servers have to enforce for no good reason.

/js

On Thu, Aug 25, 2022 at 03:08:09AM +0000, Qin Wu wrote:
> Hi, Jurgen:
> -----邮件原件-----
> 发件人: Jürgen Schönwälder [mailto:j.schoenwaelder@jacobs-university.de]
> 发送时间: 2022年8月24日 14:00
> 收件人: Qin Wu <bill.wu@huawei.com>
> 抄送: NetMod WG <netmod@ietf.org>; Balázs Lengyel 
> <balazs.lengyel@ericsson.com>
> 主题: Re: [netmod] Mask tag Usage in draft-ietf-netmod-node-tags
> 
> Which problem is solved by adding additional rules and constraints?
> 
> [Qin Wu] The problem is whether mask-tag will overrides edit protocol 
> operation for tag removal or protocol operation overrides mask-tag, Since one rule we followed in draft-ietf-netmod-node-tags, which is similar to RFC8819, is to use 'masked-tag' in the ietf-node-tags to indicate removing tag from <operational>, the tag can be either instance level tag or schema level tag.
> But it seems we could also use standard protocol operation, e.g., edit-data, to remove instance level tag from running and therefore disappear in <operational>.
> In such situation, whether we should forbid using one and allow use the other, whether mask-tag should have higher priority. This was actually issue raised in IETF 114.
> 
> I am a big fan of the separation of mechanism and policy. How someone uses a mechanism to mask tags should be left open to whoever uses this mechanisms. If someone wants to mask a user level tag, so be it. Consider someone does not like the 'foo' tag and he is dealing with servers there some (newer) severs have 'foo' defined as a model tag while others have defined it as some other tag. Being able to mask 'foo' on all servers (regardless their software versions) simplifies things.
> 
> [Qin Wu] Tend to agree, the mask-tag in the original proposal is more powerful and can be used to remove both system tag and user configured tag, now I add some text to limit its use, make it only applicable to system tag which seems not reasonable.
> 
> Your proposed new text is vague. Is a server to reject an edit if someone masks a system tag? Or worse, does "not applied" mean the sever accepts the instruction to mask 'foo' but then does not mask the tag? If you propose to make something a hard error, then I would expect more explicit text. I vote for not making this an error.
> [Qin Wu] Thanks for your clarification and suggestion, edit is only applicable to user configured tag, but masked-tag can be applied to user configured tag as well. I feel mask-tag should always preempt edit operation, flagging an error seems not needed in this case. 
> 
> /js
> 
> On Wed, Aug 24, 2022 at 03:39:47AM +0000, Qin Wu wrote:
> > Hi, All:
> > In IETF 114, one issue we discussed for draft-ietf-netmod-node-tags is about mask-tag usage, we use mask-tag to remove the tag.
> > actually we have two options to remove the tag, one is using 
> > edit-data protocol operation to delete the tag, the other is to use mask-tag to remove tag. so the question when to use mask-tag to remove tag and when to use edit-data operation to delete the tag, what is their priority.
> > Since the tag can either schema level tag or instance level tag, the 
> > original proposal is only using mask-tag to remove schema level tag, which is static tag, the tag will disappear from operational datastore, but it still exists in the model schema.
> > But for instance level tag, it is actually user configured tag, I think we can skip to use mask-tag, just use edit-data operation to add tag and remove tag. The reason to skip to use mask tag, becos, the mask tag is only applied to schema level tag or static tag.
> > Here is the proposed changes to section 7:
> > OLD TEXT:
> > "
> > leaf-list masked-tag {
> >    type tags:tag;
> >    description
> >    "The list of tags that should not be associated with the
> >    node within the YANG module. The user can remove
> >    (mask) tags from the operational state datastore by
> >    adding them to this list. It is not an error to add tags
> >    to this list that are not associated with the data
> >    node within YANG  module, but they have no operational
> >    effect.";
> > "
> > NEW TEXT:
> > "
> > leaf-list masked-tag {
> >    type tags:tag;
> >    description
> >    "The list of tags that should not be associated with the
> >    node within the YANG module. The user can remove
> >    (mask) tags from the operational state datastore by
> >    adding them to this list.  It is not an error to add tags
> >    to this list that are not associated with the data
> >    node within YANG  module, but they have no operational
> >    effect. Note that the tags described here are limited to system tags
> >     not applied to user configured tags. "; "
> > OLD TEXT:
> > "
> >     The 'operational' state view of this list is
> >     constructed using the following steps:
> > 
> >     1) System tags (i.e., tags of 'system' origin) are added.
> >     2) User configured tags (i.e., tags of 'intended' origin) are added.
> >     3) Any tag that is equal to a masked-tag is removed."; "
> > NEW TEXT:
> > "
> >     The 'operational' state view of this list is
> >     constructed using the following steps:
> > 
> >     1) System tags (i.e., tags of 'system' origin) are added.
> >     2) User configured tags (i.e., tags of 'intended' origin) are added.
> >     3) Any system tag that is equal to a masked-tag is removed.
> >          4) User configured tags can be removed using standard protocol operation.
> >          ";
> > "
> > 
> > -Qin
> 
> > _______________________________________________
> > netmod mailing list
> > netmod@ietf.org
> > https://www.ietf.org/mailman/listinfo/netmod
> 
> 
> -- 
> Jürgen Schönwälder              Jacobs University Bremen gGmbH
> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>
> 

-- 
Jürgen Schönwälder              Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>