Hi, Oscar González de Dios <[email protected]> wrote: > Dear OPSAWG and Netmod colleagues, > > During last IETF Opsawg meeting we raised a question (and > there was some discussion during the meeting) that we have > found yet no good answer and we would like to discuss it with > operations and Yang experts. > > The use case is the following: We have a yang module which > holds certain optional leafs. The behaviors that we would like > to have (and distinguish between them) are: > > > a) The user does not provide the value and such value is auto-assigned > by the system (a device (if it is a device module) or a controller (if > it is a network/service module)).
I assume that this value not a static default value? > b) The user does not provide a value and wants that such value IS NOT > set by the system (as assigning a value has implications). That is, > intentionally it is aimed at being left "empty" and should not be > expanded. So, either the value is set or should remain empty Do you mean that you want (a) and (b) at the same time for the same leaf? > What is the best way to model this behavior? I see that some yang > modules have added an "auto-assignment" leaf to express if > auto-assignment is desired or not. (hence, auto-assignment false, and > leaf not set, would do not assign). > > Which is the "default" rule for a leaf that is not set? It is that the > system is free to create it (via template or any means of > auto-assignment) or should leave it as is, that is, empty? > > In NMDA, the system is allowed to expand a given configuration. This > fact, in my personal view, implies that by "default" any system could > implement the "auto-assignment" behavior being compliant with > Neconf/Restconf/NMDA rules (but I am not sure if the interpretation is > correct). There are (at least) three ways to interpret "auto-assign". The client writes to running, and then the server auto-assigns X: (a) in running (b) in intended (c) in the operational state (c) is uncontroversial and simple to implement in all servers, and simple to understand. (b) is allowed by NMDA but requires more of the server implementation; specifically it requires the server to support that intended is different from running. (a) is not recommended in general; running should be fully owned by the client(s) and not modified by the server. /martin > > Best Regards, > > Óscar > > ________________________________ > > Este mensaje y sus adjuntos se dirigen exclusivamente a su > destinatario, puede contener información privilegiada o confidencial y > es para uso exclusivo de la persona o entidad de destino. Si no es > usted. el destinatario indicado, queda notificado de que la lectura, > utilización, divulgación y/o copia sin autorización puede estar > prohibida en virtud de la legislación vigente. Si ha recibido este > mensaje por error, le rogamos que nos lo comunique inmediatamente por > esta misma vía y proceda a su destrucción. > > The information contained in this transmission is privileged and > confidential information intended only for the use of the individual > or entity named above. If the reader of this message is not the > intended recipient, you are hereby notified that any dissemination, > distribution or copying of this communication is strictly > prohibited. If you have received this transmission in error, do not > read it. Please immediately reply to the sender that you have received > this communication in error and then delete it. > > Esta mensagem e seus anexos se dirigem exclusivamente ao seu > destinatário, pode conter informação privilegiada ou confidencial e é > para uso exclusivo da pessoa ou entidade de destino. Se não é vossa > senhoria o destinatário indicado, fica notificado de que a leitura, > utilização, divulgação e/ou cópia sem autorização pode estar proibida > em virtude da legislação vigente. Se recebeu esta mensagem por erro, > rogamos-lhe que nos o comunique imediatamente por esta mesma via e > proceda a sua destruição _______________________________________________ netmod mailing list [email protected] https://www.ietf.org/mailman/listinfo/netmod
