Hi,

On 08/12/2017 18:01, Andy Bierman wrote:
Hi,

A library per datastore sounds too complicated.
I prefer the proposal that was made at the IETF meeting that had
a 'not-implemented-in' leaf-list and a single module list.
The use case that this particular design doesn't work particularly well for is if you have a dynamic datastore that just contains a few modules that are not supported via the conventional datastores.

I think that there are future uses cases where the set of modules used for a dynamic datastore could be really quite different and separate from conventional configuration.  E.g. if dynamic subscribers were managed through a dynamic configuration datastore rather than RADIUS.


Why is it interesting to have a separate module list for regular modules and imported modules?
Several reasons:
1) It means that the list of implemented modules have a single key and hence any references to an implemented module are cleaner/simpler. 2) The model structure naturally more strictly enforces that only a single revision/version of a module is implemented.  (E.g. it prevents a server stating that two revisions of a module are both implemented). 3) I genuinely think that the list of implemented modules is more interesting to the client than the imported, but not implemented modules.

For a server, I would design it to "implement" one revision of every module that it uses (including those that don't contain any data nodes, RPCs, actions, notifications, or deviations), and then the "import-only" list becomes the list of modules that the server implements to satisfy "import-by-revision" and these are stated in the implemented schema anyway.


I prefer to keep the conformance leaf and not change the module list.

NMDA needs to be possible to implement with a single schema tree such that a module is implemented in all datastores, or a subset of all datastores.  Otherwise it probably won't
get supported in clients.
All solutions accommodate this requirement.

For me, some of the interesting design questions have revolved around:
- is it better to reduce duplication in the list of modules reported at the cost of increased model complexity?
- does the solution extend to schema mount?
- how well does the solution cope with with configuration datastores that support very different sets of modules?

To a lesser extent we have also been considering how well the solution extends to packaging and semantic versioning, but I think that it is quite tricky to know who these are going to pan out. E.g. I think that the restriction that a given schema will only implement a single revision of a module will end up still holding, but I'm not sure that everyone has that same view point.

Thanks,
Rob




Andy



On Fri, Dec 8, 2017 at 9:21 AM, Kent Watsen <[email protected] <mailto:[email protected]>> wrote:

    CC-ing NETCONF, where the draft is being worked on.

    Kent


    On Fri, 2017-12-08 at 16:34 +0100, Juergen Schoenwaelder wrote:
    > On Fri, Dec 08, 2017 at 04:19:28PM +0100, Vladimir Vassilev wrote:
    > >
    > > Yes. The default value for yang-library-datastore leaf is
    ds:operational
    > > (the only possible one for the ds:operational datastore). This
    is backward
    > > compatible. If one needs different model for 'running', etc.
    then a new
    > > datastore identity has to be defined  and set in place of the
    default value.
    > > Then this identity can be used to read the yang-library data with
    > > <get-data>.
    > >
    >
    > Sorry, but I have to ask this: How do I obtain the schema for the
    > datastore (lets call it <running-library>) that reports the
    schema for
    > <running>? Is there another <running-library-library> datastore?
    Will
    > the recursion end? Perhaps it does since <running-library-library>
    > might have itself listed as the schema defining datastore. I guess
    > Lada will like these kind of meta and meta-meta datastores.

    Not really. Metadata needn't be in datastores.

    Lada

    >
    > /js
    >
    --
    Ladislav Lhotka
    Head, CZ.NIC Labs
    PGP Key ID: 0xB8F92B08A9F76C67

    _______________________________________________
    netmod mailing list
    [email protected] <mailto:[email protected]>
    
https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_mailman_listinfo_netmod&d=DwICAg&c=HAkYuh63rsuhr6Scbfh0UjBXeMK-ndb3voDTXcWzoCI&r=9zkP0xnJUvZGJ9EPoOH7Yhqn2gsBYaGTvjISlaJdcZo&m=5qj6BQUSwqYmkAVeKz5axFV8k3gxYEPSJ5Cp0RSnxrE&s=I7fR1GY5lN2hVMkDuvryrhDeRypike3wPeFRrvQI5l8&e=
    
<https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_mailman_listinfo_netmod&d=DwICAg&c=HAkYuh63rsuhr6Scbfh0UjBXeMK-ndb3voDTXcWzoCI&r=9zkP0xnJUvZGJ9EPoOH7Yhqn2gsBYaGTvjISlaJdcZo&m=5qj6BQUSwqYmkAVeKz5axFV8k3gxYEPSJ5Cp0RSnxrE&s=I7fR1GY5lN2hVMkDuvryrhDeRypike3wPeFRrvQI5l8&e=>


    _______________________________________________
    netmod mailing list
    [email protected] <mailto:[email protected]>
    https://www.ietf.org/mailman/listinfo/netmod
    <https://www.ietf.org/mailman/listinfo/netmod>




_______________________________________________
Netconf mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netconf

_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to