[Libosinfo] Resources inheritance for OSes, I need some help/feedback!
Fabiano Fidêncio
fidencio at redhat.com
Tue Nov 13 10:27:47 UTC 2018
On Tue, 2018-11-13 at 09:58 +0000, Daniel P. Berrangé wrote:
> On Tue, Nov 13, 2018 at 10:10:17AM +0100, Fabiano Fidêncio wrote:
> > People,
> >
> > I'm working on making OsinfoResources inherited for OSes that
> > derives-
> > from/clones another OSes. The inheritance, IMO, should work like:
> > - os1 has:
> > <resources arch="all">
> > <minimum>
> > <cpu>1000000000</cpu>
> > <ram>1073741824</ram>
> > </minimum>
> > </resources>
> >
> > - os2, which inherits the values from os1, has:
> > <resources arch="all">
> > <minimum>
> > <n-cpus>2</n-cpus>
> > </minimum>
> > </resources>
>
> I wonder about making inheritance explicit, eg for os2, have
>
> <resources arch="all" inherit="yes">
> <minimum>
> <n-cpus>2</n-cpus>
> </minimum>
> </resources>
>
> the benefit of this is that.... [1]
Okay, this idea makes things easier, I like it.
>
> > - When calling osinfo_resources_get_cpu(os2), I'd expect to get:
> > 1000000000.
> >
> >
> > In order to achieve so, we'll need a few more changes in the way
> > resources are added to OSes:
> > - Do *not* have duplicated resources for the same OS;
> > - This can be easily done in osinfo_os_add_*_resources() + tests
> > to
> > catch this situation;
> > - Do *not* have more than one resources with the same arch for the
> > same
> > OS;
> > - Although this can be easily done in
> > osinfo_os_add_*_resources() as
> > well, I'd go only for tests to catch this situation;
>
> These points look tangential to inheritance to me. Or to put it
> another
> way, shouldn't we ensure uniqueness regardless of whether we have
> inheritance or not.
What would be the use case of having different resources set for the
very same architecture in an OS?
>
>
> > - Have a way to specify that a resource field shouldn't be
> > inherited;
> > - Here I can basically see two different approaches, and my
> > personal
> > preference would be the former:
> > - A specific value to be set to the field that will just be
> > checked
> > when merging the resources' content when doing the inheritance
> > (suggestions are welcome and remember we can't use -1);
> > - Add an extra attribute to the elements and have a new
> > structure
> > (similar to DeviceLinks) and play with it in the same way I
> > proposed
> > for removed devices*.
>
> [1]...you solve this problem more attractively IMHO.
>
> Regards,
> Daniel
Best Regards,
--
Fabiano Fidêncio
More information about the Libosinfo
mailing list