Hi Jd,

you brought up a very important discussion and please let me raise another
point to the current low level, implementation specific discussion.

WBEM (Web-Based Enterprise Management) and CIM (Common Information Model)
is the industry defined and accepted Standard for doing different kinds of
systems management. I guess you plan/are writing a systems management
application for KVM, so this technology might be of interest for you -
especially the SMASH profile (www.dmtf.org/standards/mgmt/smash/) and the
"System Virtualization, Partitioning and Clustering" profile
(www.dmtf.org/about/committees/SVPCCharter.pdf). CIM is a conceptional
framework consisting of an object-oriented meta-model and the CIM Schema (
comprehensive set of classes and objects providing effective building
blocks to model system resources).

CIM management application tasks are based on profiles and the CIM classes
part of them. This enables the management application to become independent
of product internal interfaces, which avoids the mentioned error phrone and
not well maintainable code. The resource access, discussed in the mails
before, is done by the so called CIM providers. They handle the
compatibility issues like changing interfaces/commands transparent for the
management application, while product specific features stay accessible.
They are modeled and included to the schema.

Our team has already some years of experience in enabling Linux for CIM and
we plan to CIM-enable KVM by writing the providers based on DMTF's SVPC
profile.

Mit freundlichen Grüßen/Regards

Heidi Eckhart
Software Engineer
Linux Technology Center - Systems Management

[EMAIL PROTECTED] / ++49-(0)35843-22661 / ++49-(0)7031-16-3193
http://sblim.wiki.sourceforge.net

*********************************************************************************

IBM Deutschland Entwicklung GmbH
Vorsitzender des Aufsichtsrats: Johann Weihen
Geschäftsführung: Herbert Kircher
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294


                                                                           
             "Daniel P.                                                    
             Berrange"                                                     
             <[EMAIL PROTECTED]                                          To 
             com>                      jd <[EMAIL PROTECTED]>             
             Sent by:                                                   cc 
             kvm-devel-bounces         kvm-devel                           
             @lists.sourceforg         <kvm-devel@lists.sourceforge.net>   
             e.net                                                 Subject 
                                       Re: [kvm-devel] Fwd: Re:  KVM       
                                       management and API                  
             05/01/07 04:18 AM                                             
                                                                           
                                                                           
             Please respond to                                             
                "Daniel P.                                                 
                 Berrange"                                                 
             <[EMAIL PROTECTED]                                             
                   com>                                                    
                                                                           
                                                                           




On Mon, Apr 30, 2007 at 07:01:55PM -0700, jd wrote:
> Does libvirt use ps -ef | grep qemu to find out qemu processes ? Or it
> manages only ones that are started using libvirt. Using some naming
scheme.

We only manage instances started by libvirt. We (briefly) considered 'ps
ef'
but this is not at all scalable, since getting a list of active domains is
quite a frequently invoked operation. In latest CVS of QEMU there is a new
option '-daemonize' and '-name string' which will make it leave a UNIX
domain
socket & pid file in a predictable location, but since that's not in any
release yet, we can't rely on it. There is also the issue of manage configs
of instances which aren't running & hence have no process.

> How do you know if a running process is using kvm kernel module or not ?

Since libvirt only manages instances it invokes, it knows whether we
launched the KVM version. Ideally a monitor command would be able to tell
us what accelerator is in use.

> libvirt seems to be connecting to  qemu console through qemud ? right ?
> You have done quite a bit of work to send command and parse. !! Isnt
> this error prone ? (will code for parsing work in different char set ?
> or qemu console is always guarenteed to be in english ?)

The console is always in English & even if it were translated in the
future,
we can control the environment the process is launched it to force it to
be in the C/POSIX locale. Anthony Liguori has done some work in recent
times to make some of the monitor commands easier / more predictable to
parse, so I'm not really worried about it currently.

The qemu monitor is really the recommended (and only) interface for
management apps which need to control aspects of QEMU's operation
on-the-fly. We use it for pause/resume, save/restore at this time. I
expect we'll make further use of it in the future, for example to set
the VNC password securely (passsing passwds on the command line or
via environment vars is not good).

> How do you find out what % of allocated memory is actually used by VM ?

Any app on the host can only ever tell how much memory was allocated
to a VM. To determine whether an OS is actually using all of this
allocation requires some form of agent in the guest OS to report back
on info.

> For cpu /proc seems to be used.. which seems fine, but will not work
> for QEMU on Windows.

Indeed not - it won't even work on non-Linux systems. There isn't any form
of standard API in POSIX world for getting process CPU usage, so we're
expecting
to have to implement this for each OS ported to. The code is well isolated
so porting it won't be hard.

Regards,
Dan.
--
|=- Red Hat, Engineering, Emerging Technologies, Boston.  +1 978 392 2496
-=|
|=-           Perl modules: http://search.cpan.org/~danberr/
-=|
|=-               Projects: http://freshmeat.net/~danielpb/
-=|
|=-  GnuPG: 7D3B9505   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505
-=|

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel



-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to