[libvirt] Update on the goal page, patch and discussion

Eric Blake eblake at redhat.com
Fri Mar 25 15:41:53 UTC 2011


On 03/24/2011 04:40 AM, Daniel Veillard wrote:
>  It is a patch but beyond the unevitable spelling errors it contains
> I would appreciate some feedback on the content, which also defines the
> limits of the project.
> 
>  Some significant things to note in the diff below:
>    - we do extend libvirt scope beyond purely managing domains, there is
>      already a number of blocks which are here as helpr functions to
>      manage the resources on the host.
>    - we are expanding in the direction of libvirt being sufficient to do
>      most of the management on the Host (but within the limits of the need
>      for virtualization, e.g. managing users on the host is out of scope)
>    - we don't require anymore APIs to be supported by multiple
>      hypervisors to get in, it's already the case in practice, but we
>      should still make sure the semantic of those APIs are clear. We
>      added quite a bit for QEmu, but for example I saw on IRC that VBox
>      could emulate a network unplug/replug on a domain interface, and
>      that would be a good addition even if a priori no other hypervisor
>      supports it.
>    - Make clear that all libvirt APIs are available remotely, which is
>      key to use libvirt for building management tools.
>    - link the goal page from the project main page
> 
> As for libvirt project directions, I think it just reflects the natural
> evolution in the last couple of years. We are less hypervisor agnostic
> and extending in the Host management. Clearly there is interest in
> making sure libvirt is complete in term of features for the hypervisors
> supported, especially the ones like KVM or LXC which don't really have
> integrated management library.
> 
> Maybe I should have added a bit more about the security aspect, as
> integration of security context and making sure remote access are
> secured are very important additions to the library.
> 
>  Wording and content comments welcome, I guess we are all agreeing
> but the goals of the project as written are certainly up for discussion :-)
> 
> Daniel
> 
> diff --git a/docs/goals.html.in b/docs/goals.html.in
> index 8f0d075..6394709 100644
> --- a/docs/goals.html.in
> +++ b/docs/goals.html.in
> @@ -16,20 +16,32 @@
>      <p class="image">
>        <img alt="Hypervisor and domains running on a node" src="node.gif"/>
>      </p>
> -    <p>Now we can define the goal of libvirt: to provide a common generic
> -    and stable layer to securely manage domains on a node. The node may be
> -    distant and libvirt should provide all APIs needed to provision, create,
> -    modify, monitor, control, migrate and stop the domains, within the limits
> -    of the support of the hypervisor for those operations. Multiple nodes may
> -    be accessed with libvirt simultaneously but the APIs are limited to
> -    single node operations.</p>
> +    <p>Now we can define the goal of libvirt: <b> to provide a common and
> +    stable layer sufficient to securely manage domains on a node, possibly
> +    distant</b>.</p>

I think 'possibly remote' reads better than 'possibly distant'.

> +    <p> As a result, libvirt should provide all APIs needed to do the
> +    management like: provision, create, modify, monitor, control, migrate

s/management like/management, such as/

> +    and stop the domains - within the limits of the support of the hypervisor
> +    for those operations. Some operations which may be hypervisor specific,
> +    if needed for domain management should be provided too.

Yes, it makes sense to document that we don't mind providing
well-documented hypervisor-specific operations.  But the wording might
sound better as:

Not all hypervisors provide the same operations; but if an operation is
useful for domain management of even one specific hypervisor it is worth
providing in libvirt.

> Multiple nodes
> +    may be accessed with libvirt simultaneously but the APIs are limited to

s/ but/, but/

> +    single node operations. Node ressource operations which are needed

s/ressource/resource/

> +    for the management and provisioning of domains are also in the scope of
> +    the libvirt API, like interface setup, firewall rules, storage management
> +    and in general provisioning APIs.

s/like/such as/
s/and in general/and general/

> Libvirt will also provide the state
> +    monitoring APIs needed to implement management policies, obviously
> +    checking domain state but also expose local node resources consumption.

s/expose local node resources/exposing local node resource/

>      <p>This implies the following sub-goals:</p>
>      <ul>
> -      <li>the API should not be targeted to a single virtualization environment
> -    which also means that some very specific capabilities which are not generic
> -    enough may not be provided as libvirt APIs</li>
> +      <li>All API can be carried remotely though secure APIs</li>
> +      <li>While most API will be generic in term of hypervisor or Host OS,
> +    some API may be targeted to a single virtualization environment
> +    as long as the semantic for the operations from a domain management
> +    perspective is clear</li>

I agree with this change.

>        <li>the API should allow to do efficiently and cleanly all the operations
> -    needed to manage domains on a node</li>
> +    needed to manage domains on a node including resource provisioning and
> +    setup</li>

s/node including/node, including/

-- 
Eric Blake   eblake at redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 619 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20110325/a8c78d60/attachment-0001.sig>


More information about the libvir-list mailing list