0.0
No commit activity in last 3 years
No release in over 3 years
Vagrant plugin for using OpenVZ as a provider.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.3
>= 0
 Project Readme

vagrant-openvz

Gem Version

LINUX ONLY TECHNOLOGY.

This is a provider plugin for vagrant. The provider integrates OpenVZ with the normal actions associated with vagrant including: up, ssh, halt, destroy.

Successfully used in combination with the following vagrant plugins:

  • vagrant-omnibus
  • agrant-berkshelf

Tested Platform

(vagrant + vagrant-openvz + OpenVZ)
  • Centos 6.4
  • Others may work, though usability unknown as of now.

Installation through vagrant

The plugin requires that you openvz and vagrant be installed. Then run the following from the command line which will install it from rubygems.org:

vagrant plugin install vagrant-openvz

Boxes

Boxes are bare bones and currently depend on the templates provided by OpenVZ. You can download the one tested box from "box/centos-6-x86_64/centos-6-x86_64.box" in this source repository, however on first usage the actual template for the box will be downloaded through openvz. Subsequent usages will use the cached template. This means that the second and subsequent usages will be significantly faster.

Building the plugin

  1. Download the source code (if your going to contribute see next section)
  2. Install bundler
  3. Navigate to the downloaded source code, and within the same folder as the "Gemfile" file run "bundle" to get depedencies.
Helpful Reference:
  • Book: Vagrant, up and running; Chapter 7; Section "Plugi-In Development Basics"

Contributing

During development on Centos 6(.4), in order to use: "bundle exec vagrant box add" I had to download the latest version of vagrant. Track down "bsdtar" and put it in a new folder, then add the folder path to the PATH. Then export it. This way the functionality would work properly.

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

ROADMAP (Features not yet added).

  • OpenVZ focused: Virtual Ethernet devices.
  • Vagrant focused: Port Forwarding.
  • Vagrant focuused: Improve usage of env[:ui] logging.
  • Vagrant focused: Tokenize all hardcoded text.

Credits

Two other code bases were studied during the creation of this plugin: