incubator-cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Huang <Alex.Hu...@citrix.com>
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?

+1

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.


--Alex
  

Mime
View raw message