hashicorp / vagrant

Vagrant is a tool for building and distributing development environments.
https://www.vagrantup.com
Other
26.27k stars 4.44k forks source link

Failed to create new device #12052

Closed terion-name closed 3 years ago

terion-name commented 3 years ago

I've updated to Big Sur (that was in beta for half of a year and gave plenty of time to adapt and test)

With that I was forced to update VMWare Fusion from 11 to 12, that is around for 2 months already. But thankfully it is now free for personal use.

With that I was forced to pay again for vagrant vmware provider. Third or fourth time in my usage period.

And... and it doesn't work.

I've used to permanent port forwarding issues. I can live without port forwarding that doesn't work at all by now as I see in numerios issues.

But for me it simply doesn't work at all. Multiple hours of trying to do something and nothing. Thank you, hashicorp for such "stable" and "tested" products that continiously steal my time and stopping my work. Thank you.

Vagrant version

Vagrant 2.2.13 vmware fusion 12, freshly updated vmware provider and utility

Host operating system

MacOS Big Sur

Guest operating system

Ubuntu

Vagrantfile

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

require 'json'
require 'yaml'

VAGRANTFILE_API_VERSION ||= "2"
confDir = $confDir ||= File.expand_path("vendor/laravel/homestead", File.dirname(__FILE__))

homesteadYamlPath = File.expand_path("Homestead.yaml", File.dirname(__FILE__))
homesteadJsonPath = File.expand_path("Homestead.json", File.dirname(__FILE__))
afterScriptPath = "after.sh"
customizationScriptPath = "user-customizations.sh"
aliasesPath = "aliases"

require File.expand_path(confDir + '/scripts/homestead.rb')

Vagrant.require_version '>= 2.2.4'

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
    if File.exist? aliasesPath then
        config.vm.provision "file", source: aliasesPath, destination: "/tmp/bash_aliases"
        config.vm.provision "shell" do |s|
            s.inline = "awk '{ sub(\"\r$\", \"\"); print }' /tmp/bash_aliases > /home/vagrant/.bash_aliases"
        end
    end

    if File.exist? homesteadYamlPath then
        settings = YAML::load(File.read(homesteadYamlPath))
    elsif File.exist? homesteadJsonPath then
        settings = JSON::parse(File.read(homesteadJsonPath))
    else
        abort "Homestead settings file not found in " + File.dirname(__FILE__)
    end

    Homestead.configure(config, settings)

    if File.exist? afterScriptPath then
        config.vm.provision "shell", path: afterScriptPath, privileged: false, keep_color: true
    end

    if File.exist? customizationScriptPath then
        config.vm.provision "shell", path: customizationScriptPath, privileged: false, keep_color: true
    end

    if Vagrant.has_plugin?('vagrant-hostsupdater')
        config.hostsupdater.aliases = settings['sites'].map { |site| site['map'] }
    elsif Vagrant.has_plugin?('vagrant-hostmanager')
        config.hostmanager.enabled = true
        config.hostmanager.manage_host = true
        config.hostmanager.aliases = settings['sites'].map { |site| site['map'] }
    end
end

# https://github.com/hashicorp/vagrant/issues/12045
Vagrant.configure("2") do |config|
  config.vm.provider :vmware_desktop do |v|
    v.ssh_info_public = true
  end
end

Debug output

terion@MBP-Terion catalog % vagrant up
Bringing machine 'catalog' up with 'vmware_fusion' provider...
==> catalog: Checking if box 'laravel/homestead' version '10.0.0' is up to date...
==> catalog: Verifying vmnet devices are healthy...
Vagrant failed to create a new VMware networking device. The following
error message was generated while attempting to create a new device:

  Failed to create new device

Please resolve any problems reported in the error message above and
try again.

Expected behavior

It works

Actual behavior

It doesn't

soapy1 commented 3 years ago

Hey there, a new version of the vmware utility (1.0.17) was released 🪂 that includes a fix for this issue. So, I'm going to go ahead and close this issue. Thanks for the report!

