Skip to content

Instantly share code, notes, and snippets.

@technolo-g
Created January 6, 2015 18:22
Show Gist options
  • Save technolo-g/c6cd4e125266b993c36d to your computer and use it in GitHub Desktop.
Save technolo-g/c6cd4e125266b993c36d to your computer and use it in GitHub Desktop.
Vagrant + VMware Issue

Versions

VMware Fusion 7.1.0

$ vagrant version
Installed Version: 1.7.1
Latest Version: 1.7.1

You're running an up-to-date version of Vagrant!

$ vagrant plugin list
vagrant-hosts (2.3.0)
vagrant-share (1.1.4, system)
vagrant-vmware-fusion (3.2.0)

Vagrantfile

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |vagrant|

  # VMware Configuration
  vagrant.vm.provider "vmware_fusion" do |provider, override|
    override.vm.box = "vmware-trusty64-20150105.box"
    override.vm.box_url = 'https://s3-us-west-2.amazonaws.com/technolo-g/vagrant-boxes/ubuntu/vmware-trusty64-20150105.box'
  end

  vagrant.vm.provider "vmware_fusion" do |v|
    v.vmx["memsize"] = '2048'
    v.vmx["numvcpus"] = '2'
  end

  # Machine Configuration

  # Docker Hosts
  (1..5).each do |i|
    vagrant.vm.define "dockerhost0#{i}" do |config|
      config.vm.hostname = "dockerhost0#{i}"
      config.vm.network "private_network", ip: "10.100.199.20#{i}"
      config.vm.provision :ansible do |ansible|
        ansible.playbook = 'ansible/docker_host.yml'
        ansible.groups   = {'dockerhosts' => ["dockerhost0#{i}"], 'local' => ['localhost']}
        ansible.raw_arguments = '--timeout=30'
        ansible.host_key_checking = false
      end
    end
  end

  # Swarm Host
  vagrant.vm.define "dockerswarm01" do |config|
    config.vm.hostname = "dockerswarm01"
    config.vm.network "private_network", ip: "10.100.199.200"
    config.vm.network "forwarded_port", guest: 2375, host: 2375
    config.vm.network "forwarded_port", guest: 2376, host: 2376
    config.vm.provision :hosts
    config.vm.provision :ansible do |ansible|
      ansible.playbook = 'ansible/docker_swarm.yml'
      ansible.groups   = {'dockerswarm' => ["dockerswarm01"], 'local' => ['localhost']}
      ansible.raw_arguments = '--timeout=30'
      ansible.host_key_checking = false
    end
  end

  # Make sure all hosts have all entries
  (1..5).each do |i|
    vagrant.vm.define "dockerhost0#{i}" do |config|
      config.vm.provision :hosts
    end
  end
end

Output

[11:12:39 mbajor@mbajor-DraakBookPro:~/Dev/docker-swarm/master]
$ vagrant up dockerswarm01
Bringing machine 'dockerswarm01' up with 'vmware_fusion' provider...
==> dockerswarm01: Cloning VMware VM: 'vmware-trusty64-20150105.box'. This can take some time...
==> dockerswarm01: Verifying vmnet devices are healthy...
==> dockerswarm01: Preparing network adapters...
==> dockerswarm01: Fixed port collision for 22 => 2222. Now on port 2204.
==> dockerswarm01: Starting the VMware VM...
==> dockerswarm01: Waiting for machine to boot. This may take a few minutes...
    dockerswarm01: SSH address: 192.168.153.144:22
    dockerswarm01: SSH username: vagrant
    dockerswarm01: SSH auth method: private key
    dockerswarm01:
    dockerswarm01: Vagrant insecure key detected. Vagrant will automatically replace
    dockerswarm01: this with a newly generated keypair for better security.
    dockerswarm01:
    dockerswarm01: Inserting generated public key within guest...
    dockerswarm01: Removing insecure key from the guest if its present...
    dockerswarm01: Key inserted! Disconnecting and reconnecting using new SSH key...
==> dockerswarm01: Machine booted and ready!
==> dockerswarm01: Forwarding ports...
    dockerswarm01: -- 2375 => 2375
    dockerswarm01: -- 2376 => 2376
    dockerswarm01: -- 22 => 2204
==> dockerswarm01: Setting hostname...
Guest-specific operations were attempted on a machine that is not
ready for guest communication. This should not happen and a bug
should be reported.
[11:13:14 mbajor@mbajor-DraakBookPro:~/Dev/docker-swarm/master]
$ vagrant destroy -f dockerswarm01
==> dockerswarm01: Stopping the VMware VM...
==> dockerswarm01: Deleting the VM...
==> dockerswarm01: Running cleanup tasks for 'hosts' provisioner...
==> dockerswarm01: Running cleanup tasks for 'ansible' provisioner...
[11:13:57 mbajor@mbajor-DraakBookPro:~/Dev/docker-swarm/master]
$ vagrant up dockerswarm01
Bringing machine 'dockerswarm01' up with 'vmware_fusion' provider...
==> dockerswarm01: Cloning VMware VM: 'vmware-trusty64-20150105.box'. This can take some time...
==> dockerswarm01: Verifying vmnet devices are healthy...
==> dockerswarm01: Preparing network adapters...
==> dockerswarm01: Fixed port collision for 22 => 2222. Now on port 2204.
==> dockerswarm01: Starting the VMware VM...
==> dockerswarm01: Waiting for machine to boot. This may take a few minutes...
    dockerswarm01: SSH address: 192.168.153.130:22
    dockerswarm01: SSH username: vagrant
    dockerswarm01: SSH auth method: private key
    dockerswarm01: Warning: Connection reset. Retrying...
