This pops up randomly sometimes for reasons I can't determine yet.
logging this will help narrow it down when it does crop up
Signed-off-by: Cole Robinson <crobinso@redhat.com>
Various checks in the test suite try to match for error/status messages,
so using a localized libvirt (or even using translations of an installed
version of virt-manager in the system) makes those check fail.
Hence, force (using $LANG, and unsetting $LANGUAGE) an English UTF-8
locale.
Thanks Cole Robinson for spotting the right place where to inject the
locale settings.
Fixes: #199
Signed-off-by: Pino Toscano <ptoscano@redhat.com>
Similar to commit 49a01b5482, _fetch_all_domains_raw() has a race
condition where a domain may disappear (from parallel libvirt
operations) in between enumerating and inspecting the objects.
Ignore these missing domains instead of crashing.
https://bugzilla.redhat.com/show_bug.cgi?id=1901081
- Prefer ayatana if it's available, since that's the modern library
- Fix some pylint and code coverage issues
Signed-off-by: Cole Robinson <crobinso@redhat.com>
AyatanaAppIndicator3 is the successor or AppIndicator3 it uses the same API for the time being
Just try to load AyatanaAppIndicator3 in addition of AppIndicator3
Fixes: #181
Make it work more like gfxdetails. The problem with the current
approach is that it requires effectively rebuilding the whole device
to match the original device when we want to edit a single field,
which is error prone.
Signed-off-by: Cole Robinson <crobinso@redhat.com>
If something would normally be shown only in a label, just
hide the row entirely. This was interesting for viewer XML
properties before we had the XML editor, but now it doesn't
add much
Signed-off-by: Cole Robinson <crobinso@redhat.com>
This makes it more clear that 'path' is really a special designation
with a bunch of complicated logic behind it. It's also easier to
grep for
Signed-off-by: Cole Robinson <crobinso@redhat.com>
Leaked connection may mean the app keeps libvirtd socket activated
daemon running for longer than necessary, so it's useful to report
this
Signed-off-by: Cole Robinson <crobinso@redhat.com>
We do this by faking an install phase whenever cloudinit media is
specified, which isn't really the right abstraction and will leak
into virt-install behavior (like doing 2 boots), but it's the simplest
fix for now
Fixes: #178
Signed-off-by: Cole Robinson <crobinso@redhat.com>
_fetch_all_pools_raw() and _fetch_vols_raw() have a race condition where
a pool/volume may disappear (from parallel libvirt operations) in
between enumerating and inspecting the objects.
_fetch_vols_raw() already expected that failure in the loop, but not for
the initial storagePoolLookupByName() call.
Also tighten the expected exception: This *should* crash on errors like
AttributeError or SystemExit, just not on dynamic libvirt errors. (Bare
exceptions are highly frowned upon in Python)
https://bugzilla.redhat.com/show_bug.cgi?id=1894359
For unclear reasons we allowed --print-xml without --file or
--auto-clone, like is required for a traditional clone, which
can lead to some weird behavior.
Signed-off-by: Cole Robinson <crobinso@redhat.com>
On a fresh install where no previous connection has been made a
non-root user starting virt-manager won't find the installed libvirtd
because the location is not in the user path.
Reviewed-by: Cole Robinson <crobinso@redhat.com>
Signed-off-by: Charles Arnold <carnold@suse.com>
When starting many virt-install processes in parallel, some often crash
with
ERROR [Errno 17] File exists: '/home/kstest/.cache/virt-manager/boot'
Fix that by ignoring existing directories instead of explicitly testing
for existence.
The `exist_ok` parameter exists since Python 3.2, and the minimum
supported version is 3.4 now.