Having issues provisioning multiple OSs with Vagrant using the openstack 
plugin (https://github.com/cloudbau/vagrant-openstack-plugin). The goal is 
to build on different OSs.

All the instances appear in the openstack UI but the command line states it 
is waiting for ssh. Additionally, ssh will work after some time for 
precise64 but not trusty or centos. SSHing into centos (verbose) states 
that there is no 'route to host'. SSHing to trusty results in timeouts.

Another oddity is that floating_ip isn't provided for each instance that is 
spawned. We'd prefer not to use floating IPs and connect directly to the 
instance IP.

This doesn't happen when provisioning multiple OSs to virtualbox on local 
hardware.

New to all of this and appreciate any help. Additional details and 
Vagrantfile below.

Thank you,

Paul

===========================================================

Steps taken:


   1. install vagrant, ansible and vagrant-openstack-plugin on a host 
   machine in the openstack (ubuntu)
   2. add the openstack "dummy" box
   3. add keys for ssh
   4. configure env variables for reference in Vagrantfile including the 
   provider
   5. run `vagrant up`
   6. run 'VAGRANT_LOG=debug vagrant up` (no beneficial data shown for ssh)

The hang-up on ssh also happens when trying to provision a single OS 
(precise64, for example).

===========================================================

Vagrant versions tested with same issues: 1.6.2, 1.5.2, 1.4.3

OS: precise_x64, centos6_x64 (centos 6.5), trusty_x64

===========================================================

*Vagrantfile:*

# -*- mode: ruby -*-

# vi: set ft=ruby :

require 'vagrant-openstack-plugin'

# Vagrantfile API/syntax version. Don't touch unless you know what you're 
doing!

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

  config.vm.box = "dummy"

  config.vm.box_url = 
"https://github.com/cloudbau/vagrant-openstack-plugin/raw/master/dummy.box";

  # Make sure the private key from the key pair is provided

  config.ssh.private_key_path = "~/.ssh/id_rsa"

  # Speed up things a bit

  config.vm.synced_folder ".", "/vagrant", disabled: false #true

  config.vm.define :precise_x64 do |precise_x64|

    precise_x64.ssh.username = "ubuntu"

    precise_x64.vm.provider :openstack do |os|

      os.image = /precise/

    end

  end

  config.vm.define :trusty_x64 do |trusty_x64|

    trusty_x64.ssh.username = "ubuntu"

    trusty_x64.vm.provider :openstack do |os|

      os.image = /trusty/

    end

  end

  config.vm.define :centos6_x64 do |centos6_x64|

    centos6_x64.ssh.username = "root"

    centos6_x64.vm.provider :openstack do |os|

      os.image = /CentOS 6\.5/

    end

  end

  config.vm.provider :openstack do |os|

    os.username     = ENV['OS_USERNAME']          # e.g. 
"#{ENV['OS_USERNAME']}"

    os.api_key      = ENV['OS_PASSWORD']           # e.g. 
"#{ENV['OS_PASSWORD']}"

    os.flavor       = /m1.medium/                # Regex or String

    os.endpoint     = "http://192.168.3.1:5000/v2.0/tokens";      # e.g. 
"#{ENV['OS_AUTH_URL']}/tokens"

    os.keypair_name = ENV['OS_KEY']

    os.metadata  = {"provisioned-by" => "jenkins"}

    os.user_data = "#cloud-config\nmanage_etc_hosts: True"

    os.networks           = []

    os.network            = false

    os.address_id         = :floating_ip

    os.security_groups    = ['default']

    os.floating_ip        = :auto

  end

  config.vm.provision "ansible" do |ansible|

    ansible.playbook = "provisioning/site.yml"

    ansible.verbose = "vv"

    # Allow ansible to work in parallel

    ansible.limit = 'all'

  end

end

-- 
You received this message because you are subscribed to the Google Groups 
"Vagrant" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to