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


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


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 = ""
  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" = "test"
  os.ssh_username = "my_cool_user"
  os.ssh_private_key = "~/not_custom_path/super_private"


  • 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)


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