Having issues provisioning multiple operating systems into separate 
OpenStack instances with Vagrant. What is happening is that of the 3 OSs to 
be provisioned, only precise_x64 completes, trusty_x64 and centos6_x64 hang 
on "Waiting for SSH to become available".

While waiting for SSH to become available, I can see all instances created 
in the OpenStack UI, along with IP addresses and some have floating IP 
addresses. Precise is the only box accessible over ssh. I tried using 
Vagrantfile to provision only a single OS (one for each OS) and had the 
same results. Debug output was not helpful as it provided the same output 
as ssh -v.

Precise works, Trusty times out and Centos fails due to 'no route to host' 
error.

Steps taken:

   1. Created host instance on openstack (ubuntu precise 64)
   2. Set up ssh keys, authorized_keys
   3. Installed Vagrant, ansible, openstack "dummy" box and the 
   vagrant-openstack-plugin
   4. Ran vagrant up with and without VAGRANT_LOG=debug setting
   5. Attempted to ssh to boxes via IP and floating IP

Version info:

   - Tested on Vagrant 1.6.2, 1.5.2, 1.4.3
   - Vagrant api version 2


New to this and any assistance is appreciated. Vagrantfile is attached.

Thank you,

Paul

-- 
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.
# -*- 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|
  # All Vagrant configuration is done here. The most common configuration
  # options are documented and commented below. For a complete reference,
  # please see the online documentation at vagrantup.com.

  # Every Vagrant virtual environment requires a box to build off of.
  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

Reply via email to