On 09/05/2013 11:36 AM, Viktor Mihajlovski wrote:
Motivation: the current libvirt-cim support for consoles is
very limited in that it doesn't allow to specify the target
and source types supported by libvirt. Having full support
of the libvirt console feature is however mandatory for
architectures like s390.
The current implementation using a Graphics_RASD to represent
consoles cannot easily be extended without breaking the existing
implementation (or without being entirely unusable).
Therefore a new RASD class is added to represent consoles in
the model. Since there's no SVPC resource type for a console
we use the combination of ResourceType = 1 (Other) and
OtherResourceType = "console" for the new RASD instances.
In order to be backward compatible, the only console type supported
by older libvirt-cim versions (target type 'pty') will still
be returned as Graphics_RASD. In the long run, this should be
deprecated.
Thilo Boehm (6):
schema: Add CIM_ResourceAllocationSettingData for console resources
schema: New SVPC types for chardev/consoles
libxkutil: Console Support
RASD: Provider Support for Console RASDs
VSMS: Support for domains with console devices
VSMS: add default console
Viktor Mihajlovski (2):
VSMS: Set resource types for default devices
Device: CIM_LogicalDevice for consoles
libxkutil/device_parsing.c | 316 ++++++++++++++++++-
libxkutil/device_parsing.h | 43 ++-
libxkutil/xmlgen.c | 191 +++++++++++-
schema/ResourceAllocationSettingData.mof | 247 ++++++++++++++-
schema/ResourceAllocationSettingData.registration | 5 +-
src/Virt_Device.c | 33 ++
src/Virt_RASD.c | 148 ++++++++-
src/Virt_VirtualSystemManagementService.c | 336 +++++++++++++++++++--
src/svpc_types.h | 102 ++++++-
9 files changed, 1384 insertions(+), 37 deletions(-)
Not quite sure where it is, but there is a bug somewhere in patches
2->5 as the cimtest 'RASD' for '03_rasd_errs.py' fails to find/add
the console device. The error message is "Expected 7 RASDs, got 6".
I also think there's an ordering problem. If I add the patches 1
at a time, patch #2 will cause the same cimtest to return 0 (zero)
RASD's (as found through debugging the cimtest test) if patches
3 and 4 are applied.
I decided to try an experiment to see if I could narrow things down.
The experiment was add each patch 1 at a time, then add patch 2 to the
set.
1,3 -> Returns found 6, then add patch 2 and returns found 0 RASD's
1,3,4 -> Returns found 6, then add patch 2 and returns found 0 RASD's
1,3,4,5 -> Returns found 6, then add patch 2 and returns expected 7 found 6
At the very least patch 2 needs to go after patch 5 or be merged with
patch 5 since it seems that's where the connection/implementation occurs.
I didn't dig deep into that test to try and figure out why the console
device was "missing".
John