Update readme & docs

This commit is contained in:
dave 2016-12-28 16:30:37 -08:00
parent 3a5f4ace3b
commit 2d2b4ccae4
3 changed files with 61 additions and 38 deletions

View File

@ -1,5 +1,62 @@
zhypervisor
===========
Z Hypervisor
============
A minimal hypervisor API based on QEMU.
A minimal hypervisor based on QEMU, with HTTP API
Requirements
============
- kvm kernel module
- Qemu (Specifically, qemu-system-x86_64)
- brctl (part of bridge-utils on Ubuntu)
- an ethernet bridge named br0
- it must run as root
Install
=======
- Check out this repo, install using pip3
- Create a config (see example/zd.json)
- Run `zd -c|--config /path/to/zd.json`
HTTP API
========
*GET /api/v1/create_disk*
Create a storate disk to use with machines. Params:
- datastore: datastore name such as 'default'
- name: arbitrary disk name like 'ubuntu-root.bin'
- size: size in megabytes
- fmt: format, raw or qcow2
*GET /api/v1/machine/:id/start*
Start a machine given its id
*GET /api/v1/machine/:id/stop*
Stop a machine given its id
*GET /api/v1/machine/:id/restart*
Stop a machine given its id
*GET /api/v1/machine/:id*
Get the description of a machine or all machines if no id passed
*PUT /api/v1/machine/:id*
Create a new machine or update an existing machine. Params:
- machine_id: alphanumeric name for the name
- machine_type: type of virtualization to run the machine with
- machine_spec: serialized json object describing the machine. See the 'spec' key of example/ubuntu.json
*DELETE /api/v1/machine/:id*
Delete a machine give its id

View File

@ -1,34 +0,0 @@
{
"machine_id": "banutoo2",
"machine_type": "q",
"spec": {
"options": {
"autostart": true,
"respawn": true
},
"properties": {
"cores": 2,
"mem": 1024,
"drives": [
{
"file": "banutoo2.bin",
"datastore": "realm",
"index": 0,
"if": "virtio"
}
],
"netifaces": [
{
"type": "nic",
"vlan": 0,
"model": "e1000",
"macaddr": "82:25:60:41:D5:98"
},
{
"type": "tap"
}
],
"vnc": 6
}
}
}

View File

@ -11,7 +11,7 @@
"mem": 1024,
"drives": [
{
"file": "banutoo.bin",
"file": "ubuntu-root.bin",
"datastore": "realm",
"index": 0,
"if": "virtio"