Ladislav Lhotka <[email protected]> wrote:
> Martin Bjorklund <[email protected]> writes:
> 
> > Ladislav Lhotka <[email protected]> wrote:
> >> 
> >> > On 23 May 2016, at 14:30, Lou Berger <[email protected]> wrote:
> >> > 
> >> > Hi Lada,
> >> >    I looks like no one really jumped on this one -- so better late than
> >> > never ...
> >> > 
> >> > When looking at the question below, we should consider the uses cases.
> >> > I'm particularity interested (as a contributor) in the use case of
> >> > nested mounts (NIs mounted within LNEs), as well as the case if models
> >> > that will only permit mounting of specific other models vs generically
> >> > mounting any model.
> >> > 
> >> > On 4/6/2016 10:07 AM, Ladislav Lhotka wrote:
> >> >> Hi,
> >> >> 
> >> >> with a schema mount mechanism in place, there are two different
> >> >> options
> >> >> for constructing the overall schema (their combinations are possible,
> >> >> too):
> >> >> 
> >> >> 1. Define schema mount as an extension of YANG library so that it
> >> >> defines YANG modules, revisions, features and deviations as before but
> >> >> also the way how they are combined into a hierarchical structure of
> >> >> schemas.
> >> > 
> >> > I think this only makes sense if this is scoped in some way.  For
> >> > example, with LNEs, the parent/host server may not have visibility
> >> > into
> >> > the mounted models, (see draft-rtgyangdt-rtgwg-lne-model).  And even
> >> > if
> >> 
> >> As I understand it, schema-mount is about accessing the LNE models
> >> from the parent/host management interface. I believe the real question
> >> is whether we want to allow the schema to dynamically change at run
> >> time and possibly throw in new modules that the client never heard
> >> of. #2 can do it while #1 can't. I am not sure though whether the LNE
> >> model really requires something like this.
> >> 
> >> > does, you have to consider the cases of mounted models contained
> >> > within
> >> > mounted models.
> >> 
> >> This is possible either way, provided that the complete schema is
> >> known upfront.
> >
> > I don't think I have seen a concrete proposal for such a compact
> 
> YSDL was such a proposal.
> 
> > format that can handle the case where different instances of a list
> > with a mount point have different modules mounted, and some of them
> > have mounted models within the mounted models.
> >
> > As a concrete example, suppose we have the model
> > example-network-manager from Appendix B in
> > draft-ietf-netmod-schema-mount-01:
> >
> >    +--rw managed-devices
> >       +--rw device* [name]
> >          +--rw name         string
> >          +--rw transport
> >          +--rw root      yangmnt:mount-point managed-device
> >
> > Now, let's assume that two devices exist, A and B:
> >
> >   A  implements:  ietf-interfaces, example-netowrk-manager
> >   B  implements:  ietf-system
> >
> > In A, there is a managed-device C which implements ietf-interfaces and
> > ietf-ip.
> >
> > What would this look like in the compact form?
> 
> The module "example-network-manager" would be modified as follows:
> 
>    +--rw managed-devices
>       +--rw device* [name]
>          +--rw name         string
>          +--rw transport
>          +--rw (root)
>             +--:(A)
>             +--:(B)
>             +--:(C)

But A, B and C are device names (instances).

Also, C would be:

  /managed-devices/device[name="A"]/root/managed-devices/device[name="C"]


> And then:
> 
>    {
>      "ietf-ysdl:schemas": {
>        "top-schema": "host",
>        "schema": [
>          {
>            "name": "host",
>            "yang-modules": [ "example-logical-devices" ],
>            "subschema": [
>              {
>                "root":
>                  "/example-network-manager:managed-devices/device/root/A",

Can the root contain instance information?


/martin


>                "schemas": [ "schema-A" ]
>              }
>              {
>                "root":
>                  "/example-network-manager:managed-devices/device/root/B",
>                "schemas": [ "schema-B" ]
>              }
>            ]
>          },
>          {
>            "name": "schema-A",
>            "yang-modules": [
>              "ietf-interfaces",
>              "example-network-manager"
>            ],
>            "subschema": [
>              {
>                "root":
>                  "/example-network-manager:managed-devices/device/root/C",
>                "schemas": [ "schema-C" ]
>              }
>            ]
>          },
>          {
>            "name": "schema-B",
>            "yang-modules": [ "ietf-system" ]
>          },
>          {
>            "name": "schema-C",
>            "yang-modules": [
>              "ietf-interfaces",
>              "ietf-ip"
>            ]
>          }
>        ]
>      }
>    }
>          
> As long as all modules comprising the schema and their possible
> arrangement is known in advance, it should flexible enough. And as I
> said, I'd prefer to address this case in schema-mount because the model
> of trust between the server and client isn't changed in any way.
> 
> >
> > BTW, in this case, it is not obvious that the top-level server knows
> > anything about the data models mounted by C...
> 
> But then the top-level server cannot possibly serve data for C.
> 
> Lada
> 
> >
> >
> > /martin
> >
> >
> >
> >
> >> 
> >> > 
> >> >> 
> >> >> 2. Apart from YANG Library data, the server just specifies the mount
> >> >> points. A client of an NM protocol is expected to fetch a new instance
> >> >> of YANG library and/or subordinate mount points as state data from a
> >> >> well-known location under each mount point.
> >> > 
> >> > I think this depends on the use case.  For LNEs, I think this is
> >> > right.
> >> > For some of the other possible use cases being discussed only a
> >> > specific
> >> > model can be mounted.
> >> 
> >> I guess I need some example scenarios demonstrating that #1 cannot be
> >> used for LNE.
> >
> 
> -- 
> Ladislav Lhotka, CZ.NIC Labs
> PGP Key ID: E74E8C0C
> 

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

Reply via email to