[Haizea] Conceptual question

Borja Sotomayor borja at borjanet.com
Wed Nov 25 10:25:28 CST 2009


Hi Nikola,

> If I understand correctly, Haizea doesn't like when you try to do
> something behind its back, like stopping a VM or deleting it. We need to
> do it via "haizea-cancel-lease".
>
> So, what happens (or what is supposed to happen) if:
>
> 1. I decide to stop or suspend or pause a VM via ONE: "onevm stop 123"?
> 2. Shutdown a VM via its own interface (ssh to Linux and issue "shutdown
> now" or RDP to Windows and click on "Shutdown")

When using Haizea and OpenNebula together, it's important to
understand that Haizea acts as OpenNebula's scheduler, and it assumes
it has control over all the VMs running in the cluster. Anything that
isn't done by the scheduler is treated as an unexpected (or
"unscheduled") event.

Of course, unexpected changes in VMs are commonplace: a VM shuts down
"from the inside", or it crashes, or a suspend operation takes longer
than expected, etc. The current version of Haizea, however, doesn't
handle these too well (as you've noticed, in most cases, Haizea will
simply panic). Fixing this is in our roadmap, although there is no
timeline for it yet:

https://phoenixforge.cs.uchicago.edu/issues/show/6

However, our focus will be on reacting to unscheduled events caused by
VM and hardware failures. It sounds like the type of events you're
describing are those caused by a system administrator wanting to go
around the scheduler. Although these could be treated simply as "VM
failures" (if a VM disappears, Haizea wouldn't distinguish between the
VM disappearing because it crashed or because the sys admin used
OpenNebula directly to shut it down), I would prefer extending the
Haizea CLI and API to accomodate the tasks that a system administrator
is interested in doing. It sounds like haizea-cancel-lease already
fulfills the need to stop VMs (without having to stop them directly
with OpenNebula). What other functionality do you feel is important?


> With ONE default scheduler, we successfully employed ONE XML-RPC. With
> Haizea, what should we use? System.exec("haizea-cancel-lease")?

Actually, Haizea has an XML-RPC API too, but it hasn't been documented
yet. The best I can point you to right now is the source code of the
CLI commands that use the XML-RPC API (haizea-cancel-lease is one of
these):

https://phoenixforge.cs.uchicago.edu/repositories/entry/haizea/trunk/src/haizea/cli/rpc_commands.py

Cheers!
--Borja


More information about the Haizea mailing list