==> dockerswarm01: Stopping the VMware VM...
==> dockerswarm01: Deleting the VM...
==> dockerswarm01: Running cleanup tasks for 'hosts' provisioner...
==> dockerswarm01: Running cleanup tasks for 'ansible' provisioner...
/opt/vagrant/embedded/gems/gems/net-ssh-2.9.1/lib/net/ssh/buffered_io.rb:99:in `send': Broken pipe - send(2) (Errno::EPIPE)
	from /opt/vagrant/embedded/gems/gems/net-ssh-2.9.1/lib/net/ssh/buffered_io.rb:99:in `send_pending'
	from /opt/vagrant/embedded/gems/gems/net-ssh-2.9.1/lib/net/ssh/buffered_io.rb:111:in `wait_for_pending_sends'
	from /opt/vagrant/embedded/gems/gems/net-ssh-2.9.1/lib/net/ssh/transport/packet_stream.rb:116:in `send_packet'
	from /opt/vagrant/embedded/gems/gems/net-ssh-2.9.1/lib/net/ssh/transport/session.rb:226:in `send_message'
	from /opt/vagrant/embedded/gems/gems/net-ssh-2.9.1/lib/net/ssh/authentication/methods/abstract.rb:37:in `send_message'
	from /opt/vagrant/embedded/gems/gems/net-ssh-2.9.1/lib/net/ssh/authentication/methods/publickey.rb:43:in `send_request'
	from /opt/vagrant/embedded/gems/gems/net-ssh-2.9.1/lib/net/ssh/authentication/methods/publickey.rb:51:in `authenticate_with'
	from /opt/vagrant/embedded/gems/gems/net-ssh-2.9.1/lib/net/ssh/authentication/methods/publickey.rb:20:in `block in authenticate'
	from /opt/vagrant/embedded/gems/gems/net-ssh-2.9.1/lib/net/ssh/authentication/key_manager.rb:122:in `block in each_identity'
	from /opt/vagrant/embedded/gems/gems/net-ssh-2.9.1/lib/net/ssh/authentication/key_manager.rb:119:in `each'
	from /opt/vagrant/embedded/gems/gems/net-ssh-2.9.1/lib/net/ssh/authentication/key_manager.rb:119:in `each_identity'
	from /opt/vagrant/embedded/gems/gems/net-ssh-2.9.1/lib/net/ssh/authentication/methods/publickey.rb:19:in `authenticate'
	from /opt/vagrant/embedded/gems/gems/net-ssh-2.9.1/lib/net/ssh/authentication/session.rb:79:in `block in authenticate'
	from /opt/vagrant/embedded/gems/gems/net-ssh-2.9.1/lib/net/ssh/authentication/session.rb:66:in `each'
	from /opt/vagrant/embedded/gems/gems/net-ssh-2.9.1/lib/net/ssh/authentication/session.rb:66:in `authenticate'
	from /opt/vagrant/embedded/gems/gems/net-ssh-2.9.1/lib/net/ssh.rb:206:in `start'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.7.1/plugins/communicators/ssh/communicator.rb:382:in `block (2 levels) in connect'
	from /opt/vagrant/embedded/lib/ruby/2.0.0/timeout.rb:66:in `timeout'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.7.1/plugins/communicators/ssh/communicator.rb:361:in `block in connect'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.7.1/lib/vagrant/util/retryable.rb:17:in `retryable'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.7.1/plugins/communicators/ssh/communicator.rb:360:in `connect'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.7.1/plugins/communicators/ssh/communicator.rb:64:in `block in wait_for_ready'
	from /opt/vagrant/embedded/lib/ruby/2.0.0/timeout.rb:66:in `timeout'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.7.1/plugins/communicators/ssh/communicator.rb:42:in `wait_for_ready'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.7.1/lib/vagrant/action/builtin/wait_for_communicator.rb:16:in `block in call'
[11:14:38 mbajor@mbajor-DraakBookPro:~/Dev/docker-swarm/master]
$ vagrant destroy -f dockerswarm01;vagrant up dockerswarm01
VM must be created before running this command. Run `vagrant up` first.
Bringing machine 'dockerswarm01' up with 'vmware_fusion' provider...
==> dockerswarm01: Cloning VMware VM: 'vmware-trusty64-20150105.box'. This can take some time...
==> dockerswarm01: Verifying vmnet devices are healthy...
==> dockerswarm01: Preparing network adapters...
==> dockerswarm01: Fixed port collision for 22 => 2222. Now on port 2204.
==> dockerswarm01: Starting the VMware VM...
==> dockerswarm01: Waiting for machine to boot. This may take a few minutes...
    dockerswarm01: SSH address: 192.168.153.143:22
    dockerswarm01: SSH username: vagrant
    dockerswarm01: SSH auth method: private key
    dockerswarm01:
    dockerswarm01: Vagrant insecure key detected. Vagrant will automatically replace
    dockerswarm01: this with a newly generated keypair for better security.
    dockerswarm01:
    dockerswarm01: Inserting generated public key within guest...
    dockerswarm01: Removing insecure key from the guest if its present...
    dockerswarm01: Key inserted! Disconnecting and reconnecting using new SSH key...
==> dockerswarm01: Machine booted and ready!
==> dockerswarm01: Forwarding ports...
    dockerswarm01: -- 2375 => 2375
    dockerswarm01: -- 2376 => 2376
    dockerswarm01: -- 22 => 2204
==> dockerswarm01: Setting hostname...
==> dockerswarm01: Configuring network adapters within the VM...
==> dockerswarm01: Waiting for HGFS kernel module to load...
==> dockerswarm01: Enabling and configuring shared folders...
    dockerswarm01: -- /Users/mbajor/Dev/docker-swarm/.git-repo: /vagrant
==> dockerswarm01: Running provisioner: hosts...
==> dockerswarm01: Running provisioner: ansible...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment