[Libvirt-cim] [PATCH 0/8] Support for full function consoles

John Ferlan jferlan at redhat.com
Mon Sep 9 14:02:08 UTC 2013


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




More information about the Libvirt-cim mailing list