By adding this attribute we'll start having a way to allow resources
inheritance between OSes and its absence will be considered as "false".
An example of how it'll look like is:
foo:
<resources arch="all">
<minimum>
<n_cpus>1</n_cpus>
<storage>123456789</storage>
</minimum>
</resources>
bar (which derives-from/clones foo):
<resources arch="all" inherit="true">
<minimum>
<n_cpus>3</n_cpus>
<ram>12345678</ram>
</minimum>
</resources>
When querying for bar' minimum resources we should get:
n_cpus: 3
cpu: -1 (not set)
ram: 12345678
storage: 123456789
It means, basically all value *non* set for bar, will inherit the value
that's set for foo (in case we have any).
For the cases where we don't want to inherit something, we should do:
foo:
<resources arch="all">
<minimum>
<n_cpus>1</n_cpus>
<storage>123456789</storage>
</minimum>
</resources>
bar (which derives-from/clones foo):
<resources arch="all" inherit="false">
<minimum>
<n_cpus>3</n_cpus>
<ram>12345678</ram>
</minimum>
</resources>
When querying for bar' minimum resources we should get:
n_cpus: 3
cpu: -1 (not set)
ram: 12345678
storage: -1 (not set)
https://gitlab.com/libosinfo/osinfo-db/issues/15
Signed-off-by: Fabiano Fidêncio <[email protected]>
---
data/schema/osinfo.rng.in | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/data/schema/osinfo.rng.in b/data/schema/osinfo.rng.in
index 6693391..fef7d01 100644
--- a/data/schema/osinfo.rng.in
+++ b/data/schema/osinfo.rng.in
@@ -287,6 +287,11 @@
<attribute name='arch'>
<ref name='archnamesorwildcard'/>
</attribute>
+ <optional>
+ <attribute name='inherit'>
+ <ref name='bool'/>
+ </attribute>
+ </optional>
<interleave>
<optional>
<element name='minimum'>
--
2.19.1
_______________________________________________
Libosinfo mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/libosinfo