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...
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