1

I am new on stackoverflow and this is my first question...

I had an issue with Vagrant when trying to get a box on a private repository so I tried to get 'hashicorp/precise64' on Atlas and I have the same problem : Vagrant can't find the box.

I am using Vagrant 1.9.3 on Windows 7 with Virtualbox 5.1.18 (with extension pack). I had no issue on installation.

$ vagrant version
Installed Version: 1.9.3
Latest Version: 1.9.3

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

Everything seems to be right on initialization, Vagrantfile is created :

$ vagrant init hashicorp/precise64
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

Vagrantfile :

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

# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure("2") do |config|
  # The most common configuration options are documented and commented below.
  # For a complete reference, please see the online documentation at
  # https://docs.vagrantup.com.

  # Every Vagrant development environment requires a box. You can search for
  # boxes at https://atlas.hashicorp.com/search.
  config.vm.box = "hashicorp/precise64"

  # Disable automatic box update checking. If you disable this, then
  # boxes will only be checked for updates when the user runs
  # `vagrant box outdated`. This is not recommended.
  # config.vm.box_check_update = false

  # 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

  # Create a private network, which allows host-only access to the machine
  # using a specific IP.
  # config.vm.network "private_network", ip: "192.168.33.10"

  # Create a public network, which generally matched to bridged network.
  # Bridged networks make the machine appear as another physical device on
  # your network.
  # config.vm.network "public_network"

  # Share an additional folder to the guest VM. The first argument is
  # the path on the host to the actual folder. The second argument is
  # the path on the guest to mount the folder. And the optional third
  # argument is a set of non-required options.
  # config.vm.synced_folder "../data", "/vagrant_data"

  # 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|
  #   # Display the VirtualBox GUI when booting the machine
  #   vb.gui = true
  #
  #   # Customize the amount of memory on the VM:
  #   vb.memory = "1024"
  # end
  #
  # View the documentation for the provider you are using for more
  # information on available options.

  # Define a Vagrant Push strategy for pushing to Atlas. Other push strategies
  # such as FTP and Heroku are also available. See the documentation at
  # https://docs.vagrantup.com/v2/push/atlas.html for more information.
  # config.push.define "atlas" do |push|
  #   push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME"
  # end

  # Enable provisioning with a shell script. Additional provisioners such as
  # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
  # documentation for more information about their specific syntax and use.
  # config.vm.provision "shell", inline: <<-SHELL
  #   apt-get update
  #   apt-get install -y apache2
  # SHELL
end

Here is the error I get when using 'vagrant up' command :

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'hashicorp/precise64' could not be found. Attempting to  find and install...
    default: Box Provider: virtualbox
    default: Box Version: >= 0
==> default: Loading metadata for box 'hashicorp/precise64'
    default: URL: https://atlas.hashicorp.com/hashicorp/precise64
The box 'hashicorp/precise64' could not be found or
could not be accessed in the remote catalog. If this is a private
box on HashiCorp's Atlas, please verify you're logged in via
`vagrant login`. Also, please double-check the name. The expanded
URL and error message are shown below:

URL: https://atlas.hashicorp.com/hashicorp/precise64
Error: Failed writing body (0 != 1063)

I have the same issue when trying to download other public boxes.

I tried with few Vagrant versions (v1.9.0, v1.9.1, v1.9.2, v1.9.3), with and without admin rights.

I have no proxy and no internet connection issue. I tried to disable my firewall.

I did some research on this, especially on Vagrant compatibility issues, but I could not find much and the problem remains.

Does anyone have an idea?

Jerome-p
  • 21
  • 4
  • I just added the content of my vagrantfile to the question – Jerome-p Apr 10 '17 at 10:29
  • do you access internet through proxy ? can you run the command `$ curl https://vagrantcloud.com/ubuntu/boxes/precise64/versions/20170331.0.0/providers/virtualbox.box` (I point to ubuntu/precise64 as this is a more recent version box of this OS) – Frederic Henri Apr 10 '17 at 10:39
  • no, I don't access through proxy. I ran the command : `$ curl https://vagrantcloud.com/ubuntu/boxes/precise64/versions/201‌​70331.0.0/providers/‌​virtualbox.box % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 40 100 40 0 0 44 0 --:--:-- --:--:-- --:--:-- 48{"errors":["Not found"],"success":false}` – Jerome-p Apr 10 '17 at 11:35
  • hum curl dont handle redirection, sorry try `curl -O http://cloud-images.ubuntu.com/vagrant/precise/current/precise-server-cloudimg-amd64-vagrant-disk1.box` and confirm if the box file is downloaded or not – Frederic Henri Apr 10 '17 at 11:43
  • I ran the command, here is the result : `$ curl -O http://cloud-images.ubuntu.com/vagrant/precise/current/preci‌​se-server-cloudimg-a‌​md64-vagrant-disk1.b‌​ox % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 227 100 227 0 0 3661 0 --:--:-- --:--:-- --:--:-- 4829 ` a 'preci__se-server-cloudimg-a__md64-vagrant-disk1.b__ox' file was created with a size of 1Ko... – Jerome-p Apr 10 '17 at 12:02
  • what is the content of the file ? can you run `more` on the file, is it binary or its a text file ? – Frederic Henri Apr 10 '17 at 13:02
  • After typing the command manually, I managed to download the box. I don't know why hidden characters were added when copying and pasting the URL. – Jerome-p Apr 10 '17 at 13:05
  • I ran `$ vagrant box add --name ubuntu precise-server-cloudimg-amd64-vagrant-disk1.box ` and I got that message : `==> box: Box file was not detected as metadata. Adding it directly... ==> box: Adding box 'ubuntu' (v0) for provider: box: Unpacking necessary files from: file://C:/Temp/Vagrant/precise-server-cloudimg-amd64-vagrant-disk1.box box: An error occurred while downloading the remote file. The error message, if any, is reproduced below. Please fix this error and try again. Failed writing body (0 != 16383) ` – Jerome-p Apr 10 '17 at 13:20
  • has your windows user special characters ? try pointing `VAGRANT_HOME` to a simple directory and try again – Frederic Henri Apr 10 '17 at 14:00
  • yes, I just found that too by looking at Vagrant log file... encoding issue due to special characters in my windows user name. Thank you very much for helping me resolve that issue! – Jerome-p Apr 10 '17 at 14:35

1 Answers1

1

I just found the origin of my problem : I had special characters in my windows username that brought encoding issue in Vagrant temporary folder path...

A big thanks to Frédéric Henri (https://stackoverflow.com/users/4296747/fr%c3%a9d%c3%a9ric-henri) who helped me a lot and also found the origin of my issue.

Community
  • 1
  • 1
Jerome-p
  • 21
  • 4