Bug 2337302 - vagrant can't download boxes from Vagrant Cloud anymore
Summary: vagrant can't download boxes from Vagrant Cloud anymore
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: vagrant
Version: 41
Hardware: Unspecified
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Vít Ondruch
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-01-13 09:00 UTC by Evgeni Golov
Modified: 2025-01-25 02:17 UTC (History)
7 users (show)

Fixed In Version: vagrant-2.3.4-7.fc42 vagrant-2.3.4-7.fc41
Clone Of:
Environment:
Last Closed: 2025-01-16 16:40:56 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github hashicorp vagrant issues 13571 0 None open An unexpected error occurred: Vagrant Cloud request failed - Method Not Allowed 2025-01-14 11:30:10 UTC

Description Evgeni Golov 2025-01-13 09:00:28 UTC
Ohai,

seems Vagrant Cloud changed things and the Vagrant in Fedora (2.3.4-6) can't download boxes anymore:

  Bringing machine 'pipe-up-foreman-nightly-ubuntu2204' up with 'libvirt' provider...
  Bringing machine 'pipe-up-foreman-smoker-nightly-ubuntu2204' up with 'libvirt' provider...
  ==> pipe-up-foreman-nightly-ubuntu2204: Libvirt Provider: volume_cache is deprecated. Use disk_driver :cache => 'unsafe' instead.
  ==> pipe-up-foreman-nightly-ubuntu2204: Box 'generic/ubuntu2204' could not be found. Attempting to find and install...
      pipe-up-foreman-nightly-ubuntu2204: Box Provider: libvirt
      pipe-up-foreman-nightly-ubuntu2204: Box Version: >= 0
  ==> pipe-up-foreman-nightly-ubuntu2204: Box file was not detected as metadata. Adding it directly...
  ==> pipe-up-foreman-nightly-ubuntu2204: Adding box 'generic/ubuntu2204' (v0) for provider: libvirt
      pipe-up-foreman-nightly-ubuntu2204: Downloading: https://vagrantcloud.com/generic/ubuntu2204
  The box failed to unpackage properly. Please verify that the box
  file you're trying to add is not corrupted and that enough disk space
  is available and then try again.
  The output from attempting to unpackage (if any):

  bsdtar: Error opening archive: Unrecognized archive format

The problem is that https://vagrantcloud.com/generic/ubuntu2204 downloads a webpage now, and neither the box nor the box metadata.

A workaround seems to be to set VAGRANT_SERVER_URL=https://vagrantcloud.com/api/v2/vagrant environment variable (or edit lib/vagrant/shared_helpers.rb)

Reproducible: Always

Steps to Reproduce:
1. vagrant init generic/ubuntu2204 (or any other box you don't yet have locally)
2. vagrant up
Actual Results:  
The box failed to unpackage properly.

Expected Results:  
Box is downloaded correctly and used.

Comment 1 Anoop C S 2025-01-14 11:30:10 UTC
I've been trying to get some details around this issue and ended up discussing it on the linked GitHub issue. It seems like we need to have an updated vagrant version >= 2.4.1(or 2.4.0).

This is currently affecting our CI runs badly since last few days.

@vondruch can you please do the needful?

Comment 2 Jarek Prokop 2025-01-14 12:00:44 UTC
>  It seems like we need to have an updated vagrant version >= 2.4.1(or 2.4.0).

If we *need* vagrant >= 2.4.0, I am sorry, but we cannot package it as that version is under the BUSL 1.1 license that is disallowed in Fedora. Beginning with https://github.com/hashicorp/vagrant/commit/731e9cb6c48df71d8c3f8d2b929dd35875250d2d which predates 2.4.0 release it seems https://github.com/hashicorp/vagrant/commit/5a2b888c371bd0c8dcae3abe1403e89020c6d6ca .

Best we can do is (while not looking at source code), change it ourselves with the workaround, hoping it will be enough.

(Not a lawyer...) We can start even just thinking about 2.4.0 in the year 2027 earliest if I understand their BUSL correctly.

If the workaround will not be enough and there will not be a workaround that does not come from hashicorp repos (IOW not encumbered by the BUSL license), then this will be the last straw to break the camel's back.

Other workaround is not using their cloud and instead building custom boxes on own infra that will be in the correct format for vagrant in Fedora (vagrant version < 2.4).

Comment 3 Dusty Mabe 2025-01-15 19:10:50 UTC
Maybe the license will change back sometime in the future (wishful thinking).

A workaround for now is to just specify the box_url and checksum in the Vagrantfile. Here is an example:


```
Vagrant.configure(2) do |config|

    config.ssh.insert_key = 'true'

    config.vm.provider :libvirt do |domain|
      domain.memory = 4096
      domain.cpus = 4
    end

    host = 'vanilla-f41'
    box  = 'fedora-41-cloud-base'
    box_url = "https://dl.fedoraproject.org/pub/fedora/linux/releases/41/Cloud/x86_64/images/Fedora-Cloud-Base-Vagrant-libvirt-41-1.4.x86_64.vagrant.libvirt.box"
    box_download_checksum = "6a7776e37514ae2b7986cb2d36c2ce9ed061d99f4bb2da7cfd8b13b163569189"
    box_download_checksum_type = "sha256"

    config.vm.define host do | tmp |
        tmp.vm.hostname = host
        tmp.vm.box = box
        tmp.vm.box_url = box_url
        tmp.vm.box_download_checksum = box_download_checksum
        tmp.vm.box_download_checksum_type = box_download_checksum_type
    end
end
```

Comment 4 Dusty Mabe 2025-01-15 19:14:55 UTC
ahh. I missed in the original description:

> A workaround seems to be to set VAGRANT_SERVER_URL=https://vagrantcloud.com/api/v2/vagrant environment variable (or edit lib/vagrant/shared_helpers.rb)

and that does seem to work. Maybe we could just patch our RPM to either set the env var or update the affected code?

Comment 5 Fedora Update System 2025-01-16 16:37:56 UTC
FEDORA-2025-ccbfae3954 (vagrant-2.3.4-7.fc42) has been submitted as an update to Fedora 42.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-ccbfae3954

Comment 6 Fedora Update System 2025-01-16 16:40:56 UTC
FEDORA-2025-ccbfae3954 (vagrant-2.3.4-7.fc42) has been pushed to the Fedora 42 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 7 Fedora Update System 2025-01-16 17:22:54 UTC
FEDORA-2025-2745f56ebe (vagrant-2.3.4-7.fc41) has been submitted as an update to Fedora 41.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-2745f56ebe

Comment 8 Fedora Update System 2025-01-17 02:48:11 UTC
FEDORA-2025-2745f56ebe has been pushed to the Fedora 41 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2025-2745f56ebe`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-2745f56ebe

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 9 Fedora Update System 2025-01-25 02:17:02 UTC
FEDORA-2025-2745f56ebe (vagrant-2.3.4-7.fc41) has been pushed to the Fedora 41 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.