Cole Robinson
578451fe72
urldetect: Don't run regex against None SUSE product name
...
We are implicitly depending on random dict ordering for what
order we process Distro matching. Our test suite mocking and
different debian ordering revealed a case we could be trying to
run a regex against None. Fix it. The dict ordering issue will
be fixed separately
2019-06-10 08:44:20 -04:00
Cole Robinson
b4c9e4b114
tests: Skip unattended tests unless osinfo is new enough
2019-06-09 20:19:45 -04:00
Cole Robinson
4dd12e2e56
installer: Generate the unattended script only in installer
...
And pass it down to treemedia, which acts on our script wrapper
object. This is conceptually a bit simpler because we can see in
one place what data feeds the script build process, depending on
installer props
2019-06-09 20:19:42 -04:00
Cole Robinson
20bb798a5f
virtinst: mv *inject.py into single installerinject.py
...
Share the mapping logic between them
2019-06-09 19:00:03 -04:00
Cole Robinson
ae5e9d9a2c
virtinst: Add full test coverage for xml*.py files
2019-06-09 19:00:03 -04:00
Cole Robinson
361657ad15
virtinst: Add a lot of test code coverage
...
* Delete dead code
* Add tests for various device default code paths
* Rework certain conditions a bit so code coverage always hits them
2019-06-09 18:59:50 -04:00
Cole Robinson
261a0a0482
domain: seclabel: Drop some unneeded logic
...
* imagelabel is a runtime only XML attribute which we don't use at
all, so drop parsing
* drop validation checks that libvirt will do for us
2019-06-09 18:34:48 -04:00
Cole Robinson
b5a664bd1b
virtinst: move UI only functions into virtManager
...
These throw off code coverage testing. They are mostly:
* pretty* device helpers
* network + snapshot validation + creation routines
2019-06-09 18:33:45 -04:00
Cole Robinson
c9233aa6c3
tests: uitests: Run whole suite without testsuite hacks
...
We want to hit real network fetching, etc.
2019-06-09 14:26:03 -04:00
Cole Robinson
ae06ed7aaa
setup: Omit progress.py from coverage output
...
Since it's copied code that we rarely touch
2019-06-09 11:36:07 -04:00
Cole Robinson
b3a9b98e08
osdict: Standardize on OsMedia usage
...
* Make all API calls go through the _OsMedia object
* Move most of the unattended specific processing to unattended.py
* Rename requires_internet to is_netinst to clarify what it is checking
2019-06-09 11:26:28 -04:00
Cole Robinson
195d775c5b
installertree: abspath convert MEDIA_DIR
...
Various parts of the code implicitly expect an absolute path
2019-06-09 10:50:21 -04:00
Cole Robinson
e8e8853c22
guest: Don't log when setting default os name=generic
2019-06-09 10:48:13 -04:00
Cole Robinson
0113455065
tests: osdict: add basic list_os unittest
2019-06-09 10:40:26 -04:00
Cole Robinson
d9b41bf887
tests: Add clitest coverage for network-install resources
2019-06-09 10:14:48 -04:00
Cole Robinson
f6a4326a9a
unattended: Drop glib/gio usage
...
Use native python lib bits to do timezone and locale lookup
2019-06-09 09:50:28 -04:00
Cole Robinson
4a04af38f1
tests: clitest: Add windows unattended unittest
2019-06-08 15:33:37 -04:00
Cole Robinson
d3b20b16d0
unattended: Don't use custom subdir for storing tempfiles
...
The reason this was done, is because we need to inject files with
certain names into the initrd/cdrom media so the guest OS can find
them, but our injection infrastructure didn't have the knowledge
necessary to rename files at injection time.
Having to deal with the subdir complicates cleanup and unattended
data generation, so let's do away with it. Teach the injection
bits about renaming, and adjust all the related bits to use
standard tempdirs
2019-06-08 15:25:12 -04:00
Cole Robinson
3495a8f1f9
unattended: Share more script generation bits
...
- Break out the installer* unattended prep to its own function
- Move logging into common unattended call
- Use libosinfo APIs to generate script str, then we write it
- Move commandline lookup to installertreemedia
- Rename path->scriptpath for clarity
2019-06-08 14:16:52 -04:00
Cole Robinson
08baf0ee5f
unattended: Handle libosinfo returning kernel url arg
...
Latest libosinfo will handle this. Check for it so we don't end up
with double options on the command line
2019-06-08 13:03:08 -04:00
Cole Robinson
95d685420b
connection: Fix --location with --connect test:///default
...
Some scratchdir changes made us now attempt vol upload, which doesn't
work for the test driver. Make sure we don't attempt kernelupload
for this case
2019-06-08 12:58:38 -04:00
Cole Robinson
635361f0bd
tests: Add osinfo URL and URL unattended tests
2019-06-08 10:20:36 -04:00
Cole Robinson
1914f0f6cd
initrdinject: Try harder to clean up tempdir on error
2019-06-08 09:55:09 -04:00
Cole Robinson
756dab784c
kernelupload: Add test suite mocking
2019-06-08 09:41:52 -04:00
Cole Robinson
f01a534cfb
tests: Use testsuirebr0 as the fake bridge name
...
It's more obvious in the output than 'eth0'
2019-06-08 09:24:33 -04:00
Cole Robinson
b97003ddfc
interface: Get more unittest coverage of _default_*
2019-06-08 09:24:25 -04:00
Cole Robinson
f3b0830cf3
tests: Add run_without_testsuite_hacks decorator
2019-06-08 09:11:00 -04:00
Cole Robinson
e9dcb4056d
installer: Rework some test suite urlfetcher hacking
...
Rather than alter where we save the files, behave like normal but
only change what we store in the XML
2019-06-07 21:40:47 -04:00
Cole Robinson
af12b32928
osdict: Don't use a variable named 'os'
2019-06-07 21:26:02 -04:00
Cole Robinson
37adfb0150
urlfetcher: Add http and ftp unit test mocking
2019-06-07 21:25:41 -04:00
Cole Robinson
9fc20d4a97
osdict: Fix url arg detection for fedora-rawhide distro
2019-06-07 21:13:51 -04:00
Cole Robinson
6caa085f6c
tests: test_urls: Update
2019-06-07 21:13:51 -04:00
Cole Robinson
388850f04e
virtinst: Rename util to xmlutil
...
The only functions left in there are largely for xml handling, so
make it explicit
2019-06-07 18:21:24 -04:00
Cole Robinson
6677f677da
util: move generate_name to generatename.py
2019-06-07 18:16:53 -04:00
Cole Robinson
5ed8f2aa5f
util: move validate_name to XMLBuilder.validate_generic_name
2019-06-07 18:04:12 -04:00
Cole Robinson
c2de4d7c36
util: Move get_cache_dir to VirtinstConnection
...
Renaming it get_app_cache_dir so it doesn't conflict with get_cache_dir
usage in virtManager
2019-06-07 17:53:15 -04:00
Cole Robinson
e6262435d6
unattended: Move gi require_version to virtinst import
...
Otherwise depending on import order this bit needs to be moved around
2019-06-07 17:45:21 -04:00
Cole Robinson
c603ea4084
util: Move *_meter to progress.py
2019-06-07 17:32:51 -04:00
Cole Robinson
6f5cd58ead
util: Move pretty_* into virtManager code
2019-06-07 17:21:25 -04:00
Cole Robinson
b34800decd
util: Move local_libvirt_version to VirtinstConnection
...
Make it private because we want people to use
conn.local_libvirt_version, and adjust the one other user
2019-06-07 17:15:10 -04:00
Cole Robinson
7d17d5d03b
virtinst: Run register_libvirt_error_handler on import
...
We basically want this everywhere, and transparently, so run it on
import like we do for gettext setup
2019-06-07 16:56:57 -04:00
Cole Robinson
ca10e4094b
util: move is_error_nosupport to SupportCache
2019-06-07 16:49:19 -04:00
Cole Robinson
ecc3e3d34e
support: add is_libvirt_error_no_domain
...
Repurpose the generic util.exception_is_libvirt_error for the one
purpose that it's actually used, add it as a SupportCache staticmethod,
and test it
2019-06-07 16:44:14 -04:00
Cole Robinson
f85e6def55
support: Convert callers to the new format
2019-06-07 16:26:03 -04:00
Cole Robinson
566a4681a8
support: Rework support check invocations
...
SupportCache.check_support(SUPPORT_FOOBAR, args) becomes
SupportCache.foobar(args)
And SupportCache absorbs the caching infrastructure from
VirtinstConnection.
For now we add some hackery to hide the API change from callers, but
this will be undone in the next patch
2019-06-07 16:25:39 -04:00
Cole Robinson
3d2f678c0f
support: Add a SupportCache class
...
For now it just contains all the SUPPORT ID numbers and public
functions.
2019-06-07 15:56:23 -04:00
Cole Robinson
281e796538
connection: Use weakref.proxy instead of weakref.ref
...
Works more like expected, let's us drop a hack in devicedisk
2019-06-07 15:53:36 -04:00
Cole Robinson
657c729f08
installertreemedia: Clarify scratchdir logic a bit
2019-06-07 14:13:25 -04:00
Cole Robinson
2a4a03e37a
util: Move scratchdir helpers to InstallerTreeMedia
...
They are only really needed by the Installer handling
2019-06-07 14:00:00 -04:00
Fabiano Fidêncio
fd5bd5d90f
installer: Prefer "cdrom" over "floppy"
...
Instead of using "floppy" as the way to perform unattended installations
for Windoes, let's prefer using "cdrom" instead.
The main reasons behind this change are:
- VMs using q35 may have floppy device disabled in some systems;
- We can drop mstools dependency;
Generating the ISO depends on genisofs, tho. However, it's not a big
deal as genisofs is already a virt-manager dependency.
Reviewed-by: Cole Robinson <crobinso@redhat.com>
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
2019-06-07 13:41:57 -04:00