terion-name commented 3 years ago

@soapy1 no, it doesn't

soapy1 commented 3 years ago

Oh no! In order to better understand what is going on and reproduce this issue could you provided a minimal Vagrantfile. That is, the bare minimum amount of configuration to reproduce the problem, ideally without any dependencies on external files. Could you also provide some logs from vagrant and from the vmware utility. The vmware utility log file should be at /Library/Application Support/vagrant-vmware-utility/service.log

Kryptonit3 commented 3 years ago

Same exact issue. MacOS Big Sur 11.0.1 Vagrant 2.2.14 vmware utility 1.0.17 VMWare Fusion 12.1.0

My Vagrantfile is the same. It is what is required for Laravel Homestead to function. I had a lot more issues than this but apparently VMWare 11 was the problem, upgraded to 12 and was forced to upgrade my vagrant license ($39). Still getting the problem listed in this issue.

Here is output of the service.log you asked about.


2020-11-23T15:32:34.716-0500 [INFO]  vagrant-vmware-utility.api: created: vmx=<nil>
2020-11-23T15:32:34.716-0500 [ERROR] vagrant-vmware-utility.api: vmrun setup failure: error="Failed to locate valid vmrun executable"
2020-11-23T15:32:34.716-0500 [ERROR] vagrant-vmware-utility.api: base driver setup failure: error="Failed to locate valid vmrun executable"
Failed to setup Vagrant VMWare API service - Failed to locate valid vmrun executable
2020-11-23T15:32:44.728-0500 [INFO]  vagrant-vmware-utility.api: created: vmx=<nil>
2020-11-23T15:32:44.728-0500 [ERROR] vagrant-vmware-utility.api: vmrun setup failure: error="Failed to locate valid vmrun executable"
2020-11-23T15:32:44.728-0500 [ERROR] vagrant-vmware-utility.api: base driver setup failure: error="Failed to locate valid vmrun executable"
Failed to setup Vagrant VMWare API service - Failed to locate valid vmrun executable
2020-11-23T15:32:54.735-0500 [INFO]  vagrant-vmware-utility.api: created: vmx=<nil>
2020-11-23T15:32:54.838-0500 [INFO]  vagrant-vmware-utility.api: attempting to load vmrest driver
2020-11-23T15:32:54.838-0500 [WARN]  vagrant-vmware-utility.api.vmrest: standard vmware license detected, using fallback
Starting the Vagrant VMware API service
2020-11-23T15:32:55.647-0500 [INFO]  vagrant-vmware-utility.api.api: api service start: host=127.0.0.1 port=9922
2020-11-23T15:33:15.163-0500 [INFO]  vagrant-vmware-utility.api.api.handler: request start: method=GET path=/vmware/info request-id=0xc00028e9a0
2020-11-23T15:33:15.163-0500 [INFO]  vagrant-vmware-utility.api.api.handler: request complete: code=200 request-id=0xc00028e9a0
2020-11-23T15:33:15.167-0500 [INFO]  vagrant-vmware-utility.api.api.handler: request start: method=GET path=/vmware/paths request-id=0xc00028ee00
2020-11-23T15:33:15.167-0500 [INFO]  vagrant-vmware-utility.api.api.handler: request complete: code=200 request-id=0xc00028ee00
2020-11-23T15:33:15.173-0500 [INFO]  vagrant-vmware-utility.api.api.handler: request start: method=GET path=/version request-id=0xc00028f260
2020-11-23T15:33:15.173-0500 [INFO]  vagrant-vmware-utility.api.api.handler: request complete: code=200 request-id=0xc00028f260
2020-11-23T15:33:15.184-0500 [INFO]  vagrant-vmware-utility.api.api.handler: request start: method=GET path=/version request-id=0xc00028f6c0
2020-11-23T15:33:15.184-0500 [INFO]  vagrant-vmware-utility.api.api.handler: request complete: code=200 request-id=0xc00028f6c0
2020-11-23T15:33:15.222-0500 [INFO]  vagrant-vmware-utility.api.api.handler: request start: method=GET path=/vmware/info request-id=0xc00028fb20
2020-11-23T15:33:15.222-0500 [INFO]  vagrant-vmware-utility.api.api.handler: request complete: code=200 request-id=0xc00028fb20
2020-11-23T15:33:15.224-0500 [INFO]  vagrant-vmware-utility.api.api.handler: request start: method=GET path=/vmware/paths request-id=0xc000406000
2020-11-23T15:33:15.224-0500 [INFO]  vagrant-vmware-utility.api.api.handler: request complete: code=200 request-id=0xc000406000
2020-11-23T15:33:15.227-0500 [INFO]  vagrant-vmware-utility.api.api.handler: request start: method=GET path=/version request-id=0xc000406460
2020-11-23T15:33:15.227-0500 [INFO]  vagrant-vmware-utility.api.api.handler: request complete: code=200 request-id=0xc000406460
2020-11-23T15:33:16.680-0500 [INFO]  vagrant-vmware-utility.api.api.handler: request start: method=POST path=/vmware/validate request-id=0xc000468380
2020-11-23T15:33:16.681-0500 [INFO]  vagrant-vmware-utility.api.api.handler: request complete: code=204 request-id=0xc000468380
2020-11-23T15:33:17.217-0500 [INFO]  vagrant-vmware-utility.api.api.handler: request start: method=POST path=/vmnet/verify request-id=0xc00028e460
2020-11-23T15:33:22.106-0500 [INFO]  vagrant-vmware-utility.api.api.handler: request complete: code=204 request-id=0xc00028e460
2020-11-23T15:33:22.127-0500 [INFO]  vagrant-vmware-utility.api.api.handler: request start: method=DELETE path=/portforwards request-id=0xc0000c8460
2020-11-23T15:33:22.128-0500 [INFO]  vagrant-vmware-utility.api.api.handler: request complete: code=204 request-id=0xc0000c8460
2020-11-23T15:33:22.808-0500 [INFO]  vagrant-vmware-utility.api.api.handler: request start: method=GET path=/vmnet request-id=0xc0000c88c0
2020-11-23T15:33:22.808-0500 [INFO]  vagrant-vmware-utility.api: collecting vmnets
2020-11-23T15:33:22.808-0500 [INFO]  vagrant-vmware-utility.api.api.handler: request complete: code=200 request-id=0xc0000c88c0
2020-11-23T15:33:22.823-0500 [INFO]  vagrant-vmware-utility.api.api.handler: request start: method=POST path=/vmnet request-id=0xc00028e9a0
2020-11-23T15:33:24.924-0500 [INFO]  vagrant-vmware-utility.api.api.handler: request complete: code=400 request-id=0xc00028e9a0```
ignaciovazquez commented 3 years ago

I'm having the same issue

dfox288 commented 3 years ago

Same problem here. Big Sur 11.1. All plugins, utilities and VMWare are the newest versions.

dfox288 commented 3 years ago

Update: uninstalling the vmware utility and the vagrant plugin and reinstalling them seemed to have fixed the issue.

terion-name commented 3 years ago

@dfox288 tried, didn't help

herrbischoff commented 3 years ago

Purchased the VMware plugin yesterday, same issue here. Probably have to return it if this is not fixed very shortly.

# sw_vers
ProductName:    macOS
ProductVersion: 11.1
BuildVersion:   20C69
VMware Fusion 12.1.0 (17195230)
kvn1234 commented 3 years ago

I am FURIOUS that this is a known issue and yet you still sold me the plugin not an hour ago. It should be noted on the website that it doesn't work with Big Sur (or at least that there are issues.) Since there's no VirtualBox available for Big Sur ATM, this is going to be happening a lot more now that everyone will be starting to move. I suggest you get on a fix for this. You're CHARGING MONEY FOR THIS. This isn't some freeware hope-for-the-best open source for-the-love-of-code project. You are taking money for a product you know doesn't work.

That's called "fraud."

herrbischoff commented 3 years ago

Just wanted to point to an Ask Different question I posted some time ago with possible solutions to get VirtualBox going on Big Sur, although this issue is about the VMware plugin. For me, a full wipe and install from scratch did it for VirtualBox, no further tricks necessary, no messing with SIP, nothing. The OS update appears to break subtle things while a clean install works. Have seen this on multiple machines now.

VMware still does not work as expected with Vagrant though.

@kvn1234, you're upset, I was frustrated too. However, there's no need for name-calling. Breathe. I got offered a refund after an unsuccessful troubleshooting attempt with support@hashicorp.com. They answer very quickly and try their best, despite not being able to help in this case. It was a great support experience, despite the fact that it led nowhere. In truth, it's quite possibly predominantly a VMware issue.

kvn1234 commented 3 years ago

Just wanted to point to an Ask Different question I posted some time ago with possible solutions to get VirtualBox going on Big Sur, although this issue is about the VMware plugin. For me, a full wipe and install from scratch did it for VirtualBox, no further tricks necessary, no messing with SIP, nothing. The OS update appears to break subtle things while a clean install works. Have seen this on multiple machines now.

VMware still does not work as expected with Vagrant though.

@kvn1234, you're upset, I was frustrated too. However, there's no need for name-calling. Breathe. I got offered a refund after an unsuccessful troubleshooting attempt with support@hashicorp.com. They answer very quickly and try their best, despite not being able to help in this case. It was a great support experience, despite the fact that it led nowhere. In truth, it's quite possibly predominantly a VMware issue.

I was able to get VirtualBox working as well. Since I can't see where I called anyone names, I stand by everything else in my post. The fact of the matter is this is a known issue.

soapy1 commented 3 years ago

Hey there, it's clear that this is a very frustrating issue and the move to Big Sur has been pretty rocky. In order to better enable users to make informed decisions we are adding a "Known Issues" section to the VMWare landing page (check out this PR). As a reminder, please remember to follow the Community Guidelines when posting on public Hashicorp forums.

kvn1234 commented 3 years ago

I called no one names. I properly named the legal term for taking money for a product you know doesn't work. If you want to continue to allege that I did something wrong, that's fine. It does not change the fact that I did nothing wrong. "Congratulations", I guess, on doing the absolute bare minimum 96 hours after the bare minimum was pointed out to you.

chrisroberts commented 3 years ago

@kvn1234 I'd again refer you to review the Community Guidelines when posting on HashiCorp forums/repositories. We maintain an expectation that users will be considerate and respectful when commenting. I understand that you are frustrated, but the tone and condescension of your comments are not helpful in resolving this issue nor are they acceptable within the framework of the guidelines. The VMware plugin also includes a 30 day refund period if it does not meet your needs.

An update was released today for the vagrant-vmware-utility that resolves the original issue as best as possible. While the creation of network devices is available in Fusion on Big Sur, there are restrictions which prevent them from behaving the same as they do on Catalina and prior installations of macOS. Most notable is the lack of support for specifying subnet and mask values which removes the ability to define custom IP addresses.

The list of known issues with Big Sur can now be seen here: https://www.vagrantup.com/docs/providers/vmware/known-issues#big-sur-related-issues

When running VMware Fusion on Big Sur, Fusion virtualization and vmnet services are no longer used. Initial releases indicated that the lacking features would be addressed in upcoming releases, but with no updates being released in the macOS virtualization and vmnet frameworks around the lacking features, it does not appear that they will be available any time in the near term future.

We have been working on supplementing the functionality as best we can where possible, and cleaning up error responses where supplementing is not possible. The Big Sur release introduced a number of changes that were compounded by Fusion's complete move to the macOS virtualization and vmnet frameworks. My apologies to everyone affected by the issues around this and my thanks for all your patience as we worked through what was missing, what we could provide, and what was no longer possible.

Cheers!