v1.1.0
This commit is contained in:
parent
156bc015c8
commit
3b45b92d1a
4 changed files with 43 additions and 23 deletions
|
@ -1,4 +1,4 @@
|
||||||
## [1.1.0](https://github.com/fgrehm/vagrant-lxc/compare/v1.0.1...master) (unreleased)
|
## [1.1.0](https://github.com/fgrehm/vagrant-lxc/compare/v1.0.1...1.1.0) (Jan 14, 2015)
|
||||||
|
|
||||||
BACKWARDS INCOMPATIBILITIES:
|
BACKWARDS INCOMPATIBILITIES:
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,7 @@ GIT
|
||||||
PATH
|
PATH
|
||||||
remote: .
|
remote: .
|
||||||
specs:
|
specs:
|
||||||
vagrant-lxc (1.0.1)
|
vagrant-lxc (1.1.0)
|
||||||
|
|
||||||
GEM
|
GEM
|
||||||
remote: https://rubygems.org/
|
remote: https://rubygems.org/
|
||||||
|
|
60
README.md
60
README.md
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
[![Build Status](https://travis-ci.org/fgrehm/vagrant-lxc.png?branch=master)](https://travis-ci.org/fgrehm/vagrant-lxc) [![Gem Version](https://badge.fury.io/rb/vagrant-lxc.png)](http://badge.fury.io/rb/vagrant-lxc) [![Code Climate](https://codeclimate.com/github/fgrehm/vagrant-lxc.png)](https://codeclimate.com/github/fgrehm/vagrant-lxc) [![Coverage Status](https://coveralls.io/repos/fgrehm/vagrant-lxc/badge.png?branch=master)](https://coveralls.io/r/fgrehm/vagrant-lxc) [![Gittip](http://img.shields.io/gittip/fgrehm.svg)](https://www.gittip.com/fgrehm/) [![Gitter chat](https://badges.gitter.im/fgrehm/vagrant-lxc.png)](https://gitter.im/fgrehm/vagrant-lxc)
|
[![Build Status](https://travis-ci.org/fgrehm/vagrant-lxc.png?branch=master)](https://travis-ci.org/fgrehm/vagrant-lxc) [![Gem Version](https://badge.fury.io/rb/vagrant-lxc.png)](http://badge.fury.io/rb/vagrant-lxc) [![Code Climate](https://codeclimate.com/github/fgrehm/vagrant-lxc.png)](https://codeclimate.com/github/fgrehm/vagrant-lxc) [![Coverage Status](https://coveralls.io/repos/fgrehm/vagrant-lxc/badge.png?branch=master)](https://coveralls.io/r/fgrehm/vagrant-lxc) [![Gittip](http://img.shields.io/gittip/fgrehm.svg)](https://www.gittip.com/fgrehm/) [![Gitter chat](https://badges.gitter.im/fgrehm/vagrant-lxc.png)](https://gitter.im/fgrehm/vagrant-lxc)
|
||||||
|
|
||||||
[LXC](http://lxc.sourceforge.net/) provider for [Vagrant](http://www.vagrantup.com/) 1.1+
|
[LXC](http://lxc.sourceforge.net/) provider for [Vagrant](http://www.vagrantup.com/) 1.6+
|
||||||
|
|
||||||
This is a Vagrant plugin that allows it to control and provision Linux Containers
|
This is a Vagrant plugin that allows it to control and provision Linux Containers
|
||||||
as an alternative to the built in VirtualBox provider for Linux hosts. Check out
|
as an alternative to the built in VirtualBox provider for Linux hosts. Check out
|
||||||
|
@ -14,10 +14,11 @@ to see it in action.
|
||||||
|
|
||||||
* Provides the same workflow as the Vagrant VirtualBox provider
|
* Provides the same workflow as the Vagrant VirtualBox provider
|
||||||
* Port forwarding via [`redir`](http://linux.die.net/man/1/redir)
|
* Port forwarding via [`redir`](http://linux.die.net/man/1/redir)
|
||||||
|
* Private networking via [`pipework`](https://github.com/jpetazzo/pipework)
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
* [Vagrant 1.1+](http://www.vagrantup.com/downloads.html)
|
* [Vagrant 1.5+](http://www.vagrantup.com/downloads.html) (tested with 1.7.2)
|
||||||
* lxc 0.7.5+
|
* lxc 0.7.5+
|
||||||
* `redir` (if you are planning to use port forwarding)
|
* `redir` (if you are planning to use port forwarding)
|
||||||
* `brctl` (if you are planning to use private networks, on Ubuntu this means `apt-get install bridge-utils`)
|
* `brctl` (if you are planning to use private networks, on Ubuntu this means `apt-get install bridge-utils`)
|
||||||
|
@ -25,18 +26,14 @@ to see it in action.
|
||||||
|
|
||||||
The plugin is known to work better and pretty much out of the box on Ubuntu 14.04+
|
The plugin is known to work better and pretty much out of the box on Ubuntu 14.04+
|
||||||
hosts and installing the dependencies on it basically means a `apt-get install lxc lxc-templates cgroup-lite redir`
|
hosts and installing the dependencies on it basically means a `apt-get install lxc lxc-templates cgroup-lite redir`
|
||||||
and a `apt-get update && apt-get dist-upgrade` to upgrade the kernel. For Debian
|
(older LXC versions like 0.7.5 shipped with Ubuntu 12.04 by default might require
|
||||||
hosts you'll need to follow the instructions described on the [Wiki](https://github.com/fgrehm/vagrant-lxc/wiki/Usage-on-debian-hosts)
|
[additional configurations to work](#backingstore-options)). For setting up other
|
||||||
and old lxc versions (like 0.7.5 shipped with Ubuntu 12.04 by default) might require
|
types of hosts please have a look at the [Wiki](https://github.com/fgrehm/vagrant-lxc/wiki).
|
||||||
[additional configurations to work](#backingstore-options).
|
|
||||||
|
|
||||||
If you are on a Mac or Windows machine, you might want to have a look at [this](http://the.taoofmac.com/space/HOWTO/Vagrant)
|
If you are on a Mac or Windows machine, you might want to have a look at [this](http://the.taoofmac.com/space/HOWTO/Vagrant)
|
||||||
blog post for some ideas on how to set things up or check out [this other repo](https://github.com/fgrehm/vagrant-lxc-vbox-hosts)
|
blog post for some ideas on how to set things up or check out [this other repo](https://github.com/fgrehm/vagrant-lxc-vbox-hosts)
|
||||||
for a set of Vagrant VirtualBox machines ready for vagrant-lxc usage.
|
for a set of Vagrant VirtualBox machines ready for vagrant-lxc usage.
|
||||||
|
|
||||||
**NOTE: Some users have been experiencing networking issues and right now you might need to
|
|
||||||
disable checksum offloading as described on [this comment](https://github.com/fgrehm/vagrant-lxc/issues/153#issuecomment-26441273)**
|
|
||||||
|
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
|
@ -52,23 +49,21 @@ vagrant init fgrehm/precise64-lxc
|
||||||
vagrant up --provider=lxc
|
vagrant up --provider=lxc
|
||||||
```
|
```
|
||||||
|
|
||||||
_Set the `VAGRANT_DEFAULT_PROVIDER` environmental variable to `lxc` in order to
|
_More information about skipping the `--provider` argument can be found at the
|
||||||
avoid typing `--provider=lxc` all the time._
|
"DEFAULT PROVIDER" section of [Vagrant docs](https://docs.vagrantup.com/v2/providers/basic_usage.html)_
|
||||||
|
|
||||||
|
|
||||||
## Base boxes
|
## Base boxes
|
||||||
|
|
||||||
Base boxes can be found on [VagrantCloud](https://vagrantcloud.com/search?provider=lxc)
|
Base boxes can be found on [Atlas](https://atlas.hashicorp.com/boxes/search?provider=lxc)
|
||||||
and some scripts to build your own are available at [fgrehm/vagrant-lxc-base-boxes](https://github.com/fgrehm/vagrant-lxc-base-boxes).
|
and some scripts to build your own are available at [fgrehm/vagrant-lxc-base-boxes](https://github.com/fgrehm/vagrant-lxc-base-boxes).
|
||||||
|
|
||||||
If you want to build your own boxes, please have a look at [`BOXES.md`](https://github.com/fgrehm/vagrant-lxc/tree/master/BOXES.md)
|
If you want to build your own boxes, please have a look at [`BOXES.md`](https://github.com/fgrehm/vagrant-lxc/tree/master/BOXES.md)
|
||||||
for more information.
|
for more information.
|
||||||
|
|
||||||
|
|
||||||
## Advanced configuration
|
## Advanced configuration
|
||||||
|
|
||||||
If you want, you can modify container configurations from within your Vagrantfile
|
You can modify container configurations from within your Vagrantfile using the
|
||||||
using the [provider block](http://docs.vagrantup.com/v2/providers/configuration.html):
|
[provider block](http://docs.vagrantup.com/v2/providers/configuration.html):
|
||||||
|
|
||||||
```ruby
|
```ruby
|
||||||
Vagrant.configure("2") do |config|
|
Vagrant.configure("2") do |config|
|
||||||
|
@ -86,6 +81,28 @@ prior to starting it.
|
||||||
|
|
||||||
For other configuration options, please check the [lxc.conf manpages](http://manpages.ubuntu.com/manpages/precise/man5/lxc.conf.5.html).
|
For other configuration options, please check the [lxc.conf manpages](http://manpages.ubuntu.com/manpages/precise/man5/lxc.conf.5.html).
|
||||||
|
|
||||||
|
### Private Networks [EXPERIMENTAL]
|
||||||
|
|
||||||
|
Starting with vagrant-lxc 1.1.0, there is some rudimentary support for configuring
|
||||||
|
[Private Networks](https://docs.vagrantup.com/v2/networking/private_network.html)
|
||||||
|
by leveraging the [pipework](https://github.com/jpetazzo/pipework) project.
|
||||||
|
|
||||||
|
On its current state, there is a requirement for setting the bridge name that
|
||||||
|
will be created and will allow your machine to comunicate with the container
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
Vagrant.configure("2") do |config|
|
||||||
|
config.vm.network "private_network", ip: "192.168.2.100", lxc__bridge_name: 'vlxcbr1'
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
Will create a new `veth` device for the container and will set up (or reuse)
|
||||||
|
a `vlxcbr1` bridge between your machine and the `veth` device. Once the last
|
||||||
|
vagrant-lxc container attached to the bridge gets `vagrant halt`ed, the plugin
|
||||||
|
will delete the bridge.
|
||||||
|
|
||||||
### Container naming
|
### Container naming
|
||||||
|
|
||||||
By default vagrant-lxc will attempt to generate a unique container name
|
By default vagrant-lxc will attempt to generate a unique container name
|
||||||
|
@ -103,6 +120,9 @@ Vagrant.configure("2") do |config|
|
||||||
end
|
end
|
||||||
```
|
```
|
||||||
|
|
||||||
|
_Please note that there is a 64 chars limit and the container name will be
|
||||||
|
trimmed down to that to ensure we can always bring the container up.
|
||||||
|
|
||||||
### Backingstore options
|
### Backingstore options
|
||||||
|
|
||||||
Support for setting `lxc-create`'s backingstore option (`-B` and related) can be
|
Support for setting `lxc-create`'s backingstore option (`-B` and related) can be
|
||||||
|
@ -133,12 +153,12 @@ Vagrant.configure("2") do |config|
|
||||||
end
|
end
|
||||||
```
|
```
|
||||||
|
|
||||||
### Avoiding `sudo` passwords
|
## Avoiding `sudo` passwords
|
||||||
|
|
||||||
This plugin requires **a lot** of `sudo`ing since [user namespaces](https://wiki.ubuntu.com/UserNamespace)
|
This plugin requires **a lot** of `sudo`ing since [user namespaces](https://wiki.ubuntu.com/UserNamespace)
|
||||||
are not supported on mainstream kernels. To work around that, you can use the
|
is not supported yet. To work around that, you can use the `vagrant lxc sudoers`
|
||||||
`vagrant lxc sudoers` command which will create a file under `/etc/sudoers.d/vagrant-lxc-<VERSION>`
|
command which will create a file under `/etc/sudoers.d/vagrant-lxc` whitelisting
|
||||||
whitelisting all commands required by `vagrant-lxc` to run.
|
all commands required by `vagrant-lxc` to run.
|
||||||
|
|
||||||
If you are interested on what will be generated by that command, please check
|
If you are interested on what will be generated by that command, please check
|
||||||
[this code](lib/vagrant-lxc/command/sudoers.rb).
|
[this code](lib/vagrant-lxc/command/sudoers.rb).
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
module Vagrant
|
module Vagrant
|
||||||
module LXC
|
module LXC
|
||||||
VERSION = "1.0.1"
|
VERSION = "1.1.0"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue