Re: [netmod] AD review of draft-ietf-netmod-entity-06
Joe Clarke <jclarke@cisco.com> Fri, 12 January 2018 13:33 UTC
Return-Path: <jclarke@cisco.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 C85DD12E87C for <netmod@ietfa.amsl.com>; Fri, 12 Jan 2018 05:33:08 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.531
X-Spam-Level:
X-Spam-Status: No, score=-14.531 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_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.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 zL7xo8o4RFEf for <netmod@ietfa.amsl.com>; Fri, 12 Jan 2018 05:33:06 -0800 (PST)
Received: from alln-iport-8.cisco.com (alln-iport-8.cisco.com [173.37.142.95]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E7D52126BF3 for <netmod@ietf.org>; Fri, 12 Jan 2018 05:33:05 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=17627; q=dns/txt; s=iport; t=1515763985; x=1516973585; h=subject:to:cc:references:from:message-id:date: mime-version:in-reply-to:content-transfer-encoding; bh=QEebpw7VprBBNkRZtxBeO5ZYQMVSXCpPd177hAd2UIA=; b=GcYkdCJVEbQY5j52GGnbSwkhXCCokXfCUW++wc01UyQTjj9llWwDB2Ej cW5g9ATJwOS8gLEBvb7h0lcio7nsV0mBGtsMLs1d1Fc6e8JqwF5UjOpo7 V/x0eW7Y18LgBuKj2fr9M87B+aNG6+jeu7nKuVBCaJE/pFKoDbiCH4WS3 U=;
X-IronPort-AV: E=Sophos;i="5.46,348,1511827200"; d="scan'208";a="55258762"
Received: from rcdn-core-3.cisco.com ([173.37.93.154]) by alln-iport-8.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 12 Jan 2018 13:33:05 +0000
Received: from [10.118.87.84] (rtp-jclarke-nitro3.cisco.com [10.118.87.84]) by rcdn-core-3.cisco.com (8.14.5/8.14.5) with ESMTP id w0CDX48Q025402; Fri, 12 Jan 2018 13:33:05 GMT
To: "Einar Nilsen-Nygaard (einarnn)" <einarnn@cisco.com>, "Robert Wilton -X (rwilton - ENSOFT LIMITED at Cisco)" <rwilton@cisco.com>, Martin Bjorklund <mbj@tail-f.com>, "bart.bogaert@nokia.com" <bart.bogaert@nokia.com>
Cc: "netmod@ietf.org" <netmod@ietf.org>
References: <20180109.163933.49682684192910889.mbj@tail-f.com> <AM4PR07MB1716D69A0AF0BBCD3BAF71D094110@AM4PR07MB1716.eurprd07.prod.outlook.com> <20180110.144453.957272588242505523.mbj@tail-f.com> <20180111.144705.493071366326080006.mbj@tail-f.com> <51501b53-9693-4ecd-1493-e21263b22b19@cisco.com> <A351BFBA-526E-4F85-96F7-D95E58A374F9@cisco.com>
From: Joe Clarke <jclarke@cisco.com>
Organization: Cisco
Message-ID: <823fdeb7-3b4b-2504-364d-ef68502adccf@cisco.com>
Date: Fri, 12 Jan 2018 08:33:04 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:52.0) Gecko/20100101 Thunderbird/52.5.2
MIME-Version: 1.0
In-Reply-To: <A351BFBA-526E-4F85-96F7-D95E58A374F9@cisco.com>
Content-Type: text/plain; charset="utf-8"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/_FA4uWMMbvPU5gCIujsQPptIHuA>
Subject: Re: [netmod] AD review of draft-ietf-netmod-entity-06
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.22
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: Fri, 12 Jan 2018 13:33:09 -0000
On 1/12/18 05:52, Einar Nilsen-Nygaard (einarnn) wrote: > Yes, Option 2 seems best. Agreed. I believe most assume these are static values from the vendor that are not field-writeable (certainly that is true from what I've seen here at Cisco). Joe > > Cheers, > > Einar > > >> On 11 Jan 2018, at 17:56, Robert Wilton -X (rwilton - ENSOFT LIMITED at Cisco) <rwilton@cisco.com> wrote: >> >> >> >> On 11/01/2018 13:47, Martin Bjorklund wrote: >>> Hi, >>> >>> To summarize this, I think we have three options for the three nodes >>> 'model-name', 'mfg-name', and 'serial-num': >>> >>> 1. Do nothing (keep the nodes as config true). >>> >>> 2. Make these three nodes config false (fairly simple change). >>> (vendors can augment w/ their own config true nodes). >>> >>> 3. Add three new nodes for the configured values. >>> >>> >>> After thinking about this some more, and discussing with Benoit, I >>> think the best path forward is to do 2, i.e., mark the nodes >>> 'model-name', 'mfg-name', and 'serial-num' as "config false". As such >>> they would not be configurable, and thus contain the detected values. >>> If no value is detected, the node is not present. >> Option 2 suits me. It keeps it simple. >> >>> >>> Note that 1 or 3 can be done in a future update to this module (or by >>> a vendor). >> Agreed. >> >> Thanks, >> Rob >> >> >>> >>> >>> /martin >>> >>> >>> Martin Bjorklund <mbj@tail-f.com> wrote: >>>> Hi, >>>> >>>> "Bogaert, Bart (Nokia - BE/Antwerp)" <bart.bogaert@nokia.com> wrote: >>>>> Hi, >>>>> >>>>> --- snip --- >>>>> >>>>>> state.”, so the above sentence only applies for the second case below. >>>>> Ok. >>>>> >>>>>> 2. The second case is that something is detected but it can’t be read. >>>>>> We do not see a reason to use the value configured for the leafs >>>>>> ‘serial-num’, ‘mfg-name’ and ‘model-name’ of a matching entry in the >>>>>> configuration data. These leafs are defined as optional so why would >>>>>> we report something entered by an operator in the operational >>>>>> datastore that intends to report on what is detected? Is it not >>>>>> better to not report them at all? In an NMDA context it would be >>>>>> possible to have a different value (or no value at all) for certain >>>>>> leafs while there is something in the running/intended datastore. >>>>> The normal NMDA procedure for a configuration leaf is to repeat it in >>>>> operational state. This is then the "applied configuration". >>>>> I don't think we should have a special rule for these leafs. >>>>> >>>>> This also means that a client that just wants to read all the serial >>>>> numbers can do so from one place, the operational state, regardless of >>>>> how they came into existance. >>>>> >>>>> [Bogaert, Bart ] >>>>> >>>>> We do understand that a target of NMDA is to read out the actually >>>>> applied data in one request. But the result should not be >>>>> confusion. A key word is “applied”. >>>>> >>>>> Section 5.3 of draft-ietf-netmod-revised-datastores-09 also contains >>>>> (I put a part of the section between ***): >>>>> The datastore schema for <operational> MUST be a superset of the >>>>> combined datastore schema used in all configuration datastores except >>>>> that configuration data nodes supported in a configuration datastore >>>>> ***MAY be omitted from <operational> if a server is not able to >>>>> accurately report them ***. >>>> Note that this text talks about the *schema*. It is intended for >>>> servers to migrate to NMDA without having to instrument all config >>>> nodes in <operational> immediately. If you apply this to >>>> ietf-hardware, it could be a server that implements the node >>>> "serial-num" in config, but not in <operational> (which would be >>>> weird). >>>> >>>>> For example, it is expected that the value of multiple leafs need to >>>>> be a consistent set, e.g. the mfg-name, the model-name, and the >>>>> serial-num. >>>>> Suppose we have a use case in which a hardware component is >>>>> planned/configured (e.g. a board supporting DSL interfaces) but a >>>>> different one is plugged (e.g. a board supporting ethernet >>>>> interfaces). >>>>> Suppose it is possible to read some fields on the detected component >>>>> but due to an issue not to read other fields. >>>>> If in that case the operational datastore will be completed with the >>>>> data taken from the running datastore, then the presented view might >>>>> be inconsistent. >>>> This is true for other similar nodes as well - "asset-id" and "uri". >>>> >>>>> The question is also: what data is applied? Our assumption: if there >>>>> is a mismatch between detected versus configured hardware, then the >>>>> interface/service related data that is configured consistently with >>>>> the planned hardware is not applied on the mismatching >>>>> hardware. I.e. the detected hardware is not brought in service so not >>>>> ‘applied’, the operational datastore only (accurately) reports on what >>>>> is detected. >>>> If there is a mismatch and the server doesn't apply the configured >>>> values, then obviously the configured 'mfg-name' etc are not copied to >>>> <operational>. >>>> >>>>> We do not see this as a special rule for this data but rather would >>>>> apply a general rule: >>>>> - if there is a ‘missing resource’, then the data is not reported in the >>>>> operational datastore. >>>>> - If the server is not able to report accurately, then the data is >>>>> omitted from the operational >>>> I think that if you want complete separation between the values of >>>> 'mfg-name', 'model-name', and 'serial-num' in configuration and >>>> operational state, then these should be modelled as separate leafs. >>>> We should have a config false leaf 'serial-num' that only contains the >>>> detected value (if found), and a config true leaf 'config-serial-num' >>>> or something, that contains the configured serial number. >>>> >>>> But if this is the case, I wonder if it wouldn't be better to leave >>>> such additional config objects to vendors, and simply make these three >>>> nodes config false in ietf-hardware. >>>> >>>> >>>> /martin >>>> >>>>> Regards, Bart >>>>> >>>>> /martin >>>>> >>>>> >>>>>> Best regards, Bart >>>>>> >>>>>> -----Original Message----- >>>>>> From: netmod [mailto:netmod-bounces@ietf.org] On Behalf Of Robert >>>>>> Wilton >>>>>> Sent: Thursday, December 21, 2017 4:14 PM >>>>>> To: Martin Bjorklund <mbj@tail-f.com>; netmod@ietf.org >>>>>> Subject: Re: [netmod] AD review of draft-ietf-netmod-entity-06 >>>>>> >>>>>> Hi Martin, >>>>>> >>>>>> >>>>>> On 21/12/2017 11:37, Martin Bjorklund wrote: >>>>>>> Hi, >>>>>>> >>>>>>> I need WG input on this issue. The question is how to handle >>>>>>> 'serial-num', 'mfg-name', and 'model-name'. I think they should all >>>>>>> be treated the same. Based on previous WG discussion (see e.g. the >>>>>>> mail thread "draft-ietf-netmod-entity issue #13"), I think they >>>>>>> should all be configurable, but the configured value is only used in >>>>>>> operational state if the system cannot read it from the hardware. >>>>>> I think that this approach is probably OK: >>>>>> - The client can always see the real value if it is available. >>>>>> - If it is not available then they can assign a value via >>>>>> configuration. >>>>>> >>>>>> I was also considering an alternative approach of having a separate >>>>>> set of config false leaves for the "burnt in values". And then having >>>>>> the configurable leaves always override the default operational >>>>>> values. E.g. similar to how an interface MAC address would expect to >>>>>> be handled. >>>>>> >>>>>> But one set of leaves is probably sufficient. >>>>>> >>>>>> Thanks, >>>>>> Rob >>>>>> >>>>>> >>>>>>> So I suggest the following changes: >>>>>>> >>>>>>> OLD: >>>>>>> >>>>>>> leaf serial-num { >>>>>>> type string; >>>>>>> config false; >>>>>>> description >>>>>>> "The vendor-specific serial number string for the >>>>>>> component. The preferred value is the serial number >>>>>>> string actually printed on the component itself (if >>>>>>> present)."; >>>>>>> reference "RFC 6933: entPhysicalSerialNum"; >>>>>>> } >>>>>>> >>>>>>> NEW: >>>>>>> >>>>>>> leaf serial-num { >>>>>>> type string; >>>>>>> description >>>>>>> "The vendor-specific serial number string for the >>>>>>> component. The preferred value is the serial number >>>>>>> string actually printed on the component itself (if >>>>>>> present). >>>>>>> >>>>>>> This leaf can be configured. There are two use cases for >>>>>>> this; as a 'post-it' note if the server cannot determine >>>>>>> this value from the component, or when pre-provisioning a >>>>>>> component. >>>>>>> >>>>>>> If the server can determine the serial number from the >>>>>>> component, then that value is always used in operational >>>>>>> state, even if another value has been configured."; >>>>>>> reference "RFC 6933: entPhysicalSerialNum"; >>>>>>> } >>>>>>> >>>>>>> And corresponding text for 'mfg-name' and 'model-name'. >>>>>>> >>>>>>> And also: >>>>>>> >>>>>>> OLD: >>>>>>> >>>>>>> When the server detects a new hardware component, it >>>>>>> initializes a list entry in the operational state. >>>>>>> >>>>>>> If the server does not support configuration of hardware >>>>>>> components, list entries in the operational state are >>>>>>> initialized with values for all nodes as detected by the >>>>>>> implementation. >>>>>>> >>>>>>> Otherwise, the following procedure is followed: >>>>>>> >>>>>>> 1. If there is an entry in the /hardware/component list in >>>>>>> the intended configuration with values for the nodes >>>>>>> 'class', 'parent', 'parent-rel-pos' that are equal to >>>>>>> the detected values, then: >>>>>>> >>>>>>> 1a. If the configured entry has a value for 'mfg-name' >>>>>>> that is equal to the detected value, or if the >>>>>>> 'mfg-name' value cannot be detected, then the list >>>>>>> entry in the operational state is initialized with the >>>>>>> configured values for all configured nodes, including >>>>>>> the 'name'. >>>>>>> >>>>>>> Otherwise, the list entry in the operational state is >>>>>>> initialized with values for all nodes as detected by >>>>>>> the implementation. The implementation may raise an >>>>>>> alarm that informs about the 'mfg-name' mismatch >>>>>>> condition. How this is done is outside the scope of >>>>>>> this document. >>>>>>> >>>>>>> 1b. Otherwise (i.e., there is no matching configuration >>>>>>> entry), the list entry in the operational state is >>>>>>> initialized with values for all nodes as detected by >>>>>>> the implementation. >>>>>>> >>>>>>> If the /hardware/component list in the intended >>>>>>> configuration is modified, then the system MUST behave as if >>>>>>> it re-initializes itself, and follow the procedure in >>>>>>> (1)."; >>>>>>> >>>>>>> NEW: >>>>>>> >>>>>>> When the server detects a new hardware component, it >>>>>>> initializes a list entry in the operational state. >>>>>>> >>>>>>> If the server does not support configuration of hardware >>>>>>> components, list entries in the operational state are >>>>>>> initialized with values for all nodes as detected by the >>>>>>> implementation. >>>>>>> >>>>>>> Otherwise, the following procedure is followed: >>>>>>> >>>>>>> 1. If there is an entry in the /hardware/component list in >>>>>>> the intended configuration with values for the nodes >>>>>>> 'class', 'parent', 'parent-rel-pos' that are equal to >>>>>>> the detected values, then the list entry in operational >>>>>>> state is initialized with the configured values, >>>>>>> including the 'name'. The leafs 'serial-num', >>>>>>> 'mfg-name', and 'model-name' are treated specially; see >>>>>>> their descriptions for details. >>>>>>> >>>>>>> 2. Otherwise (i.e., there is no matching configuration >>>>>>> entry), the list entry in the operational state is >>>>>>> initialized with values for all nodes as detected by >>>>>>> the implementation. >>>>>>> >>>>>>> If the /hardware/component list in the intended >>>>>>> configuration is modified, then the system MUST behave as if >>>>>>> it re-initializes itself, and follow the procedure in >>>>>>> (1)."; >>>>>>> >>>>>>> >>>>>>> >>>>>>> /martin >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> Benoit Claise <bclaise@cisco.com> wrote: >>>>>>>> On 12/20/2017 4:00 PM, Martin Bjorklund wrote: >>>>>>>>> Benoit Claise <bclaise@cisco.com> wrote: >>>>>>>>>> Hi Martin, >>>>>>>>>> >>>>>>>>>> Thanks. >>>>>>>>>> Only kept the relevant excerpts. >>>>>>>>>>>> - Some objects are read-write in RFC6933: >>>>>>>>>>>> entPhysicalSerialNum >>>>>>>>>>>> entPhysicalAlias >>>>>>>>>>>> entPhysicalAssetID >>>>>>>>>>>> entPhysicalUris >>>>>>>>>>>> >>>>>>>>>>>> For example, entPhysicalSerialNum being read-write always bothered >>>>>>>>>>>> me. >>>>>>>>>>>> serial-num is now "config false", which is a good news IMO. >>>>>>>>>>> Actually, this was not the intention. In >>>>>>>>>>> draft-ietf-netmod-entity-03 this is configurable. I missed this >>>>>>>>>>> in the conversion to NMDA. >>>>>>>>>> Ah. So no good news in this case... >>>>>>>>>>>> In the reverse direction, entPhysicalMfgName is read-only in >>>>>>>>>>>> RFC6933, while it's "config true" in draft-ietf-netmod-entity >>>>>>>>>>> Yes, this was added per request from the WG. See e.g. the >>>>>>>>>>> thread "draft-ietf-netmod-entity issue #13". >>>>>>>>>> Sure. It was mainly an observation. >>>>>>>>>>> However, I think that what we have now is probably not correct. >>>>>>>>>>> I think that all nodes 'serial-num', 'mfg-name', and 'model-name' >>>>>>>>>>> should be config true, and the description of list 'component' >>>>>>>>>>> updated to reflect that all these tree leafs are handled the same way. >>>>>>>>>>> >>>>>>>>>>> I would like to know what the WG thinks about this. >>>>>>>>>> Talking as a contributor this time. >>>>>>>>>> It seems that inventory management is kind of broken when someone >>>>>>>>>> can change 'serial-num', 'mfg-name', and 'model-name. >>>>>>>>> They can't really change them. The configured values are only >>>>>>>>> used (i.e. visible in the operational state) if the device cannot >>>>>>>>> detect them automatically. I.e., they work as "post-it" notes only. >>>>>>>> If I look at, for example, the mfg-name, description, this is not >>>>>>>> what it says. >>>>>>>> >>>>>>>> leaf mfg-name { >>>>>>>> type string; >>>>>>>> description >>>>>>>> "The name of the manufacturer of this physical component. >>>>>>>> The preferred value is the manufacturer name string >>>>>>>> actually printed on the component itself (if present). >>>>>>>> >>>>>>>> Note that comparisons between instances of the model-name, >>>>>>>> firmware-rev, software-rev, and the serial-num nodes are >>>>>>>> only meaningful amongst component with the same value of >>>>>>>> mfg-name. >>>>>>>> >>>>>>>> If the manufacturer name string associated with the >>>>>>>> physical component is unknown to the server, then this >>>>>>>> node is not instantiated."; >>>>>>>> reference "RFC 6933 <https://tools.ietf.org/html/rfc6933>: >>>>>>>> entPhysicalMfgName"; >>>>>>>> >>>>>>>> Regards, Benoit >>>>>>>> >>>>>>>>> /martin >>>>>>>>> . >>>>>>>>> >>>>>>> _______________________________________________ >>>>>>> netmod mailing list >>>>>>> netmod@ietf.org >>>>>>> https://www.ietf.org/mailman/listinfo/netmod >>>>>>> . >>>>>>> >>>>>> _______________________________________________ >>>>>> netmod mailing list >>>>>> netmod@ietf.org >>>>>> https://www.ietf.org/mailman/listinfo/netmod >>>> _______________________________________________ >>>> netmod mailing list >>>> netmod@ietf.org >>>> https://www.ietf.org/mailman/listinfo/netmod >>> _______________________________________________ >>> netmod mailing list >>> netmod@ietf.org >>> https://www.ietf.org/mailman/listinfo/netmod >> >> _______________________________________________ >> netmod mailing list >> netmod@ietf.org >> https://www.ietf.org/mailman/listinfo/netmod > > _______________________________________________ > netmod mailing list > netmod@ietf.org > https://www.ietf.org/mailman/listinfo/netmod >
- Re: [netmod] AD review of draft-ietf-netmod-entit… Martin Bjorklund
- Re: [netmod] AD review of draft-ietf-netmod-entit… Juergen Schoenwaelder
- [netmod] AD review of draft-ietf-netmod-entity-06 Benoit Claise
- Re: [netmod] AD review of draft-ietf-netmod-entit… Martin Bjorklund
- Re: [netmod] AD review of draft-ietf-netmod-entit… Benoit Claise
- Re: [netmod] AD review of draft-ietf-netmod-entit… Martin Bjorklund
- Re: [netmod] AD review of draft-ietf-netmod-entit… Benoit Claise
- Re: [netmod] AD review of draft-ietf-netmod-entit… Benoit Claise
- Re: [netmod] AD review of draft-ietf-netmod-entit… Martin Bjorklund
- Re: [netmod] AD review of draft-ietf-netmod-entit… Juergen Schoenwaelder
- Re: [netmod] AD review of draft-ietf-netmod-entit… Benoit Claise
- Re: [netmod] AD review of draft-ietf-netmod-entit… Robert Wilton
- Re: [netmod] AD review of draft-ietf-netmod-entit… Bogaert, Bart (Nokia - BE/Antwerp)
- Re: [netmod] AD review of draft-ietf-netmod-entit… Martin Bjorklund
- Re: [netmod] AD review of draft-ietf-netmod-entit… Bogaert, Bart (Nokia - BE/Antwerp)
- Re: [netmod] AD review of draft-ietf-netmod-entit… Martin Bjorklund
- Re: [netmod] AD review of draft-ietf-netmod-entit… Robert Wilton
- Re: [netmod] AD review of draft-ietf-netmod-entit… Martin Bjorklund
- Re: [netmod] AD review of draft-ietf-netmod-entit… Benoit Claise
- Re: [netmod] AD review of draft-ietf-netmod-entit… Dan Romascanu
- Re: [netmod] AD review of draft-ietf-netmod-entit… Robert Wilton
- Re: [netmod] AD review of draft-ietf-netmod-entit… Bogaert, Bart (Nokia - BE/Antwerp)
- Re: [netmod] AD review of draft-ietf-netmod-entit… Einar Nilsen-Nygaard (einarnn)
- Re: [netmod] AD review of draft-ietf-netmod-entit… Joe Clarke
- Re: [netmod] AD review of draft-ietf-netmod-entit… Benoit Claise
- Re: [netmod] AD review of draft-ietf-netmod-entit… Benoit Claise