In some cases env[:machine].box is 'nil' when a box is
not already locally present. Combined with the box_optional
flag this causes the box definition in the Vagrantfile to be
ignored completely, yielding unexpected results. All references
are changed to ensure it does not cause other issues.
* Error handler in case of error when saving domain state with a hint
how to handle the problem.
* Managed saves are deleted prior to undefining a domain.
Task-Url: https://github.com/pradels/vagrant-libvirt/issues/411
Signed-off-by: Max Kutsevol <max@coolvds.com>
* Added the suspend_mode domain specific option. Now it can perform a
managed save/resume. Switching this domain specific option can be done
when the domain is supended, it will correctly resume the domain.
Task-Url: https://github.com/pradels/vagrant-libvirt/issues/411
Signed-off-by: Max Kutsevol <max@coolvds.com>
* Added support to modify domain specific options on already defined
domain, updated relevant documentation. For list of modifiable options
please see updated documentation.
* Added new domain specific option - uuid. To force domain UUID when
creating new VM.
Task-Url: https://github.com/pradels/vagrant-libvirt/issues/418
Signed-off-by: Max Kutsevol <max@coolvds.com>
Readme file is large, so navigation may be quite compilated.
Table of contents improves navigation but adds a little work when the content is changed.
Table of Contents was generated with http://doctoc.herokuapp.com/
For better VM performance CPU type should be set not to qemu64, but to
the host cpu type.
For example see the difference (uppercased)
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
pat pse36 clflush mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc
rep_good nopl eagerfpu pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2
x2apic popcnt tsc_deadline_timer aes xsave avx hypervisor lahf_lm
tpr_shadow vnmi flexpriority ept xsaveopt
Added extensions when emulating host cpu model:
flags : fpu VME de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
PAT pse36 clflush mmx fxsr sse sse2 SS syscall nx RDTSCP lm CONSTANT_TSC
rep_good nopl EAGERFPU pni PCLMULQDQ vmx SSSE3 cx16 PCID SSE4_1 SSE4_2
x2apic popcnt TSC_DEADLINE_TIMER AES XSAVE AVX hypervisor lahf_lm
tpr_shadow vnmi flexpriority ept XSAVEOPT
Nested virtualization requires VMX/SVM capabilities, which are still
being added when domain.nested is set to true.
Using the current default value for cpu_mode everyone will benefit from
the better VMs performance.
Signed-off-by: Max Kutsevol <max@kutsevol.com>
Previously, following Vagrant documentation to setup private DHCP
network failed with:
config.vm.network "private_network", type: "dhcp"
Now libvirt provider accepts both "dhcp" and :dhcp
management_network_address was defaulting to UNSET_VALUE which is of
type Object, thus management_network_address was always truthy.
This fixes issue introduced in
e904fd8941.
This is required because in current versions of libvirt, it is not
possible to specify a boot order when attaching a device; therefore we
can only parse the entire domain XML after all devices have been created
and then assign boot ordering according to the Vagrantfile
specification. This allows us to specify exact boot order for hd, cdrom
and network.
Vagrant already supports VMs without boxes with Docker.
We leverage this in libvirt as well. The use case for this is to PXE
oot a vagrant VM that is then installed over the network then
installed over the network; a different use case would be to test PXE
booted clients that do not use a hard drive whatsoever.