In a nutshell, dwarf is OpenStack API on top of local libvirt/KVM. It supports a subset of the Keystone, Glance and Nova APIs to manage images and instances on the local machine.
Lots :-) It only supports a subset of the OpenStack API and it currently doesn't do user authentication. Meaning everybody who can log into the machine can manipulate all images and instances managed through dwarf.
Everything is serialized and blocking. All calls to dwarf will be served in the order they're received and only return after they've finished. There's no scheduling and background processing.
After installation, check that the settings in '/etc/dwarf.conf' match your environment. You need to restart dwarf if you make any modifications: $ sudo initctl restart dwarf
Set the OpenStack environment variables (modify the port number accordingly, if you changed it in the config file): $ export OS_AUTH_URL=http://localhost:35357/v2.0/ $ export OS_COMPUTE_API_VERSION=1.1 $ export OS_REGION_NAME=dwarf-region $ export OS_TENANT_NAME=dwarf-tenant $ export OS_USERNAME=dwarf-user $ export OS_PASSWORD=dwarf-password
At the moment, the following commands are supported:
keystone token-get keystone catalog
glance image-create glance image-delete glance image-list glance image-show glance image-update
nova flavor-create nova flavor-delete nova flavor-list nova flavor-show
nova image-list nova image-show
nova keypair-add nova keypair-delete nova keypair-list nova keypair-show
nova boot nova console-log nova delete nova list nova reboot nova show
Default compute flavors are automatically added, check them with: $ nova flavor-list
Before you can boot an instance, you need to add an image and a keypair:
$ nova keypair-add
When booting an instance, the instance will receive a DHCP IP address from
libvirt's dnsmasq. It takes a bit until that happens, check the status with:
$ nova show
Check the log at /var/lib/dwarf/dwarf.log.