I can see how that could potentially be useful, but can a client really be written in a way that it is truly dependant on receiving those fields? I think maybe clients have to be able to handle not getting state fields.
What you're describing could also potentially be done using "mandatory true" although I'd wonder the same thing as for "must" statements. Having these types of constraints on the state model may be things the client can't necessarily code to anyways. For example: if a list entry had 5 state leafs and one was marked mandatory, then if for whatever reason the server couldn't return that leaf, should it not return the entire list entry? > -----Original Message----- > From: Kent Watsen <k...@watsen.net> > Sent: Monday, November 6, 2023 5:26 PM > To: Jason Sterne (Nokia) <jason.ste...@nokia.com> > Cc: Rob Wilton (rwilton) <rwilton=40cisco....@dmarc.ietf.org>; Jürgen > Schönwälder <jschoenwaelder@constructor.university>; > mohamed.boucad...@orange.com; netmod@ietf.org > Subject: Re: [netmod] draft-ietf-netmod-rfc8407bis: must + error-message > for "config false" > > > CAUTION: This is an external email. Please be very careful when clicking > links or opening attachments. See the URL nok.it/ext for additional > information. > > > > “Must” statements on opstate usefully helps clients know when certain > values will always appear, enabling better optimization and usability. > > E.g., for Syslog messages, there must always be a timestamp, severity, and a > message. It would be unhelpful for the server to not declare its intention to > always send these fields. > > Kent > > > > On Nov 6, 2023, at 10:49 AM, Jason Sterne (Nokia) > <jason.ste...@nokia.com> wrote: > > > > +1 on what Jurgen and Rob are pointing out here. > > > > I'm not sure it makes a ton of sense to actually have a lot of "must" > statements in state models. We could consider discouraging them? (but we > need to continue *allowing* them). > > > > Jason > > > >> -----Original Message----- > >> From: netmod <netmod-boun...@ietf.org> On Behalf Of Rob Wilton > >> (rwilton) > >> Sent: Thursday, November 2, 2023 5:17 AM > >> To: Jürgen Schönwälder <jschoenwaelder@constructor.university>; > >> mohamed.boucad...@orange.com > >> Cc: netmod@ietf.org > >> Subject: Re: [netmod] draft-ietf-netmod-rfc8407bis: must + error- > message > >> for "config false" > >> > >> > >> CAUTION: This is an external email. Please be very careful when clicking > >> links or opening attachments. See the URL nok.it/ext for additional > >> information. > >> > >> > >> > >> Specifically regarding MUST statements on state date, RFC 8342 section > 5.3, > >> also has this statement (which effectively aligns to Jürgen's last > paragraph): > >> > >> <operational> SHOULD conform to any constraints specified in the data > >> model, but given the principal aim of returning "in use" values, it > >> is possible that constraints MAY be violated under some circumstances > >> (e.g., an abnormal value is "in use", the structure of a list is > >> being modified, or remnant configuration (see Section 5.3.1) still > >> exists). Note that deviations SHOULD be used when it is known in > >> advance that a device does not fully conform to the <operational> > >> schema. > >> > >> Only semantic constraints MAY be violated. These are the YANG > >> "when", "must", "mandatory", "unique", "min-elements", and > >> "max-elements" statements; and the uniqueness of key values. > >> > >> Syntactic constraints MUST NOT be violated, including hierarchical > >> organization, identifiers, and type-based constraints. If a node in > >> <operational> does not meet the syntactic constraints, then it > >> MUST NOT be returned, and some other mechanism should be used to > >> flag > >> the error. > >> > >> Regards, > >> Rob > >> > >> > >> -----Original Message----- > >> From: netmod <netmod-boun...@ietf.org> On Behalf Of Jürgen > >> Schönwälder > >> Sent: Wednesday, November 1, 2023 7:46 AM > >> To: mohamed.boucad...@orange.com > >> Cc: netmod@ietf.org > >> Subject: Re: [netmod] draft-ietf-netmod-rfc8407bis: must + error- > message > >> for "config false" > >> > >> Here is what RFC 7950 says: > >> > >> 7.5.4.1. The "error-message" Statement > >> > >> The "error-message" statement, which is optional, takes a string as > >> an argument. If the constraint evaluates to "false", the string is > >> passed as <error-message> in the <rpc-error> in NETCONF. > >> > >> Since state data is not (directly) modified by processing RPCs, which > >> <rpc-error> would carry the <error-message>? If the answer is 'none', > >> then why define an <error-message> for state data? > >> > >> My take has always been that operational state data should report as > >> much as possible the true state of the device - even if the current > >> state violates certain constraints. The entity to check constraints > >> would be a managing system, not the managed system. That said, the > >> wording in section 7.5.4.1 indicates that the designers had servers > >> processing RPCs in mind. > >> > >> /js > >> > >> On Tue, Oct 31, 2023 at 10:40:15AM +0000, > >> mohamed.boucad...@orange.com wrote: > >>> Hi all, > >>> > >>> In the context of https://datatracker.ietf.org/doc/draft-ietf-pce-pcep- > yang/, > >> Dhruv has received in the past a comment about the use of "must + > error- > >> message" for "config false" data nodes. He reported that comment at > >> https://mailarchive.ietf.org/arch/msg/yang- > >> doctors/gWnXnyNHPVv_nZB1PQjThAwP1JY/, but without any follow-up. > >>> > >>> rfc7950#section-8.1 includes a provision for the use of "must" for state > >> data, but silent about the use of error-message. Some guidance for > authors > >> may be useful here. > >>> > >>> The following options are being considered: > >>> > >>> (1) Remove both must and error-message for config false data nodes > >>> (2) Remove error-message but keep the must > >>> (3) keep both > >>> > >>> I think that (3) is OK as this is a formal way to detect anomalies in > >>> state > >> data, but I'm open to hear what the WG thinks. > >>> > >>> Opinions whether we need to include a mention about this in draft-ietf- > >> netmod-rfc8407bis are welcome. > >>> > >>> Thank you. > >>> > >>> Cheers, > >>> Med > >>> > >>> > >> > __________________________________________________________________ > >> __________________________________________ > >>> Ce message et ses pieces jointes peuvent contenir des informations > >> confidentielles ou privilegiees et ne doivent donc > >>> pas etre diffuses, exploites ou copies sans autorisation. Si vous avez > recu > >> ce message par erreur, veuillez le signaler > >>> a l'expediteur et le detruire ainsi que les pieces jointes. Les messages > >> electroniques etant susceptibles d'alteration, > >>> Orange decline toute responsabilite si ce message a ete altere, deforme > ou > >> falsifie. Merci. > >>> > >>> This message and its attachments may contain confidential or privileged > >> information that may be protected by law; > >>> they should not be distributed, used or copied without authorisation. > >>> If you have received this email in error, please notify the sender and > delete > >> this message and its attachments. > >>> As emails may be altered, Orange is not liable for messages that have > >> been modified, changed or falsified. > >>> Thank you. > >> > >>> _______________________________________________ > >>> netmod mailing list > >>> netmod@ietf.org > >>> https://www.ietf.org/mailman/listinfo/netmod > >> > >> > >> -- > >> Jürgen Schönwälder Constructor University Bremen gGmbH > >> Phone: +49 421 200 3587 Campus Ring 1 | 28759 Bremen | > Germany > >> Fax: +49 421 200 3103 <https://constructor.university/> > >> > >> _______________________________________________ > >> 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