Marek Marczykowski-Górecki
abdad8c2b2
backup: allow backup running VMs
...
Since we have LVM by default, it is possible to backup VMs while they
are running. For now it will include its state from before startup, but
later we may implement some other logic (a snapshot of running VM).
2017-07-21 03:12:23 +02:00
Marek Marczykowski-Górecki
1ec0060577
backup: check inner archiver exit code
...
If inner tar returns with non-zero code, mostly like the backup is
incomplete, so it is very important to report it.
2017-07-21 03:11:02 +02:00
Marek Marczykowski-Górecki
82918ee704
api/admin: gracefuly report cancelled backup operation
...
QubesOS/qubes-issues#2931
2017-07-21 03:10:26 +02:00
Marek Marczykowski-Górecki
088c838ac3
storage: typo fix in comment
2017-07-20 12:19:02 +02:00
Marek Marczykowski-Górecki
dbea03ad1f
tests: admin.backup.*
...
Those tests are only about Admin API integration, not about actual backup
backend code
QubesOS/qubes-issues#2931
2017-07-20 12:19:01 +02:00
Marek Marczykowski-Górecki
74375146e8
tools/qubesd: increase loglevel with --debug option
2017-07-20 12:19:01 +02:00
Marek Marczykowski-Górecki
6dbce8259f
api/admin: plug backup into Admin API
...
Fixes QubesOS/qubes-issues#2931
2017-07-20 12:19:01 +02:00
Marek Marczykowski-Górecki
81246cac64
backup: fix get_backup_summary
...
QubesOS/qubes-issues#2931
2017-07-20 12:09:17 +02:00
Marek Marczykowski-Górecki
579d90e174
backup: use proper API for getting volumes list and size
...
Do not assume static list of volume (although it is true for now), and
also use proper API for getting volume size, instead of assuming it's a
normal file.
2017-07-20 12:09:17 +02:00
Marek Marczykowski-Górecki
9dd0cfe6c5
backup: drop BackupHeader loading code
...
It is useless here since backup restore is moved to
qubes-core-admin-client.
2017-07-20 12:09:16 +02:00
Marek Marczykowski-Górecki
d4e9120903
backup: convert from multiprocessing to asyncio
...
QubesOS/qubes-issues#2931
2017-07-20 02:48:44 +02:00
Marek Marczykowski-Górecki
c17e63588e
version 4.0.2
2017-07-18 05:32:56 +02:00
Marek Marczykowski-Górecki
c035f8fc35
systemd: order VMs autostart after qubesd
...
Fixes QubesOS/qubes-issues#2919
2017-07-18 04:04:26 +02:00
Marek Marczykowski-Górecki
801d6acf5c
Rename 'net/*' features to 'net.*'
...
Same reasoning as with 'service/*' - '/' is not allowed in qrexec (so
Admin API) call argument.
Related to QubesOS/qubes-issues#2906
2017-07-18 03:50:02 +02:00
Marek Marczykowski-Górecki
9e4f2d0907
Merge remote-tracking branch 'qubesos/pr/131'
...
* qubesos/pr/131:
When running tests clean up and remove qubesd.socket
Do not display gi Gtk warning when running tests
2017-07-18 02:19:34 +02:00
Marek Marczykowski-Górecki
c6e09b5a99
storage: fix resize and revert handling
...
- fix coroutine calling from Admin API
- fix off-by-one error in resize
- adjust tests
2017-07-18 01:42:37 +02:00
Marek Marczykowski-Górecki
7f85d81197
Remove qvm-backup tool
...
The tool itself should live in qubes-core-admin-client and communicate
with actual backup code over Admin API.
2017-07-18 01:42:37 +02:00
Marek Marczykowski-Górecki
2ace5901df
backup: make pylint happy, remove dead settings
...
After removing backup-restore code the remaining part of backup.py is
not that bad - lets fix it and no longer exclude it from pylint.
2017-07-18 01:42:36 +02:00
Marek Marczykowski-Górecki
61519014cb
Remove qvm-backup-restore and its backend code
...
This functionality is moved to qubes-core-admin-client, which does it
over Admin API
QubesOS/qubes-issues#1214
2017-07-18 01:30:39 +02:00
Marek Marczykowski-Górecki
4037bf9abc
vm/qubesvm: do not assign all host vCPUs to a qube
...
Fixes QubesOS/qubes-issues#2900
2017-07-17 12:33:52 +02:00
Marek Marczykowski-Górecki
11fac7be56
vm/qubesvm: minor fix
2017-07-17 12:29:25 +02:00
Marek Marczykowski-Górecki
8dfe2b873d
Fix libvirt xml template
...
Issue found by the test created in previous commit.
2017-07-17 12:28:56 +02:00
Marek Marczykowski-Górecki
ef756eb05d
tests: libvirt xml rendering unit test
2017-07-17 12:28:24 +02:00
Marek Marczykowski-Górecki
9ba84ecdad
Add code and test for migrating vm.hvm into vm.virt_mode
...
This will allow to load old qubes.xml - otherwise previous change render
the system unusable (until manual qubes.xml edit).
QubesOS/qubes-issues#2912
2017-07-17 12:27:17 +02:00
Marek Marczykowski-Górecki
21940bef90
Change vm.hvm into vm.virt_mode
...
Fixes QubesOS/qubes-issues#2912
2017-07-17 12:26:10 +02:00
Marek Marczykowski-Górecki
8cb831da29
ext/admin: allow setting 'created-by-*' tags from dom0
...
Add an exception for this limit - if for nothing else, to allow full
backup restore (non-paranoid mode).
2017-07-17 02:42:36 +02:00
Marek Marczykowski-Górecki
cbc7241a93
api/admin: rename mgmt-permission:* event to admin-permission:*
...
Be more consistent with Admin API name and method names.
2017-07-17 02:41:42 +02:00
Bahtiar `kalkin-` Gadimov
3be7b23f46
When running tests clean up and remove qubesd.socket
...
Changed the inheritance hierarchy:
1. Renamed `SystemTestsMixin` to `SystemTestCase`
2. `SystemTestCase` is a child of `QubesTestCase`
3. All classes extending the prior `SystemTestsMixin` now just extend `object`
2017-07-14 14:54:04 +02:00
Bahtiar `kalkin-` Gadimov
a936b07d7b
Do not display gi Gtk warning when running tests
...
- Fix Gtk import
2017-07-14 14:15:46 +02:00
Marek Marczykowski-Górecki
3c99aab75a
Merge branch 'drop-netvm-startup'
...
* drop-netvm-startup:
Remove qubes-netvm.service
2017-07-14 01:13:42 +02:00
Marek Marczykowski-Górecki
ab7ed776f9
Merge branch 'dispvm-fix'
...
* dispvm-fix:
storage: add comment about source volume lookup
vm/dispvm: convert DispVM related function to coroutines
vm/dispvm: fix DispVM storage definition
2017-07-14 01:13:20 +02:00
Marek Marczykowski-Górecki
a42e500108
Merge branch 'tests-fixes-1'
...
* tests-fixes-1:
api: extract function to make pylint happy
tests/vm: simplify AppVM storage test
storage: do not use deepcopy on volume configs
api: cleanup already started servers when some later failed
tests: fix block devices tests when running on real system
tests: fix some FD leaks
2017-07-14 01:05:21 +02:00
Marek Marczykowski-Górecki
63bac15b25
Merge remote-tracking branch 'qubesos/pr/130'
...
* qubesos/pr/130:
qubes: have "service" features' keys separated by period
2017-07-14 01:04:42 +02:00
Marek Marczykowski-Górecki
1e45d297b3
storage: add comment about source volume lookup
2017-07-12 21:37:12 +02:00
Marek Marczykowski-Górecki
66b88cc943
api: extract function to make pylint happy
2017-07-12 21:33:14 +02:00
Marek Marczykowski-Górecki
2df81adab1
tests/vm: simplify AppVM storage test
...
Use minimal TestPool(), instead of Mock().
This allow effectively compare Volume instances (init_volume with the
same parameters return equal Volume instance).
2017-07-12 21:33:14 +02:00
Marek Marczykowski-Górecki
f2f89c7b0c
storage: do not use deepcopy on volume configs
...
There may be Pool or Volume object references, which is intentional to
keep them as is - not copy whole Pool/Volume objects.
2017-07-12 21:33:14 +02:00
Marek Marczykowski-Górecki
e6d5337fa7
api: cleanup already started servers when some later failed
2017-07-12 21:33:14 +02:00
Marek Marczykowski-Górecki
d7b968d867
tests: fix block devices tests when running on real system
2017-07-12 21:33:14 +02:00
Marek Marczykowski-Górecki
7aa8d74ad4
tests: fix some FD leaks
...
There are still much more of them...
2017-07-12 21:33:14 +02:00
Marek Marczykowski-Górecki
58f4369a7e
make pylint happy
2017-07-12 21:14:23 +02:00
Marek Marczykowski-Górecki
dce0b28cf4
clock sync: drop untrusted_ prefix after validation, fix error msg
2017-07-12 20:57:52 +02:00
Marta Marczykowska-Górecka
ab88cd9644
minor amends to clock synchronization
...
renamed date_out variable to untrusted_date_out
2017-07-11 21:39:01 +02:00
Marek Marczykowski-Górecki
c32f0db582
vm/dispvm: convert DispVM related function to coroutines
...
Some functions used there (create_on_disk, remove_from_disk, kill) are
coroutines, so callers needs to be too.
Fixes QubesOS/qubes-issues#2896
2017-07-08 03:04:55 +02:00
Marek Marczykowski-Górecki
148d1cda78
vm/dispvm: fix DispVM storage definition
...
Specify empty 'source' field, so it gets filled with appropriate
template's images. Then also fix recursive 'source' handling - DispVM
root volume should point at TemplateVM's root volume as a source, not a
AppVM's one - which is also only a snapshot.
Fixes QubesOS/qubes-issues#2896
2017-07-08 02:58:21 +02:00
Marek Marczykowski-Górecki
a9ece6f706
Remove qubes-netvm.service
...
Since qubesd properly handle chained startup of sys-net->sys-firewall
etc, we don't need a separate service to start netvm explicitly earlier.
Fixes QubesOS/qubes-issues#2533
2017-07-07 20:35:13 +02:00
Marta Marczykowska-Górecka
6da06d424e
clock synchronization rewrite
...
clock synchronization mechanism rewritten to use systemd-timesync instead of NtpDate; at the moment, requires:
- modifying /etc/qubes-rpc/policy/qubes.GetDate to redirect GetDate to designated clockvm
- enabling clocksync service in clockvm ( qvm-features clockvm-name service/clocksync true )
Works as specified in issue listed below, except for:
- each VM synces with clockvm after boot and every 6h
- clockvm synces time with the Internet using systemd-timesync
- dom0 synces itself with clockvm every 1h (using cron)
fixes QubesOS/qubes-issues#1230
2017-07-06 23:37:26 +02:00
Wojtek Porczyk
b04f612374
qubes: have "service" features' keys separated by period
2017-07-05 04:16:16 +02:00
Marek Marczykowski-Górecki
d9db4f747c
version 4.0.1
2017-07-04 23:15:10 +02:00
Marek Marczykowski-Górecki
dddd94b339
Merge branch 'core3-storage3'
2017-07-04 16:44:53 +02:00