OpenStack provider for vagrant
Ruby
Latest commit a143e34 Dec 5, 2013 @flaper87 Merge pull request #7 from benja-M-1/ignore-disabled-synced-folders
Ignore disabled synced folders
Permalink
Failed to load latest commit information.
examples Fix url in example Apr 11, 2013
lib
locales
.gitignore Added provision action, it needs more work Mar 16, 2013
Gemfile
Gemfile.lock Changelog: Mar 17, 2013
LICENSE
README.md
Rakefile
vagrant-openstack.gemspec Changelog: Mar 17, 2013

README.md

vagrant-openstack

Vagrant OpenStack Provider

This is a Vagrant 1.1+ plugin that adds an OpenStack provider to Vagrant, allowing Vagrant to control and provision machines in OpenStack.

NOTE: This plugin requires Vagrant 1.1+, which is still unreleased. Vagrant 1.1 will be released soon. In the mean time, this repository is meant as an example of a high quality plugin using the new plugin system in Vagrant.

Commands Support

  • up
  • destroy
  • status
  • ssh

Usage

Install using standard Vagrant 1.1+ plugin installation methods. After installing, vagrant up and specify the openstack provider. An example is shown below.

$ vagrant plugin install vagrant-openstack
...
$ vagrant up --provider=openstack
...

Quick Start

Create a Vagrantfile and put a section like this, adapting it to your environment.

config.vm.provider :openstack do |os|
  os.url = "http://127.0.0.1:5000/v2.0/"
  os.tenant = "my_tenant"
  os.user = "my_user"
  os.password = "super_password"

  os.flavor = "1"
  os.keypair = "my_key"
  os.image = "b9b3f324-80d2-4413-89ec-3d299ceb8279"

  os.name = "test"
  os.ssh_username = "my_cool_user"
  os.ssh_private_key = "~/not_custom_path/super_private"
end

Configuration

  • url: OpenStack's auth url
  • tenant: OpenStack's tenant to use
  • user: OpenStack's auth username
  • password: OpenStack's password for username

  • name: Instance's name. It'll be assigned to it during the first boot.

  • image: Glance's image id to use. (It doesn't support names)
  • flavor: Nova's flavor to use for the new instance.
  • keypair: Keypair that should be associated to the new instance.

  • ssh_port: SSH port to used (Default 22)

  • ssh_username: SSH username
  • ssh_private_key: Local private key to be used for ssh connections. (Default ~/.ssh/id_rsa)

Development

To work on the vagrant-openstack plugin, clone this repository out, and use Bundler to get the dependencies:

$ bundle

You can test the plugin without installing it into your Vagrant environment by just creating a Vagrantfile in the top level of this directory (it is gitignored) that uses it, and uses bundler to execute Vagrant:

$ bundle exec vagrant up --provider=openstack