Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
deego is a vm manager for dummies (like me)
Python
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
deego
vows
.gitignore
.travis.yml
MANIFEST.in
Makefile
README.md
apt-packages
logo.png
python_requirements
setup.py

README.md

deego

Build Status

What is deego?

  • deego is a vm manager for dummies (like me);
  • deego is for those that feel threatened every time they need a VM;
  • deego is for those that want virtualization to be easy (as it should);
  • deego is all it can be and more (ok pushed a little here).

How do I create a VM?

A line of code is worth, well, the number of characters you need to type. So let's get to it.

from deego import VM

def main():
    vm = VM.create(
        cpu_count=2,
        ram=512, #MB
        disk_size=8000 #MB
    )
    vm.start() # this will block until VM booted
    print vm.ip
    print vm.run_command('ls /')

Man, this is kinda embarassing. I wanted to show more, but that's pretty much all I got.

What will deego use under the hood?

Glad you asked, since it's so freaking awesome cool stuff: libvirt. Yeah, I wanted to say more, but once again it's that simple.

deego will always try to select the best possible way to create the VM in your environment.

We'll try to create VMs using the providers in this order:

  • linux containers (LXCManager);
  • kvm (KVMManager);
  • vmware (VMWareManager);
  • virtual box (VBoxManager).

Please note that you can easily pass them to the VM class if you want a specific one:

from deego import VM, KVMManager

def main():
    vm = VM.create(
        cpu_count=2,
        ram=512,
        disk_size=8000,
        manager=KVMManager
    )
    vm.start() # this will block until VM booted
    print vm.ip
    print vm.run_command('ls /')

What OS does deego install VMs with?

Ubuntu server. We'll always try to use the latest stable version of ubuntu, so you don't have to worry about it.

How does deego provision my VM?

The easiest way of provisioning a VM: not doing it. Provisioning is entirely left as an exercise to the reader.

I want to contribute! How to do it?

Fork, Code, Pull Request, Rinse, Repeat.

Something went wrong with that request. Please try again.