vagrant
vagrant copied to clipboard
Networks with custom subnet/mask values are not supported on this platform
Error Output using latest Vagrant plugin
sudo vagrant up --provider vmware_fusion
Password:
Bringing machine 'controlplane' up with 'vmware_fusion' provider...
Bringing machine 'node01' up with 'vmware_fusion' provider...
Bringing machine 'node02' up with 'vmware_fusion' provider...
==> controlplane: 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:
Networks with custom subnet/mask values are not supported on this platform
Please resolve any problems reported in the error message above and
try again.
Actual behavior
Failed to bring up infrastructure on VMware Fusion due to the error listed above.
Vagrant failed to create a new VMware networking device. The following
error message was generated while attempting to create a new device:
Networks with custom subnet/mask values are not supported on this platform
Please resolve any problems reported in the error message above and
try again.
Reproduction information
Vagrant version
- Vagrant 2.4.1
Host operating system
- macOS Sonoma 14.4
Guest operating system
- Ubunutu 22.02
VMware Fusion Version
- Professional Version 13.5.1 (23298085)
Steps to reproduce
- Visit website: https://devopscube.com/build-vms-mac-silicon-with-vagrant/
- Clone repo
- run
sudo vagrant up
having already installed the plugin vagrant-vmware-desktop and added license file.
Vagrantfile
# box_name: "sloopstash/ubuntu-22-04"
box_name: "bento/ubuntu-22.04"
# box_version: "2.1.1"
vm:
- name: "controlplane"
ip: "192.168.201.10"
memory: "2048"
cpus: "2"
- name: "node01"
ip: "192.168.201.11"
memory: "2048"
cpus: "2"
- name: "node02"
ip: "192.168.201.12"
memory: "2048"
cpus: "2"
require 'yaml'
settings = YAML.load_file(File.join(File.dirname(__FILE__), 'settings.yaml'))
Vagrant.configure("2") do |config|
config.vm.box = settings['box_name']
# config.vm.box_version = settings['box_version']
config.vm.box_check_update = false
settings['vm'].each do |vm_config|
config.vm.define vm_config['name'] do |vm|
vm.vm.hostname = vm_config['name']
vm.vm.network :private_network, ip: vm_config['ip']
vm.vm.synced_folder ".", "/vagrant", disabled: false
vm.vm.provider "vmware_desktop" do |vb|
vb.gui = false
vb.memory = vm_config['memory']
vb.cpus = vm_config['cpus']
end
vm.vm.provision "shell", inline: <<-SHELL
apt update
apt upgrade -y
apt install -y wget vim net-tools gcc make tar git unzip sysstat tree
echo "192.168.201.10 controlplane" >> /etc/hosts
echo "192.168.201.11 node01" >> /etc/hosts
echo "192.168.201.12 node02" >> /etc/hosts
SHELL
# vm.vm.provision "shell", path: "scripts/common.sh"
end
end
end
Recommend to change from vmware_fusion
to vmware_desktop
I can confirm that the above suggestion does not resolve the problem. I have the same issue.
It has always confused me what the correct provider name should be. To me the options of:
-
vmware_fusion
-
vmware_desktop
-
vmware
All see to be the same. The documentation doesn't clearly explain the correct time to use each option for the provider name.