[Libosinfo] [osinfo-db/libosinfo PATCH 00/18] Deal with "deprecated" and "removed" devices

Daniel P. Berrangé berrange at redhat.com
Mon Nov 12 09:31:11 UTC 2018


On Thu, Nov 08, 2018 at 07:55:19AM +0100, Fabiano Fidêncio wrote:
> This patchseries aim to have OSes properly dealing with deprecated and
> removed devices. The path I've taken is:

The notion of "removed" devices makes sense as a break to stop the
inheritance from earlier OS version.

I'm more interested in the notion of deprecated devices though. Can
you give a clear example of where that would be used. To me this feels
like an overly crude/coarse concept and so not convinced we should have
that.

> - Use OsinfoDeviceLink to store whether the device is deprecated/removed
> - Add a new API in OsinfoOs that says whether a device is deprecated or
>   not
> - Filter out the removed devices from _get_devices(),
>   _get_device_links(), _get_all_devices() and _get_all_device_links()
> - A bunch of tests to ensure I'm not breaking anything, neither that
>   something will end up broken in the future;
> 
> Now, questions ...
> - Shall we do the same for platform and deployment?
> - I've introduced and exposed osinfo_os_get_all_device_links(), and the
>   rationale for exposing it is basically for coherence with the
>   osinfo_os_get_all_devices() .... However, it could totally be a
>   private method. What's the preference here?
> 
> *osinfo-db:
>   Fabiano Fidêncio (2):
>     schema: Add "deprecated" attribute to device element
>     schema: Add "removed" attribute to devices element
> 
>    data/schema/osinfo.rng.in | 10 ++++++++++
>    1 file changed, 10 insertions(+)
> 
> *libosinfo:
>   Fabiano Fidêncio (16):
>     devicelinklist: Fix _get_devices()
>     tests: Add basic tests for devicelinklist
>     test-devicelinklist: Add _get_devices() test
>     tests-os: Add test_devices_inheritance_basic()
>     loader: Deal with "deprecated" devices for an OS
>     os: Add osinfo_os_get_all_device_links()
>     test-os: Add test_devices_inheritance_deprecation()
>     loader: Deal with "removed" devices for an OS
>     os: Add osinfo_os_get_devices_internal()
>     os: Add osinfo_os_get_device_links_internal()
>     os: Add osinfo_os_get_all_device_links_internal()
>     os: Use get_devices_internal in _get_all callback
>     os: Use get_device_links_internal in _get_all callback
>     os: Add add_entity_to_list_check()
>     os: Deal with "removed" devices
>     test-os: Add test_devices_inheritance_removal()
> 
>    osinfo/libosinfo.syms                         |   4 +
>    osinfo/osinfo_devicelink.h                    |   2 +
>    osinfo/osinfo_devicelinklist.c                |   6 +-
>    osinfo/osinfo_loader.c                        |  18 +
>    osinfo/osinfo_os.c                            | 265 +++++++++++++--
>    osinfo/osinfo_os.h                            |   2 +
>    tests/Makefile.am                             |   5 +
>    .../device/libosinfo.org/test-device-one.xml  |   7 +
>    .../libosinfo.org/test-os-devices-basic-1.xml |  13 +
>    .../test-os-devices-basic-2-clone.xml         |  10 +
>    .../libosinfo.org/test-os-devices-basic-2.xml |  10 +
>    .../test-os-devices-deprecated-1.xml          |  14 +
>    .../test-os-devices-deprecated-2-clone.xml    |  10 +
>    .../test-os-devices-deprecated-2.xml          |  10 +
>    .../test-os-devices-deprecated-3.xml          |  14 +
>    .../test-os-devices-deprecated-4-clone.xml    |  10 +
>    .../test-os-devices-deprecated-4.xml          |  10 +
>    .../test-os-devices-removed-1.xml             |  14 +
>    .../test-os-devices-removed-2-clone.xml       |  10 +
>    .../test-os-devices-removed-2.xml             |  10 +
>    .../test-os-devices-removed-3.xml             |  14 +
>    .../test-os-devices-removed-4-clone.xml       |  10 +
>    .../test-os-devices-removed-4.xml             |  10 +
>    tests/test-devicelinklist.c                   | 313 ++++++++++++++++++
>    tests/test-os.c                               | 268 +++++++++++++++
>    25 files changed, 1032 insertions(+), 27 deletions(-)
>    create mode 100644 tests/dbdata/device/libosinfo.org/test-device-one.xml
>    create mode 100644 tests/dbdata/os/libosinfo.org/test-os-devices-basic-1.xml
>    create mode 100644 tests/dbdata/os/libosinfo.org/test-os-devices-basic-2-clone.xml
>    create mode 100644 tests/dbdata/os/libosinfo.org/test-os-devices-basic-2.xml
>    create mode 100644 tests/dbdata/os/libosinfo.org/test-os-devices-deprecated-1.xml
>    create mode 100644 tests/dbdata/os/libosinfo.org/test-os-devices-deprecated-2-clone.xml
>    create mode 100644 tests/dbdata/os/libosinfo.org/test-os-devices-deprecated-2.xml
>    create mode 100644 tests/dbdata/os/libosinfo.org/test-os-devices-deprecated-3.xml
>    create mode 100644 tests/dbdata/os/libosinfo.org/test-os-devices-deprecated-4-clone.xml
>    create mode 100644 tests/dbdata/os/libosinfo.org/test-os-devices-deprecated-4.xml
>    create mode 100644 tests/dbdata/os/libosinfo.org/test-os-devices-removed-1.xml
>    create mode 100644 tests/dbdata/os/libosinfo.org/test-os-devices-removed-2-clone.xml
>    create mode 100644 tests/dbdata/os/libosinfo.org/test-os-devices-removed-2.xml
>    create mode 100644 tests/dbdata/os/libosinfo.org/test-os-devices-removed-3.xml
>    create mode 100644 tests/dbdata/os/libosinfo.org/test-os-devices-removed-4-clone.xml
>    create mode 100644 tests/dbdata/os/libosinfo.org/test-os-devices-removed-4.xml
>    create mode 100644 tests/test-devicelinklist.c
> 
> -- 
> 2.19.1
> 
> _______________________________________________
> Libosinfo mailing list
> Libosinfo at redhat.com
> https://www.redhat.com/mailman/listinfo/libosinfo

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




More information about the Libosinfo mailing list