Vagrant memory customization does not work - vagrant

In my Vagrantfile, I am trying to customize the memory of the VirtualBox VM using the following code snippet. I am using the following box for the VM - http://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box
Vagrant.configure("1") do |config|
config.vm.customize ["modifyvm", :id, "--memory", 1024]
end
Vagrant.configure("2") do |config|
config.vm.provider "virtualbox" do |v|
v.name = "FJORD_VM"
v.memory = 1024
end
end
But this does not work and the VM starts with the default 512MB RAM. What could be the issue here? I am using the latest 1.7.2 Vagrant. I have also tried using
v.customize ["modifyvm", :id, "--memory", 1024]
in the Vagrant.configure("2") block and still it does not work.
I also intercepted the calls to VBoxManage by creating my local wrapper script that logs the arguments before calling the actual VBoxManage. I see no calls to customize the VM memory.

I second what #ydaetskcoR says about removing the 1.0 section - not only might it confuse Vagrant but it seems redundant. I am using the same box as you and it's working just fine for me:
config.vm.provider "virtualbox" do |v|
v.memory = 1024
v.cpus = 2
v.customize [ :guestproperty, :set, :id, "/VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold", 10000 ]
end
I am also using Vagrant 1.7.2 and Virtualbox 4.3.16, and as I said, it's working fine for me.

As you can use Vagrant 1.7.2 you just need Vagrant.configure("2"), as here
So, you can use:
Vagrant.configure("2") do |config|
config.vm.provider :virtualbox do |v|
v.customize ["modifyvm", :id, "--memory", "1024"]
v.customize ["modifyvm", :id, "--name", "FJORD_VM"]
end
end

Related

vagrant stalls on 'default: SSH auth method: private key' and then times out [closed]

