Commit Graph

2589 Commits

Author SHA1 Message Date
Marek Marczykowski-Górecki
005db6a5ab backups: fix race condition in "tape" change event during backup
Ensure that outer tar/encryptor gets all the data *and EOF* before
signalling inner tar to continue. Previously it could happen that inner
tar begins to write next data chunk, while qvm-backup still holds
previous data chunk open.
2013-11-24 03:28:21 +01:00
Marek Marczykowski-Górecki
3d1b40f25c backups: keep file without path in inner tar archive
It is senseless to have full file path in multiple locations:
 - external archive
 - qubes.xml
 - internal archive
Also it is more logical to have only "private.img" file in archive
placed in "appvms/untrusted/private.img.000". Although this is rather
cosmetic change for VMs data, it is required to backup arbitrary
directory, like dom0 user home.

Also use os.path.* instead of manual string operations (split,
partition). It is more foolproof.
2013-11-24 03:23:27 +01:00
Marek Marczykowski-Górecki
6c61e79ebf backups: don't echo entered passwords 2013-11-24 03:19:11 +01:00
Marek Marczykowski-Górecki
61b3a81e82 backup: remove unused argument from backup_prepare 2013-11-24 03:17:15 +01:00
Marek Marczykowski-Górecki
e7701d9c5d backup: check for disk space if target is local directory 2013-11-24 03:15:44 +01:00
Olivier MEDOC
51f119326b backup: improved error handling during restore 2013-11-23 02:44:05 +01:00
Olivier MEDOC
e875ae9d06 backups: use tar2qfile filtering to enable partial backup restore 2013-11-23 02:44:05 +01:00
Joanna Rutkowska
2891a15302 version 2.1.28 2013-11-22 14:42:45 +01:00
Marek Marczykowski-Górecki
a3d02db170 doc: update qvm-prefs doc 2013-11-21 17:22:01 +01:00
Marek Marczykowski-Górecki
167b412e54 qvm-tools: unify the qvm-prefs labels (#756) 2013-11-21 14:54:50 +01:00
Marek Marczykowski-Górecki
fe834bcb9c qvm-tools: fix set_* return code
Use return True/False to report success/failure instead of exit(1). This
fixes regression introduced by "92b479b qvm-tools: exit with code 1 on
error", which results in some setting not saved.
2013-11-21 14:51:14 +01:00
Marek Marczykowski-Górecki
1b83e5c687 hvm: default to template's MAC in MAC auto mode (#755) 2013-11-21 14:49:42 +01:00
Marek Marczykowski-Górecki
aeb83d1a45 hvm: do not reset root.img to template state when debug mode enabled 2013-11-21 04:36:53 +01:00
Marek Marczykowski-Górecki
a457b62728 core: more flexible mechanism for template compatibility check
Using class method allow the users (Qubes Manager at least) to check
for compatibility without having any particular VM instance - useful
while creating the VM.
2013-11-21 03:42:31 +01:00
Marek Marczykowski-Górecki
efeb284ab1 core: do not call resize2fs on private.img in dom0
Do not parse VM data (filesystem metadata in this case) in dom0, as this
expose dom0 for potential attack.
2013-11-21 03:38:12 +01:00
Joanna Rutkowska
b91aa4133d version 2.1.27 2013-11-20 15:55:36 +01:00
Marek Marczykowski-Górecki
f85c2ffa5a Merge remote-tracking branch 'joanna/master' 2013-11-20 02:58:00 +01:00
Marek Marczykowski-Górecki
6fddae3b9b Support for autostart VMs (#724) 2013-11-20 02:57:17 +01:00
Marek Marczykowski-Górecki
2005207462 Template support for HVM (#719)
Any HVM (which isn't already template-based) can be a template for
another HVM. For now do not allow simultaneous run of template and its
VM (this assumption simplify the implementation, as no root-cow.img is
needed).
2013-11-19 18:42:59 +01:00
Marek Marczykowski-Górecki
92b479bf49 qvm-tools: exit with code 1 on error
Not only print error message.
2013-11-19 18:40:16 +01:00
Marek Marczykowski-Górecki
25fd41aa2f qvm-tools: do not assume that every template VM must have root-cow.img
Especially HVM templates do not have (at least for now).
2013-11-19 18:39:22 +01:00
Marek Marczykowski-Górecki
1756ab33e9 qvm-tools: make qvm-ls code more defensive
Do not assume only predefined VMs types, do not assume only one type of
template etc.
2013-11-19 18:36:12 +01:00
Marek Marczykowski-Górecki
4090fdf758 QubesHVm: restore private.img support 2013-11-19 18:35:10 +01:00
Marek Marczykowski-Górecki
1315bdec87 QubesHVm: fix copy&paste error 2013-11-19 18:33:35 +01:00
Marek Marczykowski-Górecki
f0e24c358e qvm-tools: clarify help message/options error checking (#741) 2013-11-18 01:15:17 +01:00
Joanna Rutkowska
07f011ebec version 2.1.26 2013-11-16 15:26:53 +01:00
Marek Marczykowski-Górecki
dfa9e7c0df Add device-mapper devices to name->(major,minor) mapping
qvm-block will still not list device-mapper devices, but it would be
much easier to modify it.
2013-11-16 01:29:50 +01:00
Marek Marczykowski-Górecki
b3c127091d hvm: check for HVM capability on host when failed to start the VM 2013-11-09 23:48:49 +01:00
Marek Marczykowski-Górecki
8cffdea41f backup: move qubes.{Backup,Restore} services to core-agent-linux repo 2013-11-09 18:57:26 +01:00
Marek Marczykowski-Górecki
3666d6ced9 backup: wait for process termination in restore header phase
One more race condition, which could cause qvm-backup-restore hang.
2013-11-09 18:56:08 +01:00
Marek Marczykowski-Górecki
319158d5b1 backup: restore: Ignore qubes.xml in the second restore pass
Already processed in backup prepare phase). This is only because
qfile-dom0-unpacker doesn't support selective unpack (like tar do).
This should be extended to skip also VMs not selected for restore.
2013-11-09 18:54:52 +01:00
Marek Marczykowski-Górecki
1880f61c2d backup: restore: process files until EOF received
Not only until unpacker process is running. This is another race
condition, which would cause some data left in the pipe buffer not
processed.
2013-11-09 18:53:57 +01:00
Marek Marczykowski-Górecki
3c993c619c backup: restore: handle VM data with qfile format instead of simple tar
This was already partially implemented, but only for backup header
(qubes.xml).
Fix handling of vmproc object (available only when backup in another
VM).
Also fix some race conditions - wait for process termination, not only
check its exit code (which would be None if process still running).
2013-11-09 17:20:18 +01:00
Marek Marczykowski-Górecki
c61a4570e8 backup: use 'dom0' as source domain for RPC calls 2013-11-09 17:12:41 +01:00
Marek Marczykowski-Górecki
661a1ba4af backup: comment update 2013-11-09 17:12:14 +01:00
Marek Marczykowski-Górecki
54f08e00b9 backup: fix race condition with inner tar process
Do not assume that tar will finish quickly - explicitly wait for either
process termination or request for the next archive part.
2013-11-09 17:09:44 +01:00
Marek Marczykowski-Górecki
89b6069bda backup: whitespace fixes 2013-11-09 17:06:29 +01:00
Marek Marczykowski-Górecki
b84ba998a3 backup: fix misused variables - most likely copy&paste error 2013-11-09 16:56:59 +01:00
Marek Marczykowski-Górecki
5cebff34bd backup: include qubes.xml
It was commented out by mistake.
2013-11-09 16:51:25 +01:00
Marek Marczykowski-Górecki
34b03fe2b3 backup: fix setting backup qubes.xml attributes
Cannot compare QubesVm objects, because we have different instances of
QubesVmCollection. So compare QID instead.
2013-11-09 16:46:06 +01:00
Marek Marczykowski-Górecki
a56ceb92c5 backup: update for new API - use system_path hash
Instead of a bunch of global variables
2013-11-09 15:55:17 +01:00
Marek Marczykowski-Górecki
a9a8335403 Merge remote-tracking branch 'oliv/master' into new-backups
Conflicts:
	core/qubesutils.py
	dom0/qvm-core/qubes.py
2013-11-07 22:41:16 +01:00
Joanna Rutkowska
f9b37a2a38 version 2.1.25 2013-11-02 12:55:09 -04:00
Joanna Rutkowska
b33020e385 Merge branch 'master' of git://git.qubes-os.org/marmarek/core-admin 2013-11-02 11:42:41 -04:00
Joanna Rutkowska
124a8f6892 Merge branch 'master' of git://git.qubes-os.org/marmarek/core-admin 2013-11-02 11:35:41 -04:00
Marek Marczykowski-Górecki
8200b15c61 NotifyTools: handle default user setting
If the VM provides 'default-user' setting - save it to the VM settings.
2013-11-01 02:32:32 +01:00
Marek Marczykowski-Górecki
5291227de3 qvm-tools: qvm-start --install-windows-tools (#41 pro) 2013-11-01 02:31:13 +01:00
Marek Marczykowski-Górecki
c52059a23e core: unify handling dom0 case in --cdrom option 2013-11-01 02:25:22 +01:00
Marek Marczykowski-Górecki
55b4c6b6d1 missing import once again 2013-11-01 02:25:04 +01:00
Marek Marczykowski-Górecki
e2c43d2292 Allow HVM to notify dom0 about tools installation
HVM can set some xenstore entries (in qubes-tools/ subtree) to pass
informations about installed tools to dom0. qubes.NotifyTools service
triggers update of VM properties (like qrexec_installed).
This way, after installation of Qubes Windows Tools, the user doesn't need
to change any VM settings to use the tools.
2013-10-28 05:09:54 +01:00