[Libvirt-cim] [PATCH 0/6] Add Virtual Controller Device

Boris Fiuczynski fiuczy at linux.vnet.ibm.com
Fri Mar 21 11:57:45 UTC 2014


On 03/19/2014 03:49 AM, John Ferlan wrote:
> This is rework of the Controller patch series submitted by Xu Wang. I have
> built upon the constructs put in place by Xu with respect to reading and
> writing the XML, but for the remainder of the code I changed where the
> virtual controller lives.
>
> Xu's patches made a Controller RASD which had some issues regarding
> associations with other devices and pools.
>
> Rather than go with a RASD model, I have chosen to make a KVM_Controller
> virtual device to mimic a CIM_Controller device. This solution keeps things
In doing so you broke the DMTF Virtual System Profile!
http://www.dmtf.org/sites/default/files/standards/documents/DSP1057_1.0.0_0.pdf
Take a look at 7.3.1 which defines a Virtual System Configuration and a 
Virtual System Representation. It states the class concepts.
You need to use RASDs.

> at a lower level and has been able to pass the cimtest as well as the
> update a defined domain with a changed value test. This second test is
> what fails for RHEL7.
>
> As it turns out, it seems as long as a 'pci' device with model 'pci-root'
> is created, then things seem to work. The code relies on the previous patch
> code Xu created to read/write the XML file with some adjustments.
>
> Perhaps the only controversial patch (for me at least) is 6/6. I figured
> that after we've read everything and just before we go to create or update
> the guest that we need to make sure that at least the 'pci' device with
> model 'pci-root' exists.  This is similar to the add_default_devs() code,
Actually libvirt-cim should not be creating default devices but let 
libvirt do that. Reimplementing libvirt's default behavior would a 
overestimation of libvirt-cim's own capabilities and in the long run 
cause extra effort in maintaining default consistency.

> except that it's run after all that code prior to any add or update of
> the guest just before the "system_to_xml()" call is made.  I figure this
> is the last gasp to ensure that at least the 'pci' device is there which
> seems to be used by a number of "silently added" libvirt devices.
>
> John Ferlan (4):
>    Add virtual controller object defs
>    Change static API to global API
>    Controller Device Details
>    VSMS: Determine if default controller exists for KVM
>
> Xu Wang (2):
>    Add virtual controller device types
>    Parse/Store controller XML tags
>
>   Makefile.am                               |   2 +
>   libvirt-cim.spec.in                       |   2 +
>   libxkutil/device_parsing.c                | 119 +++++++++++++++++++++++++++-
>   libxkutil/device_parsing.h                |  15 ++++
>   libxkutil/xmlgen.c                        |  72 +++++++++++++++++
>   schema/Controller.mof                     |  47 +++++++++++
>   schema/Controller.registration            |  19 +++++
>   src/Virt_Device.c                         |  84 ++++++++++++++++++++
>   src/Virt_RASD.c                           |  21 +++--
>   src/Virt_RASD.h                           |   4 +
>   src/Virt_VirtualSystemManagementService.c | 106 ++++++++++++++++++++++++-
>   src/svpc_types.h                          | 127 ++++++++++++++++++++++++++++++
>   12 files changed, 602 insertions(+), 16 deletions(-)
>   create mode 100644 schema/Controller.mof
>   create mode 100644 schema/Controller.registration
>


-- 
Mit freundlichen Grüßen/Kind regards
    Boris Fiuczynski

IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Martina Köderitz
Geschäftsführung: Dirk Wittkopp
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294




More information about the Libvirt-cim mailing list