Update the source code URI so that rubygems references the repository
that the code was moved to instead of from before when it was hosted
under the original author's personal org.
Add a unit test for the prepare nfs settings action to act as a
regression test for the recent fix to avoiding modifying a frozen string
literal.
As part of this fix how the communicator is returned via a call to a
machine for testing purposes and remove an obsolete expect from the
wait till up tests as the code that would result in the communicator
being called has been removed.
Ensure that nfsd is not required to run the tests by mocking out the
host capability check.
When enabling video_accel3d, as graphics_gl is typically required, will
by default set it to true unless explicitly set to false.
Enabling these should result in a significant performance improvement
for any VM where the desktop is being used.
Fixes: #893Fixes: #1009
Since the podman instructions by-pass use of the entrypoint, it is
necessary to ensure the directories being mounted are pre-created before
running the container.
Fixes: #1373
Support limited user defined serial console settings to redirect boot
time messages to a log file.
Authored-by: Darragh Bailey <daragh.bailey@gmail.com>
Signed-off-by: Itxaka <igarcia@suse.com>
This ensures that a network is always appended to the created_networks
file, to avoid the case where a domain that created the network gets
destroyed first during cleanup, therefore skipping the network destroy
because some other domain is still using it. Since the second domain did
not create the network, the existing behaviour is that it gets left
behind.
Seting :libvirt__always_destroy to true will ensure that the domain will
destroy the network even if it did not create it, if there are no other
users of the network remaining.
Using the trailing action for ShutdownDomain results in it being
executed as part of the start up sequence in the reload action.
This appears to happen because the halt action is not executed in
isolation from the start action that is scheduled afterwards and
consequently the chaining behaviour spans both instead of being treated
as the combination of two distinct actions that should complete.
While this fixes the issue, it is important that subsequently call such
actions can be done without allowing the out part of the middleware
behaviour to be applied to subsequent actions.
Partial-Fix: #1376
It is more reliable to identify disk and network devices by use of
aliases, in addition to being able to establish in the absence of
information the purpose of such devices.
There is a possibility that in some cases this will also resolve issues
where the same device attach issued twice with the same details will
fail due to the second request not appearing to be honoured.
Additionally when destroying domains, may not have the relevant details
on how many disks are provided by the box, for those that support
multiple disks. Being able to traverse the domain XML and destroy the
appropriate volumes based on aliases names will remove the need to have
predictable device identifiers during the destroy and allow for an
improved resolver.
Relates: #1342
Support packaging multi disk machines however default to v1 format
unless v2 format is explicitly enabled. Output a warning to alert users
of the possible change in behaviour in the future.
Allows selecting the format to use via the environment, where use of v1
format with a multi disk machine will ignore the other disks.
To support commands requesting a reboot of a VM after execution, the
query of ssh_info needs to avoid triggering an error when the IP address
is not yet retrievable as this indicates the VM would not be reachable.
Wrap the returning of the state in the driver to distinguish between the
following states:
- :running - indicates the machine is available
- :inaccessible - the machine is running but not yet available to
connect
This is based on the behaviour from the virtualbox provider.
Includes some rudimentary tests to exercise the driver state code.
Closes: #1366
Adjust create domain tests to exercise both with a box defined and
undefined. Switch the default vagrantfile definition to have a box
defined as it is the expected behaviour.
Save the variables on the instance to allow for different connection
settings to be specified on a per machine basis.
Provide some rudimentary tests that ensure that the different URIs are
used when constructing connections, and additionally the connection is
created only once, no matter how many times it is subsequently called.
Fixes: #1358
When users adding devices either via the pass through or USB redirector
approach, ensure a default controller is added using the xhci stack.
This should work for all versions of USB, where as the previous default
of piix3-uhci appears to only work for some USB 1 controllers.
Fixes: #1346
In the entrypoint.sh script, the "$1" variable was used incorrectly
when determining default user based on the ownership of the vagrantfile
(or parents). The "$vagrantfile" variable should have been used
instead, as it was just set.
Signed-off-by: SG <13872653+mmguero@users.noreply.github.com>
Because libvirt may handle updating the XML of components differently
across different versions and user environments, add the generated
contents to the debug log to assist in understanding what is happening
for different users.
Allow control of the reference or version of vagrant-spec to be used
from the dev environment where it is necessary to test with older
versions of the plugin which may depend on different versions of
dependencies compared to vagrant-spec.
In this case the latest vagrant-spec has rolled forward the rspec core
version to 3.10, which works with the latest vagrant-libvirt. However
previous versions of vagrant-libvirt require 3.5, which was the previous
minor version pinned.
Adding the option of VAGRANT_SPEC_VERSION that can be set as an
environment variable should help control this explicitly when needed in
the future the same as how VAGRANT_VERSION is handled.
This adds in a ShutdownDomain action which allows for the
GracefulHalt action to attempt to shutdown the domain. If
it does not transition to domain successfully to a shutoff
state, the ShutdownDomain action is used to "nicely" shutdown
the domain. Likewise, if that action fails to transition the
domain, the HaltDomain action will be used to forcibly stop it.
Updates the halt action to use the GracefulHalt builtin action.
If the GracefulHalt builtin action fails to properly transition
the state of the guest, it will use the HaltDomain action to
forcibly stop it.
Vagrant recently bumped its minimum rspec version to 3.10. This commit
unrestricts the version so that the requirements from old and new vagrant
versions can be accommodated.
To handle where the ~/.vagrant.d global state directory for a user
doesn't exist, and thus specifying it as part of the docker run command
will result in the docker daemon creating it with root ownership.
Switch to using the working directory for user/group resolution,
searching for the Vagrantfile in the starting path and then working
up the tree. If it's not found default to the original starting path.
Combined with checking if the mounted vdir is empty, use the resolved
user/group based on the Vagrantfile and working directory to modify the
newly created directory to belong to the running user. Subsequently
ensure that the directories referenced via symlinks are created if they
don't exist.
Fixes: #1191Closes: #1254
Restructure action to remove custom handling around packaging of the
box and instead use more of the built-in provided actions instead.
Includes some packaging tests to cover both simple where the public
key is retained (can't modify the tinycore VM without more complex
provisioning steps), and a more complex one that utilizes a script
and supports triggering regenerating the hosts on subsequent boots.
The use of the upstream packaging helpers means that when the
default insecure ssh key has been replaced, the packaging process
will automatically include the generated key.
Fixes: #759Fixes: #765Fixes: #1013Fixes: #994