>
> We also have floated the idea of enabling anyone to create a valid system
> VM image, by defining the interface and operational requirements (perhaps
> also by providing puppet configuration manifests). I really like this idea,
> and
> some of the work required to make that a possibility might be required to
> deal with ASF restrictions, so options like that should be on the table as
> well.
>
> Thoughts? Comments? (even solutions would be good... ;-) )
I am firmly in this camp. I believe this is what CloudStack is created to do
but really have not done a very good job of to this date. Obviously, we can't
do it by 4.0 but I believe we should do the following.
1. Define the current functions provided by CloudStack as Services. So that
would be Virtual Routing Service, Template Service (SSVM), and Console Proxy
Service. There will be more to come but that's for later.
2. Define that a service can be launch in three manners:
a. As a process auto-launched by the management server in a dev
environment
b. As a process launched by the administrator
c. As a process running inside a Service VM (read current system vm)
launched by cloud stack.
3. When the service completes boot process, it self-registers with a service
directory (provided by cloudstack)
4. CloudStack can only utilize functions related to a service if the Service
Directory has a service registered to use it. (In case c, cloudstack can
decide at that time to auto-scale or let the admin scale the service vms. In
cases a and b, there's no scaling).
5. The template for the Service VM will have the following properties
a. Should contain generic scripts to let it download and provision the
service it is meant to deploy with from cloudstack.
b. Should be any linux based OS (too restrictive?)
c. may not be part of the deployment.
d. Can be put onto CS after CS starts by the administrator.
This has the following benefits.
- Decouple the VM OS from the Services provided.
- Allow others to add more services to CloudStack without need to understand
the CloudStack code.
- Allow the VM OS to be deployed outside of the normal distribution as to not
conflict with the licensing.
Please comment.
--Alex