[xen-tools] ANNOUNCE: Argos
Steve Kemp
steve at steve.org.uk
Fri Mar 16 20:25:39 CET 2007
Previously there were some promises of discussion about a successor
to the mothballed Argo project. The intention was to create a new
system which would allow the management of Xen guests running upon
an arbitrary number of Xen hosts.
Despite a lot of people being interested this discussion didn't
really start getting productive until this week.
So now its time to announce what has happened.
With the assistance of Jamie van Dyke we have a new project
started and going quite well. Named Argos, as a simple link
with the previous project.
The intention is that the software will run something like this:
* Each Xen host/dom0 will run a small agent program.
* There is "a central server" which contacts each agent and can
instruct them to do things;
- list running instances
- list shutdown instances
- list all instances, regardless of running/not-running
- start domU
- shutdown domU
- fetch information about a domU
The transport mechanism between the nodes and the central
server isn't public (in the sense that it is supposed to be
just magic.)
However the central server will offer a public XMLRPC API
that may be used to write a fully-featured Xen control panel
in a portable and language neutral fashion.
For the first release I'm anticipating two control applications;
a web-based Ruby on Rails client, and also a command line shell.
So far the shell is feature complete, but not pretty. The
RoR client is still in development, but once it is complete
we'll know that the XMLRPC API is complete enough to be useful.
The shell looks something like this:
skx#> nodelist <- List nodes
mine
yours
localhost
skx#> node mine <- Take control of xen host "mine[.my.flat]"
skx# [mine]>
skx# [mine]> list <- list xen guests
Running:
nfsclient.my.flat
builder.my.flat
cfmaster.my.flat
Not running:
steve.my.flat
skx# [mine]> boot steve.my.flat
skx# [mine]> exit
Simple, but effective. The listing of nodes and clients can
be filtered by regular expressions and the shell will have tab
completion support once I can get my head around Ruby some more.
Ruby? The whole project is written in Ruby. A shock for
people who assume I can only live with Perl ;)
If you're interested in trying it out there is a stub webpage
here:
http://xen-tools.org/software/argos/
A CVS repository is located here:
http://argos.cvsrepository.org/
I'll look forward to any comments, bug reports, suggestions
or patches either on or off the list.
Steve
--
http://www.steve.org.uk/
More information about the xen-tools-discuss
mailing list