Vagrant box rockylinux/8 fails for virtualbox provider with error VBOX_E_OBJECT_NOT_FOUND

https://app.vagrantup.com/rockylinux/boxes/8/versions/7.0.0

OS: OSX 11.7 (BigSur)
Vagrant: 2.3.4
Virtualbox: 7.0.4r154605

$ cat Vagrantfile
Vagrant.configure("2") do |config|
  config.vm.box = "rockylinux/8"
  config.vm.box_version = "7.0.0"
end
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'rockylinux/8'...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["import", "-n", "/Users/jamesd/.vagrant.d/boxes/rockylinux-VAGRANTSLASH-8/7.0.0/virtualbox/box.ovf"]

Stderr: 0%...VBOX_E_OBJECT_NOT_FOUND
VBoxManage: error: Appliance read failed
VBoxManage: error: Failed to open OVF file '/Users/jamesd/.vagrant.d/boxes/rockylinux-VAGRANTSLASH-8/7.0.0/virtualbox/box.ovf' (VERR_FILE_NOT_FOUND)
VBoxManage: error: Details: code VBOX_E_OBJECT_NOT_FOUND (0x80bb0001), component ApplianceWrap, interface IAppliance
VBoxManage: error: Context: "RTEXITCODE handleImportAppliance(HandlerArg *)" at line 510 of file VBoxManageAppliance.cpp
$ ls -la /Users/jamesd/.vagrant.d/boxes/rockylinux-VAGRANTSLASH-8/7.0.0/virtualbox/
total 2491288
drwxr-xr-x  7 jamesd  staff         224 12 Dec 20:47 .
drwxr-xr-x  3 jamesd  staff          96 12 Dec 20:47 ..
-rw-r--r--  1 jamesd  staff          72 12 Dec 20:46 .imagefactory-metadata.json
-rw-r--r--  1 jamesd  staff  1273623040 12 Dec 20:47 Rocky-8-Vagrant-Vbox-8.7-20221121.0.x86_64.vmdk
-rw-r--r--  1 jamesd  staff         592 12 Dec 20:46 Vagrantfile
-rw-r--r--  1 jamesd  staff         244 12 Dec 20:46 info.json
-rw-r--r--  1 jamesd  staff          50 12 Dec 20:46 metadata.json

Any more info required here or anywhere else I should raise this bug report?

Please try the latest image:

This will also require UEFI for now. Unfortunately I don’t know how to tell vagrant to use VirtualBox’s UEFI implementation.

To enable UEFI in VirtualBox 7.0 there’s info in the respective manuals:

To test the supplied fix:

  • Create Vagrantfile in working directory:
    Vagrant.configure("2") do |config|
      config.vm.box = "rockylinux/8"
      config.vm.provider "virtualbox" do |domain|
        domain.customize ["modifyvm", :id, "--firmware", "efi"]
      end
    end
    
  • Create bugfix box metadata file named box-metadata.json in working directory:
    {
      "name" : "rockylinux/8",
      "description" : "Rocky Linux 8 7.0.0 Bugfix",
      "versions" : [
        {
          "version" : "7.0.1-20221213.0",
          "providers" : [
            {
              "name" : "virtualbox",
              "url" : "http://dl.rockylinux.org/pub/rocky/8/images/x86_64/Rocky-8-Vagrant-Vbox-8.7-20221213.0.x86_64.box"
            }
          ]
        }
      ]
    }
    
  • Add bugfix box:
    vagrant box add box-metadata.json
    
  • Bring up the box:
    vagrant up
    
  • Box runs without error.
    $ vagrant ssh -- "sudo cat /etc/rocky-release"
    Rocky Linux release 8.7 (Green Obsidian)
    

Thanks again @nazunalika

2 Likes

Thank you for composing this solution! It saves my day.

I would like to mention some other useful information for others who run in to this issue.

  1. another way is to just specify the box_urln Vagrantfile
Vagrant.configure("2") do |config|
  config.vm.box_url = ["http://dl.rockylinux.org/pub/rocky/8/images/x86_64/Rocky-8-Vagrant-Vbox-8.7-20230215.0.x86_64.box"]
end
  1. Boxes of rockylinux 8 on Vagrantcloud seems not to be updated. It says the latest version of rockylinux 8 is created on 2022-12-06
    We can check the latest available version of Vagrant box here: Index of /pub/rocky/8/images/x86_64/
    The latest box of rockylinux 8 at the time of writing was uploaded on 2023-02-15, which is newer than the version on Vagrantcloud

@nazunalika Would it be possible to update the versions hosted on Vagrant Cloud? There’s only 7.0.0 available and it seems there’s been a couple of iterations since that under Index of /pub/rocky/8/images/x86_64/