HW42
b467dd6218
QubesWatch: do not create multiple dom0 QubesDB connections
...
When calling _register_watches() multiple times for dom0 (by passing
None or since 7e9c816b
by passing the corresponding libvirt domain) the
check was missing if there is already a QubesDB in _qdb. Therefore a new
QubesDB was created and the old one is destroyed by the GC. As a
consequence the watch_fd is closed but the libvirt event handle for this
fd is still registered. So when libvirt calls poll() it returns
immediately POLLNVAL with the closed fd. This is not caught in libvirt
and the callback is called as if an event happened. _qdb_handler() now
calls read_watch() on the new fd for dom0 and thereby hangs the thread.
This leads (at leads) to qubes-manager to miss VM status updates and
block device events.
Fixes QubesOS/qubes-issues#2178
2016-07-18 15:03:14 +02:00
Marek Marczykowski-Górecki
9751981f69
version 3.2.6
2016-07-17 05:17:57 +02:00
Marek Marczykowski-Górecki
1a1ec88d29
tests: save qubes.xml befor launching qvm-block tests
2016-07-17 05:16:31 +02:00
Marek Marczykowski-Górecki
b5bee9470a
Merge remote-tracking branch 'qubesos/pr/44'
...
* qubesos/pr/44:
Correct note regarding dom0 home-pre-restore directory
2016-07-17 03:56:39 +02:00
Marek Marczykowski-Górecki
6068c7bc50
core: fix handling uses_default_netvm property
...
- for netvm it doesn't make sense, but instead of removing it (which
surely will break some code), make it always False
- when settings VM connections, uses_default_netvm is already loaded
- handle it properly during backup restore (really use default netvm,
istead of assuming it's the same as during backup)
2016-07-17 03:56:11 +02:00
Marek Marczykowski-Górecki
6ccae83956
tests/backup: verify restored VM properties
...
QubesOS/qubes-issues#2106
2016-07-17 03:56:10 +02:00
Marek Marczykowski-Górecki
8222324146
backup: restore 'services' property
...
Fixes QubesOS/qubes-issues#2106
2016-07-17 03:56:10 +02:00
Marek Marczykowski-Górecki
c5d03cc32e
backup: ask user to update templates after restoring backup
...
To install all the fixes and to update applications + icons.
Fixes QubesOS/qubes-issues#2150
2016-07-17 03:56:10 +02:00
Andrew David Wong
3427621f43
Correct note regarding dom0 home-pre-restore directory
2016-07-16 18:26:15 -07:00
Marek Marczykowski-Górecki
521e96f2c3
Revert "core: detach PCI devices before shutting down VM"
...
Many drivers, including iwlwifi doesn't handle this well, resulting in
oopses etc. Also we're disabling PCI hotplug, which may be result in
more troubles here.
This reverts commit 2658c9a6e6
.
QubesOS/qubes-issues#1673
2016-07-16 21:10:29 +02:00
Marek Marczykowski-Górecki
b3fb8ab59b
Merge remote-tracking branch 'qubesos/pr/44'
...
* qubesos/pr/44:
Revise help and stderr messages
Revise help and stderr messages
2016-07-16 18:10:17 +02:00
Andrew David Wong
1cb0f384fd
Revise help and stderr messages
2016-07-15 16:29:01 -07:00
Andrew David Wong
1d625b3570
Revise help and stderr messages
2016-07-15 16:20:11 -07:00
Bahtiar `kalkin-` Gadimov
778cda0daa
qvm-pool show pools without volumes
...
- Only empty `DomainPools` are skipped
2016-07-14 17:26:28 +02:00
Marek Marczykowski-Górecki
f15ddf7801
backup: fix restoring on system without default netvm
...
Fixes QubesOS/qubes-issues#2168
2016-07-14 02:06:08 +02:00
Bahtiar `kalkin-` Gadimov
71161bfb93
Add mock libvirt objects
2016-07-13 23:28:02 +02:00
Bahtiar `kalkin-` Gadimov
d380fb4aba
qubes.tests.app make pylint happy ♥
2016-07-13 23:08:59 +02:00
Bahtiar `kalkin-` Gadimov
23e52775b6
qubes.tests.init make pylint happy ♥
2016-07-13 23:08:58 +02:00
Bahtiar `kalkin-` Gadimov
d8a90a77c2
Make pylint really happy ♥♥♥
2016-07-13 22:35:58 +02:00
Bahtiar `kalkin-` Gadimov
bcf1cfcb1f
Add qvm-clone(1)
2016-07-13 22:35:58 +02:00
Bahtiar `kalkin-` Gadimov
1467f1ede5
Storage add clone support
2016-07-13 22:35:57 +02:00
Bahtiar `kalkin-` Gadimov
496434d865
qvm-create uses new api
...
- `-p` is now used for `--pool` instead of `--property`
- Documented pool usage
2016-07-13 22:34:37 +02:00
Bahtiar `kalkin-` Gadimov
61feb0ced7
Migrate backup to new storage api
2016-07-13 22:34:37 +02:00
Bahtiar `kalkin-` Gadimov
bb8b58b04c
qubes.backup fix verify_files
2016-07-13 22:34:36 +02:00
Bahtiar `kalkin-` Gadimov
53ff88cd15
qvm-block add revert command
2016-07-13 22:34:36 +02:00
Bahtiar `kalkin-` Gadimov
9acd46bddb
qvm-block show if old revisions are available
2016-07-13 22:34:35 +02:00
Bahtiar `kalkin-` Gadimov
e07c4cc8e8
qvm-block use new storage API
2016-07-13 22:34:35 +02:00
Bahtiar `kalkin-` Gadimov
95fed1eb71
qubes.linux.kernel use new storage api
2016-07-13 22:34:34 +02:00
Bahtiar `kalkin-` Gadimov
f60ccb235d
qubes.storage.domain use new storage API
2016-07-13 22:34:34 +02:00
Bahtiar `kalkin-` Gadimov
d1c606b952
qubes.storage.file use new storage API
2016-07-13 22:34:33 +02:00
Bahtiar `kalkin-` Gadimov
1f735669bc
Migrate qubes.vm modules to new API
2016-07-13 22:34:33 +02:00
Bahtiar `kalkin-` Gadimov
ca9797bb6b
qubes.tests.int.basic use new storage API
2016-07-13 22:34:32 +02:00
Bahtiar `kalkin-` Gadimov
1cbabc79ff
qubes.vm.QubesVM use new storage api
2016-07-13 22:34:32 +02:00
Bahtiar `kalkin-` Gadimov
7e1563c88d
Add handling for old volume config
2016-07-13 22:34:31 +02:00
Bahtiar `kalkin-` Gadimov
1bccb146d8
Add qubes.storage.isodate() helper function
2016-07-13 22:34:31 +02:00
Bahtiar `kalkin-` Gadimov
7841e3f6c0
qubes.storage rework api
2016-07-13 22:34:30 +02:00
Bahtiar `kalkin-` Gadimov
3952cef556
QubesVM serialize bool values from XML
2016-07-13 22:21:32 +02:00
Bahtiar `kalkin-` Gadimov
4cc7b8d2a8
Fix qubes.tests.storage
2016-07-13 22:21:31 +02:00
Bahtiar `kalkin-` Gadimov
bba9b38e8e
Avoid libvirt access in qubes.vm.qubesvm.QubesVM
2016-07-13 22:21:30 +02:00
Bahtiar `kalkin-` Gadimov
774cbd499e
Add TestVM.is_halted() to fix failing tests
2016-07-13 21:57:12 +02:00
Bahtiar `kalkin-` Gadimov
6fad722554
Make pylint really happy ♥♥♥
2016-07-13 21:13:29 +02:00
Bahtiar `kalkin-` Gadimov
3b93fd612e
Make pylint really happy ♥♥♥
2016-07-13 20:58:45 +02:00
Bahtiar `kalkin-` Gadimov
de5487bf14
Dumb down qvm-remove
...
- Move `vm.is_halted()` check in to VMCollection.__delitem__()
- `vm.remove_from_disk()` will raise exception if is called on a running vm
2016-07-13 18:24:29 +02:00
Bahtiar `kalkin-` Gadimov
5115eef413
qvm-shutdown make pylint happy ♥
2016-07-13 18:09:32 +02:00
Marek Marczykowski-Górecki
4072914b40
version 3.2.5
2016-07-12 06:28:36 +02:00
Marek Marczykowski-Górecki
bed5f5d88c
tests: regression test for #1990
...
QubesOS/qubes-issues#1990
2016-07-12 06:28:01 +02:00
Marek Marczykowski-Górecki
69e792d82c
usb_attach: improve error reporting
...
- specifically report when qubes-usb-proxy package is not installed
- include sanitized stderr output in error message
2016-07-12 06:27:53 +02:00
Marek Marczykowski-Górecki
da74d75e6b
core: collect stderr too when vm.run_service is called with passio_popen
...
Give access to all file descriptors when requested.
2016-07-12 06:24:07 +02:00
Bahtiar `kalkin-` Gadimov
63a1edc274
Fix qvm-remove undefines domain in libvirt
...
- Return error if domain is not halted
- Undefine the domain in libvirt, to avoid: "Domain already exists with uuid…"
2016-07-05 13:39:47 +02:00
Bahtiar `kalkin-` Gadimov
a66df9c82e
Fix bugs in qvm-shutdown --all
...
- Exit the program if all domains are halted
- Changed log.notice to log.info
- Replace map with dictionary comprehensions (pylint)
2016-07-05 13:32:59 +02:00