Go to file
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
ci Make pylint happy 2017-05-17 13:20:59 +02:00
debian debian,fedora: add missing python-docutils dependency 2017-05-23 04:31:20 +02:00
doc Implement VM clone as create + copy data+metadata 2017-06-20 01:34:18 +02:00
etc Fix qvm-start-gui autostart script 2017-05-19 17:30:11 +02:00
qubesadmin Implement VM clone as create + copy data+metadata 2017-06-20 01:34:18 +02:00
rpm_spec debian,fedora: add missing python-docutils dependency 2017-05-23 04:31:20 +02:00
test-packages Rename qubesmgmt to qubesadmin module 2017-05-11 23:40:03 +02:00
.gitignore travis: integrate test coverage reports via codecov 2017-03-02 02:05:36 +01:00
.travis.yml debian: initial packaging 2017-05-20 03:15:23 +02:00
LICENSE Initial commit 2017-03-01 23:48:53 +01:00
Makefile Add qvm-start-gui autostart script 2017-04-29 01:18:34 +02:00
Makefile.builder debian: initial packaging 2017-05-20 03:15:23 +02:00
README.md Update documentation link in readme 2017-05-12 00:13:01 +02:00
run-tests Rename qubesmgmt to qubesadmin module 2017-05-11 23:40:03 +02:00
setup.py Install actual scripts stubs 2017-05-12 00:16:26 +02:00
version Add setup.py and related files 2017-03-01 23:49:18 +01:00

This is client side implementation of Qubes Admin API. See https://www.qubes-os.org/doc/admin-api/ for protocol specification.

Compatibility

Most of the API modules are compatible with Python >= 2.7. Very few parts require Python >= 3.4:

  • tools (qvm-*)
  • qubesadmin.events module (for asyncio module)

Parts not compatible with Python < 3.4, are not installed in such environment.