Commit Graph

638 Commits

Author SHA1 Message Date
Olivier MEDOC
c805ff6aeb backup: implement header restoration for the new backup format 2013-09-25 09:51:17 +02:00
Olivier MEDOC
361741b8aa backup: multiple fixes for the backup process, including non-encrypted backups
- Ensure backup without encryption is working
- Implemented progress feedback through a global variable
- Ask user for a passphrase used for encryption or for verification
2013-09-10 09:27:51 +02:00
Olivier MEDOC
23065f6fa0 backup: use a thread to send data to AppVM in parallel to tar main operations.
Additionnally, temporary files are removed once data has been sent
2013-09-10 09:25:44 +02:00
Olivier MEDOC
a85f3a7d8e backup: introduced a second tar pass to send encrypted data to an AppVM
The backup process is now tar_sparse | encrypt | hmac | tar | appvm
2013-09-10 09:24:25 +02:00
Olivier MEDOC
4ae4bdc452 backup: implemented backup mecanism using tar_sparse+encryption+hmac generation 2013-09-10 09:22:35 +02:00
Olivier MEDOC
5edca4ac90 backup: code cleanup 2013-09-10 09:20:49 +02:00
Olivier MEDOC
836c604473 backup: reimplemented restore function through an AppVM
The VM size is now stored inside the backup specification file in order to compute progress.
2013-08-19 16:48:29 +02:00
Olivier MEDOC
9784ca87f6 backup: implemented mecanism to read only the backup headers 2013-08-16 09:12:06 +02:00
Olivier MEDOC
5fa8d732ae backup: major revamp of the backup code to include backup to dom0, backup to vm, better cleanup code 2013-08-14 10:26:58 +02:00
Olivier MEDOC
fbb26d89b4 backup: implemented progress feedback using tar checkpoint and a temporary file for tar output 2013-08-14 10:23:04 +02:00
Olivier MEDOC
aea789d0a1 backup: implemented use of a single tar file instead of creation of multiple file during backup 2013-08-14 10:21:41 +02:00
Olivier MEDOC
6c09189b77 backup: improved performance by optimizing tar and gpg options 2013-08-14 10:19:15 +02:00
Olivier MEDOC
fb8748f3e9 backup: implemented use of tar+gpg2 instead of only encrypting files 2013-08-14 10:18:05 +02:00
Andrew Sorensen
ead479804e dom0: wait for folder to be created before adding file 2013-07-07 00:00:07 -07:00
Andrew Sorensen
4ed00f123d dom0: allow user to decide if encryption should be used, close qvm database 2013-06-22 21:19:59 -07:00
Andrew Sorensen
c2f157c2d2 dom0: close Popen when the transfer is complete 2013-06-22 20:30:32 -07:00
Andrew Sorensen
93162df677 dom0: use vm.run() instead of subprocess.Popen() directly 2013-06-22 19:59:16 -07:00
Andrew Sorensen
246e8c383d dom0: fix directory creation 2013-06-22 18:22:11 -07:00
Andrew Sorensen
7cacc3db48 dom0: edit qvm-backup to use backup_do_copy, throw error when appvm is not found 2013-06-22 18:02:40 -07:00
Andrew Sorensen
65822f6033 dom0: switch backup compression to .tar.gz, properly handle folders. 2013-03-27 11:04:39 -07:00
Andrew Sorensen
bf2dd7f0c7 dom0: allow backup to AppVM instead of just local block device 2013-03-26 18:36:29 -07:00
Marek Marczykowski
c20245c4f8 dom0/core: fix qrexec startup for HVM
Pass only 'notify_function' parameter - wait_for_session doesn't take any other
(especially not 'verbose').
2013-02-27 11:11:31 +01:00
Marek Marczykowski
f8fa85b341 dom0/core: clone/backup-restore HVM-specific properties 2013-02-27 11:07:33 +01:00
Marek Marczykowski
52dbedaac2 dom0/backup-restore: chown dom0 home after restore
It can happen that backup was done as different user (in terms of UID) than on
restore system. Correct this by chown.

Especially this is the case when backup was done on Qubes R1 and restore on
Qubes R2.
2013-02-27 05:34:53 +01:00
Marek Marczykowski
d89bdac58c dom0: create volatile.img if not exists (StandaloneVM case)
StandaloneVM have no template to get clean volatile.img. Normally it is copied
from template during VM creation, but it can happen that image would not extx
(e.g. after backup restore). So create it from scratch.

