###1. Get the github repo

  $ git clone https://github.com/ggiamarchi/vagrant-openstack-provider

###2. Download a vagrant box that’s compatible with OpenStack

  for example ubuntu precise32
  $ vagrant box add hashicorp/precise32
  $ vagrant init hashicorp/precise32 

###3. Download Openstack RC file

  go to Openstack Dashboard => Project => Compute => Access and Security
  Upper right conner, click Download OpenStack RC File
  Then run 
  $ source [openstack rc file path]

###4. Modify Vagrantfile to match the following

  This Vagrant file will launch an instance in your OpenStack project

  require 'vagrant-openstack-provider'                        
  Vagrant.configure(2) do |config|
    config.vm.box = "hashicorp/precise32"
    config.ssh.username = 'ubuntu'
    config.vm.provider :openstack do |os|
      os.openstack_auth_url = ''  # our production environment 
      os.username           = ENV['OS_USERNAME']
      os.password           = ENV['OS_PASSWORD']
      os.tenant_name        = ENV['OS_TENANT_NAME']
      os.flavor             = 'm1.small'                                 # your choice of flavor
      os.image              = '5e39e68a-dd23-4f40-a8c1-c156f1214cc3'     # this is a ubuntu image
      os.floating_ip_pool   = 'subnet1'                                  # change to your own
                                                                         # floating ip pool 
      os.endpoint_type      = 'publicURL'

###5. GO

  - install openstack provider plugin
    $ vagrant plugin install vagrant-openstack-provider
  - vagrant up
    $ vagrant up --provider=openstack
    $ proxychains vagrant up --provider=openstack
  - vagrant ssh
    $ vagrant ssh 
    You should be in vagrant now
    use the ssh username you specified in Vagrantfile to ssh into the vm you just create 
  - Debug options
    $ export VAGRANT_OPENSTACK_LOG=debug 
    This sets vagrant to debug mode, and will output more details