[Libosinfo] [osinfo-db/libosinfo PATCH 00/31] Add support for guest features

Fabiano Fidêncio fidencio at redhat.com
Fri Nov 23 10:14:49 UTC 2018


This patch series adds support for guest series and initially introduces
the following features:
- cpu-hotplug
- pci-device-hotplug
- numa

As "features" is quite similar to the way devices are handled, a bunch
of work has been done in order to have an abstraction for OsinfoLink and
OsinfoLinkList so OsinfoDeviceLink, OsinfoFeatureLink and
OsinfoDeviceLinkList, and OsinfoFeatureLinkList could inherit from the
abstract types.

Also, due to the similarity of the code, a bunch of code refactoring has
been done so we can use pretty much the same code path for both Devices
and Features that are part of an OS.

This series adds the machinery needed for:
https://gitlab.com/libosinfo/osinfo-db/issues/12

- osinfo-db:
  Fabiano Fidêncio (1):
    schema: Add support to Guest Features

   data/schema/osinfo.rng.in | 25 +++++++++++++++++++++++++
   1 file changed, 25 insertions(+)

- libosinfo:
  Fabiano Fidêncio (30):
    osinfo: Introduce OsinfoFeature
    tests: Add basic test for OsinfoFeature
    osinfo: Introduce OsinfoFeatureList
    tests: Add basic test for OsinfoListFeature
    osinfo: Introduce OsinfoLink
    tests: Add basic tests for OsinfoLink
    devicelink: Inherit from OsinfoLink
    osinfo: Use _link_get_target() instead of _device_link_get_target()
    osinfo: Use _LINK_PROP_SUPPORTED instead of  _DEVICE_LINK_PROP_SUPPORTED
    devicelink: Remove OSINFO_DEVICELINK_PROP_SUPPORTED
    devicelink: Deprecate _get_target()
    osinfo: Introduce FeatureLink
    tests: Add basic test for FeatureLink
    tests: Add basic test for DeviceLink
    osinfo: Introduce OsinfoLinkList
    tests: Add basic tests for OsinfoLinkList
    devicelinklist: Inherit from OsinfoLinkList
    os: Use _linklist_get_targets()
    test-devicelinklist: Use _linklist_get_targets()
    devicelinklist: Deprecate _get_devices()
    osinfo: Introduce OsinfoFeatureLinkList
    tests: Add basic tests for FeatureLinkList
    os: Make devices functions more generic
    os: Make os aware of Guest Features
    loader: Make loader aware of Guest Features
    test-os: Add basic tests for Guest Features
    test-os: Add test_duplication_helper()
    test-os: Add test_features_duplication()
    test-os: Add test_features_inheritance_basic()
    test-os: Add test_features_inheritance_removal()

   .gitignore                                    |   7 +
   osinfo/Makefile.am                            |  12 +
   osinfo/libosinfo.syms                         |  24 +
   osinfo/osinfo.h                               |   6 +
   osinfo/osinfo_deployment.c                    |   4 +-
   osinfo/osinfo_devicelink.c                    |  83 +---
   osinfo/osinfo_devicelink.h                    |   8 +-
   osinfo/osinfo_devicelinkfilter.c              |   2 +-
   osinfo/osinfo_devicelinklist.c                |  14 +-
   osinfo/osinfo_devicelinklist.h                |   6 +-
   osinfo/osinfo_feature.c                       | 159 +++++++
   osinfo/osinfo_feature.h                       |  81 ++++
   osinfo/osinfo_featurelink.c                   |  95 ++++
   osinfo/osinfo_featurelink.h                   |  77 ++++
   osinfo/osinfo_featurelinklist.c               |  90 ++++
   osinfo/osinfo_featurelinklist.h               |  78 ++++
   osinfo/osinfo_featurelist.c                   |  91 ++++
   osinfo/osinfo_featurelist.h                   |  78 ++++
   osinfo/osinfo_link.c                          | 166 +++++++
   osinfo/osinfo_link.h                          |  79 ++++
   osinfo/osinfo_linklist.c                      | 102 ++++
   osinfo/osinfo_linklist.h                      |  78 ++++
   osinfo/osinfo_loader.c                        |  55 ++-
   osinfo/osinfo_os.c                            | 436 +++++++++++++-----
   osinfo/osinfo_os.h                            |   8 +
   osinfo/osinfo_platform.c                      |   2 +-
   po/POTFILES.in                                |   2 +
   tests/Makefile.am                             |  35 ++
   .../test-os-features-basic-1.xml              |  13 +
   .../test-os-features-basic-2-clone.xml        |  10 +
   .../test-os-features-basic-2.xml              |  10 +
   .../test-os-features-removed-1.xml            |  14 +
   .../test-os-features-removed-2-clone.xml      |  10 +
   .../test-os-features-removed-2.xml            |  10 +
   .../test-os-features-removed-3.xml            |  14 +
   .../test-os-features-removed-4-clone.xml      |  10 +
   .../test-os-features-removed-4.xml            |  10 +
   tests/test-devicelink.c                       |  71 +++
   tests/test-devicelinklist.c                   |   6 +-
   tests/test-feature.c                          |  58 +++
   tests/test-featurelink.c                      |  71 +++
   tests/test-featurelinklist.c                  | 317 +++++++++++++
   tests/test-featurelist.c                      | 228 +++++++++
   tests/test-link.c                             | 104 +++++
   tests/test-linklist.c                         | 419 +++++++++++++++++
   tests/test-os.c                               | 285 +++++++++++-
   46 files changed, 3302 insertions(+), 236 deletions(-)
   create mode 100644 osinfo/osinfo_feature.c
   create mode 100644 osinfo/osinfo_feature.h
   create mode 100644 osinfo/osinfo_featurelink.c
   create mode 100644 osinfo/osinfo_featurelink.h
   create mode 100644 osinfo/osinfo_featurelinklist.c
   create mode 100644 osinfo/osinfo_featurelinklist.h
   create mode 100644 osinfo/osinfo_featurelist.c
   create mode 100644 osinfo/osinfo_featurelist.h
   create mode 100644 osinfo/osinfo_link.c
   create mode 100644 osinfo/osinfo_link.h
   create mode 100644 osinfo/osinfo_linklist.c
   create mode 100644 osinfo/osinfo_linklist.h
   create mode 100644 tests/dbdata/os/libosinfo.org/test-os-features-basic-1.xml
   create mode 100644 tests/dbdata/os/libosinfo.org/test-os-features-basic-2-clone.xml
   create mode 100644 tests/dbdata/os/libosinfo.org/test-os-features-basic-2.xml
   create mode 100644 tests/dbdata/os/libosinfo.org/test-os-features-removed-1.xml
   create mode 100644 tests/dbdata/os/libosinfo.org/test-os-features-removed-2-clone.xml
   create mode 100644 tests/dbdata/os/libosinfo.org/test-os-features-removed-2.xml
   create mode 100644 tests/dbdata/os/libosinfo.org/test-os-features-removed-3.xml
   create mode 100644 tests/dbdata/os/libosinfo.org/test-os-features-removed-4-clone.xml
   create mode 100644 tests/dbdata/os/libosinfo.org/test-os-features-removed-4.xml
   create mode 100644 tests/test-devicelink.c
   create mode 100644 tests/test-feature.c
   create mode 100644 tests/test-featurelink.c
   create mode 100644 tests/test-featurelinklist.c
   create mode 100644 tests/test-featurelist.c
   create mode 100644 tests/test-link.c
   create mode 100644 tests/test-linklist.c

-- 
2.19.1




More information about the Libosinfo mailing list