Closed. This question is not about programming or software development. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 8 days ago.
Improve this question
I have the following vagrantfile:
Vagrant.configure("2") do |config|
config.vm.box ="ubuntu/focal64"
config.vm.network "forwarded_port", guest: 80, host: 8000
config.vm.boot_timeout = 600
config.vm.network "private_network", ip: "192.168.56.11"
config.vm.define "trusty" do |node|
node.vm.hostname = "trusty.local"
node.vm.provision "ansible" do |ansible|
ansible.playbook = "main.yml"
end
end
config.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--uart1", "0x3F8", "4"]
vb.customize ["modifyvm", :id, "--uartmode1", "file", File::NULL]
vb.customize ["modifyvm", :id, "--cableconnected1", "on"]
vb.customize ["modifyvm", :id, "--vram", "128"]
vb.memory = "4096"
vb.cpus = "2"
end
config.vm.provision "shell", inline: <<-SHELL
apt-get update
SHELL
end
software specs:
windows 11 pro OS build 22000.1455
WSL2
Vagrant 2.3.4
VirtualBox 7.0.2 r154219
I tried many suggestions found in GitHub issues and SOF non worked so far:
BIOS settings enable virtualization features
Hyper-V disabled
Virtual Machine Platform (I disabled it but then obviously wsl won't work so I enabled it again)
Windows Hypervisor Platform (disabled)
installed the VirtualboxWSL2 plugin. for vagrant
increased the memory and cpus of the vb
any other suggestions?

Is it possible to add vms in a particular group with virtualbox vagrant provider?

I have several vms in my virtualbox. Instead of a single list in ui, i would like to see them in different groups. so all the machines of a particular environment will be grouped together. is it possible , to mention group name in vagrantfile?
It's possible. Notice from VirtualBox manual:
--groups , ...: This changes the group membership of a VM. Groups always start with a / and can be nested. By default VMs are in group /.
Just do like that:
config.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--groups", "/mygroupname"]
end
I did not try but I assume the following should work
config.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--groups", "mygroupname"]
end

How to stop vagrant from freezing during disk usage

My vagrant machine keeps freezing under moderate disk usage, such as running composer install (freezes during extraction) or running scripts which write to log files often. When it freezes, it will not respond to ctl-C, but I can vagrant ssh into a new terminal window. When I do this and inspect disk space and memory, nothing appears to be maxed out.
I've tried running vagrant box update, updating vagrant itself, and increasing allocated memory. I've also destroyed and rebuilt the VM, but to no avail.
Any suggestions to make this work?
I'm running debian/contrib-jessie64 v8.6.2, Vagrant 1.8.6 using VirtualBox.
My Vagrantfile includes the following:
vb.customize ['modifyvm', :id, '--cpus', '1']
vb.customize ['modifyvm', :id, '--memory', 1024]
vb.customize(["modifyvm", :id, "--rtcuseutc", "on"])
vb.customize(["modifyvm", :id, "--natdnshostresolver1", "on"])
vb.customize ['modifyvm', :id, '--vram', 128]
vb.customize ['modifyvm', :id, '--ioapic', 'on']
vb.customize ['modifyvm', :id, '--chipset', 'ich9']
vb.customize ['modifyvm', :id, '--pae', 'on']
vb.customize ['modifyvm', :id, '--nictype1', 'virtio']
vb.customize ['modifyvm', :id, '--nictype2', 'virtio']
After some trial and error, I fixed my problem by changing the synced_folder type from nfs to default in my Vagrantfile:
Original:
config.vm.synced_folder "/path/to/local/folder", "/path/to/guest/folder", type: "nfs" , :mount_options => ['rw', 'vers=3', 'udp', 'actimeo=1']
Updated:
config.vm.synced_folder "/path/to/local/folder", "/path/to/guest/folder"
As this is working for my situation, I didn't go into detail comparing synced folder types or tuning them, but more information about NFS performance can be found here:
https://www.inovex.de/blog/doh-my-vagrant-nfs-is-slow/

Vagrant /etc/hosts

I've been changing my /etc/hosts file to redirect live urls to my local vagrant box, which worked fine until recently.
I have something like this in my host file
example.be 10.11.10.12
I need to do this because I'm using a third party javascript SDK which is linked to the live domain.
I think this is the most important stuff in the config file:
Vagrant.configure(2) do |config|
# Every Vagrant development environment requires a box. You can search for
# boxes at https://atlas.hashicorp.com/search.
config.vm.box = "bento/debian-7.8"
config.vm.network "forwarded_port", guest: 80, host: 3001
config.vm.network "private_network", ip: "10.11.10.12"
config.ssh.forward_agent = true
config.vm.synced_folder ".", "/vagrant", type: "nfs" # NFS because VirtualBox shared VM is too slow
config.vm.provider "virtualbox" do |vb|
# This all might be a bit excessive, but it'll run ;)
vb.memory = 2048
vb.cpus = 4
# The internet says these changes improve VM performance
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
vb.customize ["modifyvm", :id, "--ioapic", "on"]
end
end
I've found similar questions, but none exactly answer my question. The thing is, it worked before and now it doesn't, that the hardest part for me...
FYI: I'm using OS X Yosemite 10.10.5
Okay, I feel stupid now, it seems I just needed to turn things around in my hosts file...
So I should have:
10.11.10.12 example.be
Strange it worked before, though.
Anyway, back to work. Move along, nothing to see here.

How to enable internet access inside Vagrant?

If I run curl google.com, I can't see the output, only a blank page. My Vagrantfile contains:
Vagrant.configure("2") do |config|
config.vm.box = "trumobi"
#config.vm.box_url = "http://192.168.136.129/package.box"
config.ssh.default.username = "trumobi"
config.vm.network :public_network
config.vm.network :forwarded_port, host: 8000, guest: 8000
end
If you are using Vagrant + VirtualBox + Ubuntu, you might want to add the following block to your VagrantFile:
config.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
v.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
end
If you are using ubuntu, and you think your firewall is on, here's how you turn off the firewall:
sudo ufw disable
This happens sometimes for me if I switch the host network connection, like disconnecting my laptop Ethernet cable and start using the wireless network.
I found that rebooting the Vagrant vm (vagrant halt, vagrant up) fixes things.
Disabling firewall helped me.
In my CentOS guest box I did:
# sudo service iptables save
# sudo service iptables stop
# sudo chkconfig iptables off
I tried all of the above without success (Vagrant+Virtualbox+Ubuntu 14.04). Virtualbox was showing 'Adapter 1 (NAT): cable disconnected'. Adding the following to my Vagrantfile fixed it:
config.vm.provider 'virtualbox' do |vb|
vb.customize ['modifyvm', :id, '--cableconnected1', 'on']
end
Found here: https://github.com/mitchellh/vagrant/issues/7648

Resources