0
votes

I've been trying to get the opentable/win-2012r2-standard-amd64-nocm box stood up in order to mess with chef, but unfortunately it doesn't seem to be working.

Specs:

  • Virtual Box v4.3.12
  • Vagrant v1.6.2
  • OS Mac OSX v10.9.2

Way 1: Trying to vagrant up the opentable/win-2012r2-standard-amd64-nocm box in order just mess with Chef.
The Problem: It doesn't seem to want to mount the vagrant folders because it doesn't like the currently installed guest addons.

Alexs-MacBook-Pro:chef-repo alex$ vagrant up
WARNING: Could not load IOV methods. Check your GSSAPI C library for an update
WARNING: Could not load AEAD methods. Check your GSSAPI C library for an update
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'opentable/win-2012r2-standard-amd64-nocm'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'opentable/win-2012r2-standard-amd64-nocm' is up to date...
==> default: Setting the name of the VM: chef-repo_default_1401127106312_6161
==> default: Fixed port collision for 22 => 2222. Now on port 2200.
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 5985 => 5985 (adapter 1)
    default: 80 => 8080 (adapter 1)
    default: 3389 => 3389 (adapter 1)
    default: 22 => 2200 (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
    default: No guest additions were detected on the base box for this VM! Guest
    default: additions are required for forwarded ports, shared folders, host only
    default: networking, and more. If SSH fails on this machine, please install
    default: the guest additions and repackage the box to continue.
    default: 
    default: This is not an error message; everything may continue to work properly,
    default: in which case you may ignore this message.
==> default: Mounting shared folders...
    default: /vagrant => /Users/alex/Documents/Code/GitHubEnterprise/ConfigurationFiles/chef/chef-repo
==> default: Running provisioner: shell... 

Way 2: Attempt to remake the base box opentable/win-2012r2-standard-amd64-nocm with the needed version of guest addons.
The Problem: The guest operating system of the machine could not be detected

Steps:

  1. vagrant init opentable/win-2012r2-standard-amd64-nocm
  2. vagrant up
  3. wait for it to load into GUI mode
  4. Turn off the vm
  5. Add CD/DVD device and leave it empty via virtual box gui
  6. vagrant up
  7. log into it via virtual box, install Guest Additions, reboot the server.
  8. vagrant halt
  9. Use virtual box ui to remove guest additions cd/dvd drive.
  10. vagrant package --base {name of box in virtual box}
  11. wait forever
  12. vagrant box add package.box --name {name of box to put in provider}
  13. wait forever
  14. Done!!!

From this point I try to vagrant up the box I just created and it gives me this error:

Alex-MacBook-Pro:Alex_vs2012 Alex$ vagrant init Alex/win2012<br />
WARNING: Could not load IOV methods. Check your GSSAPI C library for an update<br />
WARNING: Could not load AEAD methods. Check your GSSAPI C library for an update<br />
A `Vagrantfile` has been placed in this directory. You are now<br />
ready to `vagrant up` your first virtual environment! Please read<br />
the comments in the Vagrantfile as well as documentation on<br />
`vagrantup.com` for more information on using Vagrant.<br />
Alex-MacBook-Pro:Alex_vs2012 alex$ vagrant up<br />
WARNING: Could not load IOV methods. Check your GSSAPI C library for an update<br />
WARNING: Could not load AEAD methods. Check your GSSAPI C library for an update<br />
Bringing machine 'default' up with 'virtualbox' provider...<br />
==> default: Importing base box 'Alex/win2012'...<br />
==> default: Matching MAC address for NAT networking...<br />
==> default: Setting the name of the VM: Alex_vs2012_default_1401126335265_42094<br />
==> default: Clearing any previously set network interfaces...<br />
==> default: Preparing network interfaces based on configuration...<br />
    default: Adapter 1: nat<br />
==> default: Forwarding ports...<br />
    default: 22 => 2222 (adapter 1)<br />
==> default: Booting VM...<br />
==> default: Waiting for machine to boot. This may take a few minutes...<br />
    default: SSH address: 127.0.0.1:2222<br />
    default: SSH username: vagrant<br />
    default: SSH auth method: private key<br />
    default: Warning: Connection timeout. Retrying...<br />
==> default: Machine booted and ready!<br />
==> default: Checking for guest additions in VM...<br />
    The guest operating system of the machine could not be detected!<br />
    Vagrant requires this knowledge to perform specific tasks such<br />
    as mounting shared folders and configuring networks. Please add<br />
    the ability to detect this guest operating system to Vagrant<br />
    by creating a plugin or reporting a bug.<br />

Does someone know what I'm doing wrong? My goal was just to make it so that folders are mounted during the vagrant up operation so that I can bootstrap the vm with the bootstrap.sh file and ultimately mess around with chef.

Here is my Vagrantfile:

# -*- mode: ruby -*-
# vi: set ft=ruby :

# 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 = "opentable/win-2012r2-standard-amd64-nocm"
config.vm.provision :shell, :path => "bootstrap.sh"

# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
config.vm.network "forwarded_port", guest: 80, host: 8080
config.vm.network "forwarded_port", guest: 3389, host: 3389

# Provider-specific configuration so you can fine-tune various
# backing providers for Vagrant. These expose provider-specific options.
# Example for VirtualBox:
#
config.vm.provider "virtualbox" do |vb|
#  # Don't boot with headless mode
vb.gui = true
#
#   # Use VBoxManage to customize the VM. For example to change memory:
#   vb.customize ["modifyvm", :id, "--memory", "1024"]
end
#
# View the documentation for the provider you're using for more
# information on available options.

# set auto_update to false, if you do NOT want to check the correct 
# additions version when booting this machine
config.vbguest.auto_update = false

# do NOT download the iso file from a webserver
config.vbguest.no_remote = true
end
2

2 Answers

5
votes

I also had problems doing this but after I updated my vagrant version to the latest (version 1.7.2) and used Grim Wino Leader's config I had success.

I followed your instructions in Way 2 and after step 1 i edited the Vagrantfile and added

config.vm.guest = :windows

I'm using:

  • Ubuntu 14.04.1 LTS (3.13.0-40-generic kernel)
  • Vagrant 1.7.2 (downloaded from vagrantup.com)
  • virtualbox-4.3 (4.3.20-96996~Ubuntu~raring)
1
votes

Not so much an answer as a workaround. I too ran into this problem.

You can add:

config.vm.guest = :windows

to your Vagrantfile. Will update this if I find a solution.