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
