Manage QEMU VMs that will be provisioned by Mayu. With Onsho you can create CoreOS clusters on a single machine.
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
host-conf
ipxe
tmux
vm
.gitignore
CONTRIBUTING.md
DCO
LICENSE
MAINTAINERS
Makefile
README.md
VERSION
create.go
destroy.go
list.go
main.go
population.yaml
restart.go
start.go
status.go
stop.go
version.go
wipe.go

README.md

Onsho

Go Report Card IRC Channel

Manage QEMU VMs that will be provisioned by Mayu. With Onsho you can replicate a Giant Swarm DC on a single machine or VM.

Prerequisites

Getting Onsho

Download the latest release from here: https://github.com/giantswarm/onsho/releases/latest

Clone the latest git repository version from here: https://github.com/giantswarm/onsho.git

How to build

Dependencies

  • tmux
  • qemu (>=2.4, including kvm support)
  • linux
  • builder (compiled and included in $PATH)

Building the standard way

make && sudo make install

Running Onsho

Setup

In order to give qemu cluster machines a separate network they can have fun in you have to create a network bridge:

sudo brctl addbr onsho0
sudo ip link set up dev onsho0
sudo ip addr add 10.0.3.251/22 dev onsho0

If you have systemd you can use systemd-networkd to create the bridge and make it remain after a reboot:

sudo cp host-conf/systemd-networkd/* /etc/systemd/network
sudo systemctl restart systemd-networkd
sudo systemctl enable systemd-networkd

To allow qemu-bridge-helper to manipulate our bridge add allow onsho0 to /etc/qemu/bridge.conf.

Start a cluster

Start a qemu cluster:

$ onsho create --num-vms=5 --image=ipxe/ipxe.iso # creates a 5 machine cluster
$ tmux a -t zoo                                # attach to the created tmux session

Debugging

The simplest setup to get some output would be this:

$ onsho create --num-vms=1 --image=ipxe/ipxe.iso --no-tmux

Further Steps

Check more detailed documentation: docs

Check code documentation: godoc

Future Development

  • Adapt Onsho to also work with VirtualBox on MacOS.

Contact

Contributing & Reporting Bugs

See CONTRIBUTING for details on submitting patches, the contribution workflow as well as reporting bugs.

License

Onsho is under the Apache 2.0 license. See the LICENSE file for details.

Origin of the Name

onsho (おんしょう[温床] pronounced "on-shou") is Japanese for breeding ground.