core-admin-client/qubesadmin/tools
Marek Marczykowski-Górecki bcd026d141
Implement VM clone as create + copy data+metadata
This way we don't need separate admin.vm.Clone call, which is tricky to
handler properly with policy.
A VM may not have access to all the properties and other metadata, so
add ignore_errors argument, for best-effort approach (copy what is
possible). In any case, failure of cloning VM data fails the whole
operation.
When operation fails, VM is removed.

While at it, allow to specify alternative VM class - this allows
morphing one VM into another (for example AppVM -> StandaloneVM).

Adjust qvm-clone tool and tests accordingly.

QubesOS/qubes-issues#2622
2017-06-20 01:34:18 +02:00
..
__init__.py toos: fix handling default command (qvm-device, qvm-volume, ...) 2017-05-30 01:41:51 +02:00
dochelpers.py Rename qubesmgmt to qubesadmin module 2017-05-11 23:40:03 +02:00
qubes_prefs.py Rename qubesmgmt to qubesadmin module 2017-05-11 23:40:03 +02:00
qvm_check.py Rename qubesmgmt to qubesadmin module 2017-05-11 23:40:03 +02:00
qvm_clone.py Implement VM clone as create + copy data+metadata 2017-06-20 01:34:18 +02:00
qvm_create.py Rename qubesmgmt to qubesadmin module 2017-05-11 23:40:03 +02:00
qvm_device.py toos: fix handling default command (qvm-device, qvm-volume, ...) 2017-05-30 01:41:51 +02:00
qvm_features.py Rename qubesmgmt to qubesadmin module 2017-05-11 23:40:03 +02:00
qvm_firewall.py Rename qubesmgmt to qubesadmin module 2017-05-11 23:40:03 +02:00
qvm_kill.py Rename qubesmgmt to qubesadmin module 2017-05-11 23:40:03 +02:00
qvm_ls.py qvm-ls: hide flags (aka status), get more descriptive 2017-06-08 15:03:00 +02:00
qvm_pause.py Rename qubesmgmt to qubesadmin module 2017-05-11 23:40:03 +02:00
qvm_pool.py Rename qubesmgmt to qubesadmin module 2017-05-11 23:40:03 +02:00
qvm_prefs.py Rename qubesmgmt to qubesadmin module 2017-05-11 23:40:03 +02:00
qvm_remove.py Rename qubesmgmt to qubesadmin module 2017-05-11 23:40:03 +02:00
qvm_run.py qvm-run: fix race condition in SIGCHLD handling 2017-05-22 10:54:51 +02:00
qvm_shutdown.py Rename qubesmgmt to qubesadmin module 2017-05-11 23:40:03 +02:00
qvm_start_gui.py Make pylint happy 2017-05-17 13:20:59 +02:00
qvm_start.py Rename qubesmgmt to qubesadmin module 2017-05-11 23:40:03 +02:00
qvm_tags.py tools: add qvm-tags tool 2017-06-20 01:34:17 +02:00
qvm_template_postprocess.py tools: ignore qvm-template-postprocess calls in chroot 2017-05-29 15:20:13 +02:00
qvm_unpause.py Rename qubesmgmt to qubesadmin module 2017-05-11 23:40:03 +02:00
qvm_volume.py toos: fix handling default command (qvm-device, qvm-volume, ...) 2017-05-30 01:41:51 +02:00