Vagrant should require metadata for processor architecture

I just ventured into Vagrant after hitting the abysmal Docker I/O performance. Unfortunately, Vagrant seems to be oblivious to processor architecture when searching boxes! On a Macbook with a M1, I cannot use anything other than ARM architecture images (not totally sure about Parallels, which hints to supporting x86 on ARM), so the usual Getting Started guide is useless. The “bionic64” image, for instance, is for the x86-64 architecture and fails to load no matter the provider. And so I tried finding boxes, but I only have name and provider to go by. At some point I finally found a box mentioning “arm64” in its name, but it was for the parallels provider, so useless for me as I had installed the VMWare Fusion Tech Preview (with ARM support on macOS).

Basically: we need metadata for architecture to be able to search for suitable images! Maybe this should be a bug issue for their issue tracker?

So running Vagrant on Apple Silicon works, but it has been quite painful from a user perspective, and I suspect very few people would be able to stick around long enough to figure out on their own, as a bunch of us did in this vmware provider issue.

There are quite a few issues missing, like meaningful error reporting from the provider, but one of the most obviously missing things is support for using metadata for the cpu architecture. I am not sure how this could be missing, but this pain point will just increase as more people transition to ARM based architectures (on Apple hardware, AWS instances, etc), as it is not obvious how one could filter away all the noise from the existing x86/amd64 based images.

So I created vagrant#12610 in the hopes of seeing this addressed, as this cannot be fixed a single PR, but would need support on both the Vagrant Cloud side of things and in the client itself.