Using a ssh-key is actually the recommended approach. Read my previous blog article on the matter for instructions on how to do it.
It struck me on why I couldn't have a Oracle Linux 7U7 box working as a base for new VMs. And why would I get these nasty memory allocation errors.
I upgraded from Vagrant 2.2.6 to 2.2.9, and VirtualBox from 6.1.4 to 6.1.6, but this wasn't quite related to these versions.
And just now I realized that the one thing I do differently with this box in stead of my OL7U5 box is the vagrant user ssh-key in stead of the password. So, I made sure that the vagrant user can logon using an ssh password. For instance by reviewing the file /etc/ssh/sshd_config and specifically the option PasswordAuthentication:
... # To disable tunneled clear text passwords, change to no here! PasswordAuthentication yes #PermitEmptyPasswords no #PasswordAuthentication no ...Make sure it's set to yes.
Then re packed the box
d:\Projects\vagrant>vagrant package --base OL7U7 --output d:\Projects\vagrant\boxes\ol77GUIv1.1.box ==> OL7U7: Exporting VM... ==> OL7U7: Compressing package to: d:/Projects/vagrant/boxes/ol77GUIv1.1.box
And removed the old box:
d:\Projects\vagrant\ol77_gui>vagrant box list ol75 (virtualbox, 0) ol77 (virtualbox, 0) ol77GUIv1.0 (virtualbox, 0) ol77GUIv1.1 (virtualbox, 0) d:\Projects\vagrant\ol77_gui>vagrant box remove ol77GUIv1.0 Removing box 'ol77GUIv1.0' (v0) with provider 'virtualbox'... d:\Projects\vagrant\ol77_gui>vagrant box list ol75 (virtualbox, 0) ol77 (virtualbox, 0) ol77GUIv1.1 (virtualbox, 0)
I found that it might be usefull to check if there are vagrant processes currently running. Since I got an exception that Vagrant said that the box was locked:
d:\Projects\vagrant\ol77_gui>vagrant global-status id name provider state directory -------------------------------------------------------------------- There are no active Vagrant environments on this computer! Or, you haven't destroyed and recreated Vagrant environments that were started with an older version of Vagrant.
If your box is running it could say something like:
d:\Projects\vagrant\ol77_gui>vagrant global-status id name provider state directory ----------------------------------------------------------------------- 42cbd44 darwin virtualbox running d:/Projects/vagrant/ol77_gui The above shows information about all known Vagrant environments on this machine. This data is cached and may not be completely up-to-date (use "vagrant global-status --prune" to prune invalid entries). To interact with any of the machines, you can go to that directory and run Vagrant, or you can use the ID directly with Vagrant commands from any directory. For example: "vagrant destroy 1a2b3c4d"
You could also do a prune of invalid entries:
d:\Projects\vagrant\ol77_gui>vagrant global-status --prune id name provider state directory ----------------------------------------------------------------------- 42cbd44 darwin virtualbox running d:/Projects/vagrant/ol77_gui ...
In the Vagrantfile I set the ssh username and password:
Vagrant.configure("2") do |config| # The most common configuration options are documented and commented below. # For a complete reference, please see the online documentation at # https://docs.vagrantup.com. # Every Vagrant development environment requires a box. You can search for # boxes at https://vagrantcloud.com/search. config.vm.box = BOX_NAME config.vm.box_url=BOX_URL config.vm.define "darwin" config.vm.provider :virtualbox do |vb| vb.name = VM_NAME vb.gui = true vb.memory = VM_MEMORY vb.cpus = VM_CPUS # Set clipboard and drag&drop bidirectional vb.customize ["modifyvm", :id, "--clipboard-mode", "bidirectional"] vb.customize ["modifyvm", :id, "--draganddrop", "bidirectional"] ... end #config.ssh.username="darwin" config.ssh.username="vagrant" config.ssh.password="vagrant"
It is common to have the vagrant user's password be "vagrant". Lastly I "upped" my VM. And this all seemed to solve my memory allocation problems.
Apparently, we can't use the ssh-key to provision the box.
No comments :
Post a Comment