Coder Social home page Coder Social logo

giantswarm / onsho Goto Github PK

View Code? Open in Web Editor NEW
10.0 18.0 0.0 363 KB

Manage QEMU VMs that will be provisioned by Mayu. With Onsho you can create CoreOS clusters on a single machine.

Home Page: https://giantswarm.io/products/

License: Apache License 2.0

Makefile 6.88% Go 93.12%

onsho's Introduction

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.

onsho's People

Contributors

calvix avatar hectorj2f avatar marians avatar puja108 avatar teemow avatar webwurst avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

onsho's Issues

No output when using `--no-tmux`

When starting moa like this, I don't see any output:

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

Can this be improved? Or is that more complicated?

Permission error on Ubuntu for device 'bridge'

On Ubuntu I get the following error:

$ moa create --num-vms=1 --image=ipxe/ipxe.iso --no-tmux
failed to create tun device: Operation not permitted
failed to launch bridge helper
qemu-system-x86_64: -net bridge,br=bond0,vlan=0: Device 'bridge' could not be initialized
 - exit status 1

Starting moa with sudo works.

On Arch it runs without sudo.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.