Lou Berger <[email protected]> wrote: > Martin, > > On 09/02/2015 06:42 AM, Martin Bjorklund wrote: > > Andy Bierman <[email protected]> wrote: > >> On Fri, Aug 28, 2015 at 1:31 PM, Lou Berger <[email protected]> wrote: > >>> Can one of you give an example of how this word work for a device (which > >>> may be physical or virtual) that allocates done resources, say interfaces > >>> to one logical entity (router, system, etc) and other resources to a > >>> second > >>> entity? And of course I want to manage all with yang and the first and > >>> second (sub) entity must be completely independent and ignorant of each > >>> other. > > > > [...] > > > >> The logical system knows only about itself: > >> > >> /interfaces > >> /system > > > > This is important. > > > >> The / node is represented by <config> or <data> or <filter> in the > >> protocol. > >> > >> <get-config> > >> <source><running/></source> > >> <filter> > >> <interfaces /> > >> <system /> > >> </filter> > >> </getconfig> > >> > >> Each logical system can have its own "eth0" interface or whatever. > >> They are mapped to real interfaces in the physical system. > >> > >> All operations on the logical system are validated against its own > >> virtual datastore. YANG validation does not work on individual array > >> slices -- it only applies to an entire datastore. > > > > Yes. > > > >> On the physical server there needs to be a data model to manage the > >> logical servers (as Martin suggested). > >> > >> <config> <--- root on PHY server > >> <interfaces /> <--------------- contains the real interfaces, > >> including eth23 > >> <virtual-servers> > >> <virtual-server> > >> <name>vs1</name> > >> <itf-map> > >> <real-itf>eth23</real-itf> > >> <vir-itf>eth0</vir-itf> > >> <itf-map> > >> <more-virtual-server-params ... /> > >> <root> <----------- YANG mount point (virtual > >> server root) > >> <interfaces> > >> <interface> > >> <name>eth0</name> > >> ... > >> </interface> > >> </interfaces> > >> <system ... /> > >> </root> > >> </virtual-server> > >> </virtual-servers> > >> </config> > > > > I like this, but I would actually not use mount here. I don't think > > it is necessary. This would be a model for devices that support > > multiple 'virtual-servers' / 'logical-network-elements'. So in this > > model you configure these logical-network-elements and allocate > > resources like interfaces etc to them. For true virtual servers, > > you'd also configure the NETCONF server and authentication params, > > meaning that each such virtual server has its own config, which is > > completely separate from the others. In this architecture, it would > > not be correct to mount all the models in the virtual server list. > > > > We discussed this in the DT and (I think) agreed there is room / need > for both approaches based on device owner/client management model (i.e., > is the device owner responsible for client config, device owner without > client view.) Do you have a reference for a model that can be used to > support this, or just thinking one is needed?
I don't know if it is possible to find agreement among hypervisor implementations etc to find a common model. But from a YANG language perspective I think it is pretty straightforward. Since each virtual server is truly virtual, there is no need for the mount functionality in such a model. As for the other model with logical systems within a real system, where each logical system tries to present its own 'system view' of the config and state, even though in reality there is just one config, I think a mechanism like 'mount' would be useful. If it was done with 'mount' instead of the proposed model in draft-rtgyangdt-rtgwg-device-model-00, it doesn't cost anything for the 99% (more?) of all systems that do not have this kind of logical systems, and data models would not have to augment the /device/logical-network-elements/logical-network-element path. /martin _______________________________________________ netmod mailing list [email protected] https://www.ietf.org/mailman/listinfo/netmod
