This is a Vagrant plugin that adds an User Mode Linux provider to Vagrant, allowing it to start,shutdown/halt and ssh to UML local instances.
- Vagrant (tested with version 2.0*, 2.1+)
- iptables
- uml-utilities
- mtools
- Ruby rake
- Ruby bundler
git clone https://github.com/algolia/vagrant-uml.git
cd vagrant-uml
rake build
vagrant plugin install ./pkg/vagrant-uml-0.0.2.gem
The first step is adding a UML compatible vagrant box:
vagrant box add https://alg-archistore.s3.amazonaws.com/public/infra/vagrant/uml/xenial64/box_metadata-0.0.2.json
vagrant init algolia/uml/xenial64
vagrant up --provider uml
An UML vagrant box is composed by the following elements:
- a runnable UML kernel named 'linux-SOMEVERSION'
- a filesystem image
- an info.json (optionnal) mentionning the author, the company and homepage
- a metadata.json file describing the box with the following information
- the provider: "uml"
- the box version
- the rootfs file name stored in the box
- the kernel version/suffix
- a list of features provided by the kernel
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request