incubator-cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Huang <>
Subject RE: FS for host updates notifications
Date Mon, 01 Oct 2012 22:15:37 GMT
> Another alternative for achieving this (without adding the per-hypervisor
> logic to CloudStack itself) might be to build a framework for plugging in best-
> of-breed update tools for the various hypervisors (and bare metal servers).
> Example: provide the KVM update feature via a combination of puppet
> manifests and mcollective instructions, where CloudStack isn't responsible
> for the actual update tracking or installation of updates, merely calling an
> appropriate external tool to query status and force policy updates.  A simple
> command line specification for inputs and outputs could allow for various
> environments to have scripts that drive the process that's most appropriate
> for their specific conditions.
> Thoughts?


I don't see CloudStack as completely just orchestration.  It should be the entire stack of
tools to make cloud work including management.  However, I don't see any reason to normalize
this functionality into one call and provide different adapters for that call.  

The key is to decouple orchestration from these services.  Therefore, I think it makes more
sense for this host update feature to be self-contained within a plugin.  With a plugin, you
can add APIs to cloudstack's APIs via the PluggableService interface to enact the way to update
a specific type of hypervisor.

For example, I can see the following for XenServer.

Cloud-plugin-xenserver.jar contains the following interfaces implemented
  - PluggableService: to introduce APIs to self-manage.  For example, for the administrator
to invoke to see if there are updates to XenServer or to set a periodic update check policy.
  - HypervisorGuru: to implement the provisioning needed for hypervisors when a VM is started
  - ServerResource: to implement the actual interface to different versions of xenserver
  - Discoverer: to implement different ways to add different versions of XenServer into CloudStack.

You can even write cloud-plugin-xenserver-56, cloud-plugin-xenserver-60, etc to have different
plugin jars to work with different versions of the XenServer.

By doing this, then KVM or VmWare plugins can introduce its own functionalities and features.


View raw message