Stay with original approach (restoring from clean image of template) for other
cases as it is much simpler (and perhaps faster).
2013-02-27 05:29:27 +01:00
Marek Marczykowski
1b05978ec6 dom0: pass nogui option down to QubesVM.start()
From qubes-dom0-update, then from QubesVM.run().
2013-02-26 05:35:50 +01:00
Marek Marczykowski
d7d822f450 dom0: chage default template label to black 2013-02-20 22:59:50 +01:00
Marek Marczykowski
aa97910d49 dom0/core: do start already started but paused VM 2013-02-19 03:33:53 +01:00
Marek Marczykowski
7051960d6a dom0/core: pass icon path to qubes_guid
GUI daemon now is able to load the icon (when path given) and publish it to X
server. This makes possible to have VM name in WM_CLASS property (instead of
icon name) to fix window grouping in KDE.
2013-02-19 01:07:24 +01:00
Marek Marczykowski
740ffd2ee7 dom0/core: fix QubesDaemonPidfile to match ContextManager signature 2013-02-14 19:05:08 +01:00
Marek Marczykowski
134dfa6d46 dom0/core: fix VM clone - prevent setter of label
This would create symlink for icon, but VM directory doesn't exists yet. Anyway
icon symlink will be created by create_on_disk().
2013-02-12 01:39:43 +01:00
Marek Marczykowski
e14ce10da6 dom0/core: treat 'halting' VM still as running
This is especially important for qvm-shutdown --wait - to wait for VM
really shut down.
2013-02-12 01:38:30 +01:00
Marek Marczykowski
c94058cac4 dom0/qvm-tools: check if VM is running before shutdown/kill 2013-02-07 11:38:06 +01:00
Marek Marczykowski
fdd4078624 dom0/core: minor comment adjustment 2013-02-07 11:31:28 +01:00
Marek Marczykowski
c631b0b632 dom0/core: fix race in QubesVm.is_outdated() 2013-02-07 11:31:06 +01:00
Marek Marczykowski
56d0af3059 dom0/core: fix handling ProxyVM netvm set to None 2013-01-27 00:01:23 +01:00
Marek Marczykowski
5de6f5ad10 dom0/core: get timezone from /etc/localtime symlink
Fedora 18 doesn't have /etc/sysconfig/clock. Instead have /etc/localtime
symlinked to real timezone (instead of hardlinked like before), so now it is
easy to get destination TZ name.
2013-01-25 03:10:12 +01:00
Marek Marczykowski
24b4e5efd0 dom0: use any python2, not explicit python2.6
Especially allow python 2.7 (fc18).
2013-01-23 06:28:07 +01:00
Marek Marczykowski
7363f477dc dom0/core: when starting NetVM from other VM.start() pass the start() parameters 2013-01-23 06:27:03 +01:00
Marek Marczykowski
f3aab44798 dom0/core: fix qubes.xml load code (clockvm setting) 2013-01-23 02:04:34 +01:00
Marek Marczykowski
82f3092803 dom0/qvm-backup-restore: adjust for new QubesVmCollection API 2013-01-22 00:34:13 +01:00
Marek Marczykowski
3da1795e72 dom0/core: preserve VM label at VM clone 2013-01-22 00:31:18 +01:00
Marek Marczykowski
8600ea07b8 dom0/core: shutdown right VM (based on XID) in case of failed qrexec startup
The user can restart the VM in the meantime (especially when first startup
failed). Basing here on name will kill the new one VM instead of dead one.
2013-01-19 18:05:57 +01:00
Marek Marczykowski
52e16037f2 dom0/core: new QubesVmCollection.add_new_vm function
Generic function to add new VM of any type. Old add_*vm marked as depreciated.
2013-01-17 01:29:32 +01:00
Marek Marczykowski
84e85c6a9a dom0/core: major rework of QubesVmCollection class
No longer individual QubesVm attributes hardcoded in QubesVmCollection
(qubes.xml load). Now it is integrated to QubesVm attributes machinery. Also
QubesVmCollection have no longer hardcoded supported VM types - this will
greatly improve code extension possibilities.

This commit doesn't cover QubesVmCollection.add_*vm methods (which are broken
for now because of missing "collection" argument to QubesVm constructor). This
will be done in next commit.
2013-01-17 01:18:42 +01:00
Marek Marczykowski
bc39e05a6a dom0/core: enforce QubesHVm defaults in more elegant way 2013-01-17 01:16:51 +01:00
Marek Marczykowski
a2d387bebc dom0/core: pass all args of QubesDom0NetVm constructor to base class 2013-01-17 01:01:18 +01:00
Marek Marczykowski
623e4ab8cc dom0/core: remove unused function 2013-01-17 00:21:19 +01:00
Marek Marczykowski
73a540e5e5 dom0/core: save real netvm of DispVM
Netvm of DispVM is based on DispVM-template settings. So save the real one
instead of assuming default netvm.
2013-01-17 00:21:03 +01:00
Marek Marczykowski
367db74378 dom0/core: fix HVM settings on upgrade 2013-01-11 16:21:25 +01:00