On Tue, Mar 28, 2023 at 2:37 PM Kent Watsen <k...@watsen.net> wrote:
> Hi Andy, > > No customer would ever let us take away this tenet, no matter what RFC > comes out. > > > What tenet? That <running> is valid or that the representation returned > to clients is valid? > both. But I think the expectation is for non-NMDA servers so this may not matter. The RFC 7950 constraints that apply to configuration data nodes are expected to pass for a "complete" running datastore. I do not disagree that there are constraints that can only be expressed in description-stmts and extensions, and not real "must/when/path" expressions. IMO this is not a big enough problem to cause any changes to NMDA. NMDA is heavy-weight enough already. Andy > No one is talking about <running> (on the server) not being valid, the > only nuance is > in *how* the server validates <running>, which is being discussed. > > RFC 8342 shows that some transformations (like template expansions and > removing > inactive config) must occur *prior* to YANG-validation. Wouldn't it be > nice to implement > such features someday? > > Regarding "no customers", in case it helps, Juniper devices validate > <running> vis-a-vis > validating <intended> (after template expansion and removing inactive > config), and their > customers are happy. > > > There are corner cases where a server is executing with a <running> > datastore that does > not pass all YANG constraints and all description-stmt semantics. > > For example, there are data models with top-level mandatory NP-containers. > Loading the empty YANG module causes the datastore validation to fail. > > > Modules should not have mandatory nodes when first set as "implemented". > Such > is bad API design IMO. This should be captured in RFC 8407...and, > ideally, be > tested for during publication process. > > > Our server has a mode where it will start with a bad <running> datastore > and allow an operator to fix the config. No edit-config to running or > commit will > succeed unless all validation passes (that is specified in 6241). > > > Yep, my server does the same. > > > There are lots of complex implementation-specific ways to get the server > datastores loaded at runtime. > Code runs and then <running> is setup somehow. The idea that <running> > must be totally empty > unless a client has set the data seems to be an NMDA thing. > IMO it is not a good idea to make NMDA even more complicated to handle > minor corner-cases. > > > AFAICT , nothing changes to the logic you described. Also, these are not > minor > corner-cases. > > > Andy > > > K. // contributor > > >
_______________________________________________ netmod mailing list netmod@ietf.org https://www.ietf.org/mailman/listinfo/netmod