[libvirt] [PATCH] New APIs for checking some object properties

Daniel Veillard veillard at redhat.com
Wed Oct 21 11:54:00 UTC 2009


On Wed, Oct 21, 2009 at 11:54:14AM +0100, Daniel P. Berrange wrote:
> Introduce a number of new APIs to  expose some boolean properties
> of objects, which cannot otherwise reliably determined, nor are
> aspects of the XML configuration.
> 
>  * virDomainIsActive: Checking virDomainGetID is not reliable
>    since it is not possible to distinguish between error condition
>    and inactive domain for ID of -1.
>  * virDomainIsPersistent: Check whether a persistent config exists
>    for the domain
> 
>  * virNetworkIsActive: Check whether the network is active
>  * virNetworkIsPersistent: Check whether a persistent config exists
>    for the network
> 
>  * virStoragePoolIsActive: Check whether the storage pool is active
>  * virStoragePoolIsPersistent: Check whether a persistent config exists
>    for the storage pool
> 
>  * virInterfaceIsActive: Check whether the host interface is active
> 
>  * virConnectIsSecure: whether the communication channel to the
>    hypervisor is secure
>  * virConnectIsEncrypted: whether any network based commnunication
>    channels are encrypted
> 
> NB, a channel can be secure, even if not encrypted, eg if it does
> not involve the network, like a UNIX socket, or pipe.

  Okay, this makes sense !

>  include/libvirt/libvirt.h.in |   16 +++
>  src/libvirt.c                |  298 ++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 314 insertions(+), 0 deletions(-)
> 
> diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in
> index 6186d4e..05a164b 100644
> --- a/include/libvirt/libvirt.h.in
> +++ b/include/libvirt/libvirt.h.in
> @@ -1649,6 +1649,22 @@ int virStreamAbort(virStreamPtr st);
>  int virStreamFree(virStreamPtr st);
>  
>  
> +int virDomainIsActive(virDomainPtr dom);
> +int virDomainIsPersistent(virDomainPtr dom);
> +
> +int virNetworkIsActive(virNetworkPtr net);
> +int virNetworkIsPersistent(virNetworkPtr net);
> +
> +int virStoragePoolIsActive(virStoragePoolPtr pool);
> +int virStoragePoolIsPersistent(virStoragePoolPtr pool);
> +
> +int virInterfaceIsActive(virInterfacePtr iface);
> +
> +int virConnectIsEncrypted(virConnectPtr conn);
> +int virConnectIsSecure(virConnectPtr conn);

  The only small remark I would have is that it's not consistent with
int                     virDomainGetAutostart   (virDomainPtr domain,
                                                 int *autostart);

which is also looking at a boolean value. But since we don't expect to
add a way to modify those properties (i.e. no Set operation) I think
it's fine to go with the simpler signature you suggest.

[...]
> +/**
> + * virDomainIsPersistent:
> + *
> + * Determine if the domain has a persistent configuration

maybe emphasise a bit on the definition and try to hook up to
the 'Defined' terminology used in the API for example:

    * which means it will still be defined after being terminated


> +/**
> + * virNetworkIsPersistent:
> + *
> + * Determine if the network has a persistent configuration

similar

> + * Returns > 0 if persistent, 0 if transient, -1 on error
> + */
C[...]
> +/**
> + * virStoragepoolIsActive:

typo

  virStoragePoolIsActive

> + *
> + * Determine if the storagepool is currently running

missing space

  * Determine if the storage pool is currently running

> + *
> + * Returns > 0 if running, 0 if inactive, -1 on error

> +/**
> + * virStoragepoolIsPersistent:

  StoragePool

> + *
> + * Determine if the storagepool has a persistent configuration

 -> defined
> + *
> + * Returns > 0 if persistent, 0 if transient, -1 on error
> + */

  With those small fixes in, ACK !

   thanks !

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list