This patch series contains the necessary changes to build virtual clusters.

I was able to initialize a cluster, create instances (diskless, file-based,
using the fake hypervisor), fail-over the master role, verify the cluster, and
some other things—all on the same physical machine.

This implementation is still somewhat rough and will need further refinement.

Regarding the Haskell code in the last patch: It compiles and appears to work
on my machine. Someone with more Haskell-fu than me will have to see if there's
a better way.

Michael Hanselmann (7):
  bootstrap.SetupNodeDaemon: Stop hardcoding bind address
  Add new module for virtual clusters
  daemon-util: Support virtual clusters
  netutils: Use virtual hostname if set
  Implement virtual cluster support in Python code
  Add vcluster-setup utility
  Add support for GANETI_ROOTDIR in Haskell code

 .gitignore                       |    1 +
 Makefile.am                      |   11 ++
 daemons/daemon-util.in           |    7 +-
 htools/Ganeti/Path.hs            |   26 ++--
 lib/backend.py                   |    8 ++
 lib/bootstrap.py                 |   14 +--
 lib/hypervisor/hv_xen.py         |    7 +-
 lib/jqueue.py                    |   15 ++-
 lib/netutils.py                  |    7 +-
 lib/pathutils.py                 |   20 ++--
 lib/rpc.py                       |    5 +-
 lib/ssh.py                       |   22 +++-
 lib/vcluster.py                  |  244 ++++++++++++++++++++++++++++++++++++++
 test/ganeti.vcluster_unittest.py |  237 ++++++++++++++++++++++++++++++++++++
 tools/vcluster-setup.in          |  167 ++++++++++++++++++++++++++
 15 files changed, 749 insertions(+), 42 deletions(-)
 create mode 100644 lib/vcluster.py
 create mode 100755 test/ganeti.vcluster_unittest.py
 create mode 100644 tools/vcluster-setup.in

-- 
1.7.6

Reply via email to