Re: [netmod] AD review of draft-ietf-netmod-entity-06
Martin Bjorklund <mbj@tail-f.com> Wed, 10 January 2018 13:46 UTC
Return-Path: <mbj@tail-f.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 C4C8D1275FD for <netmod@ietfa.amsl.com>; Wed, 10 Jan 2018 05:46:41 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.911
X-Spam-Level:
X-Spam-Status: No, score=-1.911 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 BCrfU1uOg8p3 for <netmod@ietfa.amsl.com>; Wed, 10 Jan 2018 05:46:36 -0800 (PST)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 81C1012420B for <netmod@ietf.org>; Wed, 10 Jan 2018 05:46:36 -0800 (PST)
Received: from localhost (unknown [173.38.220.56]) by mail.tail-f.com (Postfix) with ESMTPSA id 1D2DB1AE0118; Wed, 10 Jan 2018 14:46:35 +0100 (CET)
Date: Wed, 10 Jan 2018 14:44:53 +0100
Message-Id: <20180110.144453.957272588242505523.mbj@tail-f.com>
To: bart.bogaert@nokia.com
Cc: rwilton@cisco.com, netmod@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <AM4PR07MB1716D69A0AF0BBCD3BAF71D094110@AM4PR07MB1716.eurprd07.prod.outlook.com>
References: <AM4PR07MB1716BF34E1A66823C9A02DFA94100@AM4PR07MB1716.eurprd07.prod.outlook.com> <20180109.163933.49682684192910889.mbj@tail-f.com> <AM4PR07MB1716D69A0AF0BBCD3BAF71D094110@AM4PR07MB1716.eurprd07.prod.outlook.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="utf-8"
Content-Transfer-Encoding: base64
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/6LxGqxQuO3Wab5rfPvPAW20QDyc>
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: Wed, 10 Jan 2018 13:46:43 -0000
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
- 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