Commit Graph

199 Commits

Author SHA1 Message Date
Darragh Bailey
06e31d3918 Add rudimentary create domain spec test (#1158)
Provide a simple create domain test that uncovered a bug with an
exception in addition to fixing the tests to avoid unnecessary output
when the code sends messages via the UI.
2020-10-23 14:31:29 +01:00
Dusty Mabe
41bcae26e4 config: allow for setting URI from environment
Users are allowed to set a LIBVIRT_DEFAULT_URI environment variable that
controls tools (i.e. virsh, virt-install, etc) that communicate with
libvirt. Let's allow for that mechanism to be used here.
2020-08-16 16:37:57 +01:00
Darragh Bailey
d16bdcc1dc Add @uri config tests and minor refactor (#1139)
Test settings modifying the `@uri` and `@qemu_use_session` variables to make
it easier to update and perform an initial minor refactor to reduce some
of the code currently in use to set `@uri`.
2020-08-16 16:27:27 +01:00
Darragh Bailey
74c381a30d Update test syntax to remove stubs (#1138)
Use of stubs are deprecated, switch to the newer expect/allow syntax.
2020-08-16 16:06:05 +01:00
Rui Lopes
19cd1d5629 let the user set the domain title and description 2020-08-12 22:06:05 +01:00
Julio Lajara
f00bc0eaae Add qemu commandline environment variable support. (#961)
Make it easier to tweak some qemu options by allowing passthru of
command line environment variables.

- Also cleans up weird variable indirection used for qemu commandline args
  variable through `qargs` in various constructors.
- Addresses some functionality discussed in #776.
2020-05-10 14:37:31 +01:00
Quinten Johnson
7e966febbd Allow setting of PCI domain (#927) 2020-05-10 11:40:29 +01:00
Quinten Johnson
618c8b251d Allow specification of domain shares (#925)
Weighted priority of the domain relative to others on the host.
2020-05-10 11:24:06 +01:00
Quinten Johnson
d9c5f63410 Allow specification of numa nodeset (#924)
This specifies the physical numa nodes on which the virtual memory can be
placed.
2020-05-10 10:52:46 +01:00
Quinten Johnson
60ef4b03d1 Allow specification of cpuset (#923)
Allows the pinning of vcpus to physical cpus.
2020-04-29 19:08:01 +01:00
Darragh Bailey
c02905be14 Merge pull request #885 from brianjmurrell/patch-1
Don't add _ after user defined default_prefix
2019-02-13 15:24:42 +00:00
David Scaife
019f43d32d USB: Fix redirfilter template test 2018-08-14 20:38:55 +10:00
Brian J. Murrell
2cfec56325 Update unit test for building simple domain name
Make the unit test match the new requirement that if a _ postfix is desired
when default_prefix is defined, then it must be added to the default_prefix.
2018-04-18 10:59:19 -04:00
Antonio Huete Jimenez
6bdff043a7 Allow specifying Hypervisor HyperV features (#870) 2018-03-21 19:00:28 +01:00
David Scaife
60e93d4925 USB controller configuration (#861)
* Add USB controller configuration

* Update README with USB controller configuration info

* Rename USB controller parameter to usb_controller

* Code style fixup
2018-03-18 09:25:01 +01:00
Tamara Herzog
64a076468e QEMU libvirt nvram support
Some UEFI firmwares may want to use a non-volatile memory to store
variables.
This requires to specify loader and nvram to use UEFI boot in QEMU.
Specifying loader and nvram at the same time will set loader to
type 'pflash' instead of 'rom'.
If loader is used without nvram option type will remain 'rom'.

Further information can be found at libvirt documentation:
https://libvirt.org/formatdomain.html#elementsOS
2018-03-02 11:59:14 +01:00
Michael Darwish
1539f15d4a Fix issue where custom cpu model is ignored (Fixes #864) 2018-02-14 13:13:41 -05:00
Michael Shulbaev
060a33ec49 Add CPU topology configuration 2018-01-12 19:47:49 +07:00
Andreas Bleischwitz
bef59efe6b added spicevmc channel to domain_all_settings.xml and domain_spec.rb 2017-11-28 18:23:47 +01:00
Gerben Meijer
3984929ddb Fix spec for vnc autoport 2017-11-24 11:31:01 +01:00
Darragh Bailey
fcaed64df9 Fix failing domain tests due to missing property
Changes in names of data being passed through from the config object to
the CreateDomain action means that to test the domain xml template,
need to add an additional variable of qargs when testing.
2017-05-29 14:03:35 +01:00
Dominic Cleal
404c428036 Accept network interface MAC addresses without colon delimiters
Commonly found in other Vagrant providers, a MAC address format without
colon delimiters is now accepted for better cross-compatibility of
Vagrantfiles.
2017-05-16 14:20:44 +01:00
Dominic Cleal
7b968c7a72 Fix assert_invalid in configuration spec
assert_invalid was previously only raising an error if there was a
validation error logged, rather than if there wasn't an error. Tests
that expected validation failures were passing without any validation
errors being logged.
2017-05-16 14:15:42 +01:00
Azat Khuzhin
9e7e76b509 Introduce qemuargs (for osx quirks)
v2:
- s/commandline/qemuargs/ (as suggested by @mxl)
- update xmls for testing
- fix merging
2017-04-25 15:06:21 +03:00
Michal Sylwester
07dbb907bd Allow custom name for disk device
This is needed for example for xen in full virtualisation mode
as it won't allow the default vda
2017-02-02 10:02:03 +01:00
Steffen Froemer
639fb240b8 adding support for smartcard device 2017-01-12 09:31:12 +01:00
Steffen Froemer
93cc6fba20 adding watchdog device support
fixed spec file

updated spec file

fixed spec tests
2017-01-10 00:59:40 +01:00
dima
c1898be3d6 rubocop 2016-12-06 23:20:29 +01:00
Gerben Meijer
4837d3a72a Enable coveralls in spec_helper 2016-11-26 23:57:17 +01:00
Darragh Bailey
46e0d09ce6 Fix separate storage config blocks device assignment
Move device assignment for CDROM's and disk storage to occur during
finalize, to ensure that storage config blocks are merged before
assigning devices.

This ensures that defining multiple storage config blocks within the
same or different Vagrantfiles that are merged, works as expected to
create multiple separate storage devices without needing to explicitly
define the dev name.

Fixes #655
2016-11-25 17:14:54 +00:00
Darragh Bailey
4af944f9d6 Merge CDROM storage config blocks 2016-11-25 17:14:54 +00:00
Darragh Bailey
286bdf25b8 Basic spec tests for config
Some simple spec tests to ensure validate and finalize work, which also
includes some tests showing that merging is not functioning as needed
for disks/cdroms both in cdroms not being merged across configs and
device ids are not handled correctly for merged configs.
2016-11-25 17:14:54 +00:00
Darragh Bailey
81a35c9f14 Spec test for domain template to verify rendering
Add basic spec tests for the domain template to test rendering through
simple wrapping of a config object to provide values for class instance
variables used by the template as it mostly mirrors those required.
2016-11-25 15:59:44 +00:00
Michael Kerrin
22acaebf61 Use explicit removal of disk volumes if CDROM attached
Use the more conservative path if either disks or cdroms present for
the domain configuration.

Domain destroy including volumes will attempt to delete any attached
CDROM images as they are registered as volumes. Resulting in the
following error message:

    fog-libvirt-0.0.3/lib/fog/libvirt/requests/compute/volume_action.rb:6:in
    `delete': Call to virStorageVol Delete failed: cannot unlink file
    '<path-to-iso>': Success (Libvirt::Error)

Co-Authored-By: Darragh Bailey <dbailey@hpe.com>
Change-Id: Ia497aef0e871de88e65c46afe071b2618fda5588
2016-04-27 16:44:51 +01:00
Darragh Bailey
bdadfe7339 Rudimentary tests for destroy domain
Some simple tests for destroy domain

Change-Id: I94c85b362f20c69c4ba75d879d20eedb4a934bcf
2016-04-27 16:43:59 +01:00
Darragh Bailey
e21465771d Add additional debug info for mac searching
Reporting the MAC address being looked for in the ARP table should help
determine why some machines pick up an address belonging to another
when starting multiple VM's in parallel.
2016-02-26 11:33:05 +00:00
Darragh Bailey
c5266a4a25 Use domain double instead of machine 2016-02-26 11:33:05 +00:00
Darragh Bailey
c5c15361da Use unit name instead of library to describe tests
To distinguish between future addition of acceptance tests, rename the
existing to tests to match their type as 'unit' tests in line with
other uses of vagrant-spec.
2016-02-26 11:33:05 +00:00
Darragh Bailey
e71203a078 Add test to cover success 2016-02-26 11:33:05 +00:00
Darragh Bailey
1ecab7a9e9 Support --no-destroy-on-error option
Vagrant supports a --no-destroy-on-error option to up to skip destroying
of the machine if there was an error on bringing it up. This can be
useful where an environment can trigger a bug which would normally
result in the domain being torn down preventing additional analysis.

Make sure to simply exit the loops by returning terminate, instead of
looking to execute the remaining retries.

Add spec tests to check that terminate does not call the runner to
remove the domain if the user has disabled destroy on error.

Define a missing constant for vagrant < 1.6 exposed by the added tests.
2016-01-27 18:21:25 +00:00
Darragh Bailey
dde1b9bd43 Raise correct exception on domain not found
Update spec to check the actually exception raised and fix the code to
raise the correct one instead of throwing constant not defined.
2016-01-27 18:21:25 +00:00
Darragh Bailey
afb53addb1 Add rudimentary spec test to WaitTillUp using vagrant-spec
Add some basic spec tests for the WaitTillUp action class to lay some
foundations. Utilize vagrant-spec pinned to a known working commit for
tests to pass consistently until they provide releases.

Requires updating some of the rspec libraries and includes
sharedcontext.rb from the jantman/vagrant-r10k project on github.
2016-01-27 18:21:25 +00:00
Gabriel Briones Sayeg
3277506627 Include custom UEFI loader
Domain XML has loader tag to read specific OVMF.fd path

Signed-off-by: Gabriel Briones Sayeg <gbriones.gdl@gmail.com>
2015-08-06 11:00:15 -05:00
Brad Wadsworth
6c0d15288e added boot_order option 2015-05-29 16:32:20 -05:00
dima
0e2c26a33f cleaning,tests preparation 2015-04-15 09:45:29 +02:00
Nico Tonozzi
eb1dab0131 Update readme and test cases
Updated documentation so that users could find the new option.

Updated test case to behave as expected.
2014-08-05 09:16:52 -06:00
Nico Tonozzi
3a2335f37c Provide an option to randomize domain name
This commit lets users enable hostname randomization from their
Vagrantfile. Without this option enabled, domain creation will fail when
multiple VMs are spun up from the same Vagrantfile, due to a domain name
conflict.
2014-07-31 09:31:30 -06:00
Bradley Smith
dce9cd9b6f add basic test structure--still a WIP. Add test for setting domain name 2014-07-05 18:02:52 -06:00
Bradley Smith
659ee41152 add test for building domain name. 2014-07-04 11:09:00 -06:00