runV is a hypervisor-based runtime for OCF.
runV is compatible with OCF. However, due to the difference between hypervisors and containers, the following sections of OCF don't apply to runV:
- Namespace
- Capability
- Device
linuxandmountfields in OCI specs are ignored
The current release of runV supports the following hypervisors:
- KVM (QEMU 2.0 or later)
- Xen (4.5 or later)
- VirtualBox (Mac OS X)
The current release of runV supports the following distros:
- Ubuntu 64bit
- 15.04 Vivid
- 14.10 Utopic
- 14.04 Trusty
- CentOS 64bit
- 7.0
- 6.x (upgrade to QEMU 2.0)
- Fedora 20-22 64bit
- Debian 64bit
- 8.0 jessie
- 7.x wheezy (upgrade to QEMU 2.0)
# create a 'github.com/hyperhq' in your GOPATH/src
cd $GOPATH/src/github.com/hyperhq
git clone https://github.com/hyperhq/runv/
cd runv
./autogen.sh
./configure --without-xen
make
sudo make installTo run a OCF image, execute runv with the OCF JSON format file as argument, or have a config.json file in CWD.
Also, a kernel and initrd images are needed too. We recommend you to build them from HyperStart repo. If not specified, runV will try to load the kernel and initrd.img files from CWD.
runv --kernel kernel --initrd initrd.img
# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 4352 232 ttyS0 S+ 05:54 0:00 /init
root 2 0.0 0.5 4448 632 pts/0 Ss 05:54 0:00 sh
root 4 0.0 1.6 15572 2032 pts/0 R+ 05:57 0:00 ps auxPlease check the runC example to get the container rootfs. https://github.com/opencontainers/runc#examples
And you can get a sample OCF config.json at
https://github.com/opencontainers/runc#oci-container-json-format or
simply execute runv spec.