Marek Marczykowski-Górecki
b119b2c36b
storage/file: simplify search for origin volume of snapshot/read-only
...
Check directly vm.template, throwing AttributeError when not found.
There may be some value in converting it to more descriptive error, but
since that's mostly for internal users (not user facing actions) don't
bother for now.
QubesOS/qubes-issues#1842
2016-06-02 12:38:07 +02:00
Marek Marczykowski-Górecki
07b72ef3fd
tests: fix after moving VMCollection to qubes.app
2016-06-02 12:37:30 +02:00
Marek Marczykowski-Górecki
c965024287
qubes/vm: Implement Disposable VM
...
Implement DispVM as a VM based on AppVM.
QubesOS/qubes-issues#866
2016-06-02 12:37:19 +02:00
Marek Marczykowski-Górecki
54c70766a4
qubes/storage: allow snapshots of snapshots
...
It may make sense to create 'snapshot' volume out of already 'snapshot',
not only 'origin'. In pracice it will exactly the same as 'snapshot
connected directly to 'origin'.
QubesOS/qubes-issues#866
2016-06-02 12:37:00 +02:00
Marek Marczykowski-Górecki
48176d51f1
qubes/storage: minor error message fix
2016-06-02 12:29:39 +02:00
Marek Marczykowski-Górecki
d80f34888d
qubes/storage: fix getting origin pool
...
volume_config parameter is about target volume, not origin.
QubesOS/qubes-issues#1842
2016-06-02 12:29:30 +02:00
Marek Marczykowski-Górecki
b24ab45d00
qubes/vm: fix network attach/detach
2016-06-02 12:28:53 +02:00
Marek Marczykowski-Górecki
3b407eb79e
qubes/app: do not enable domain events when loading XML
...
Event should be enabled only after all the domains are loaded (and
domain-load event if fired).
QubesOS/qubes-issues#1816
2016-06-02 12:28:14 +02:00
Bahtiar `kalkin-` Gadimov
90928dc4a0
qubes-pool skip DomainPools without volumes
2016-05-30 13:31:58 +02:00
Bahtiar `kalkin-` Gadimov
c8363cfc95
qvm-pool simplify options parsing
2016-05-30 13:31:57 +02:00
Bahtiar `kalkin-` Gadimov
27305dd85d
qvm-pool actions remove access to app
2016-05-30 13:31:56 +02:00
Bahtiar `kalkin-` Gadimov
ed1a6977c0
Qubes.add_pool() add name parameter
2016-05-30 13:31:55 +02:00
Bahtiar `kalkin-` Gadimov
d703f2f44b
Add qvm-pool and manpage for it
...
- Use full import paths in qvm-pool
- Add, Remove, Info and List options set `Namespace.command`. This fixes a crash
when `-o dir_path=/mnt/foo` is specified after `-a foo xen`.
- Remove `_List`
- Remove 'added pool' and 'removed pool' messages. Unix tools are quiet
- qvm-pool call app.save()
- Rename create_parser in get_parser
- Rename local_parser variables to just parser
- qvm-pool uses print_table
2016-05-30 13:31:54 +02:00
Bahtiar `kalkin-` Gadimov
9ef9575d4e
Fix typo in "No driver FOO for pool BAR" message
2016-05-30 13:31:54 +02:00
Bahtiar `kalkin-` Gadimov
357e8125eb
Add qubes.tools.PoolsAction
2016-05-30 13:31:53 +02:00
Bahtiar `kalkin-` Gadimov
0319df25e5
Add print_table function to qubes.tools
...
- print_table uses the `column` tool with the ASCII Unit Separator to print a
pretty table
2016-05-30 13:31:51 +02:00
Wojtek Porczyk
0484be518c
Merge remote-tracking branch 'woju/pull/12/head' into core3-devel
...
Conflicts:
doc/manpages/qvm-kill.rst
2016-05-25 11:01:19 +02:00
Bahtiar `kalkin-` Gadimov
df83188fb5
Update qvm-remove manpage
2016-05-21 01:35:33 +02:00
Bahtiar `kalkin-` Gadimov
116ba64e51
Storage.remove() catch IO/OSError and log it
2016-05-21 01:35:32 +02:00
Bahtiar `kalkin-` Gadimov
c5810758c5
FilePool fix origin volume removale
2016-05-21 01:35:31 +02:00
Bahtiar `kalkin-` Gadimov
8959e5a77e
Implement qvm-remove
...
- Remove old qvm-remove
- Remove a log line from Storage, because it prints confusing lines, like:
Removing volume kernel: /var/lib/qubes/vm-kernels/4.1.13-6/modules.img
2016-05-21 01:35:30 +02:00
Bahtiar `kalkin-` Gadimov
3009bd862e
Fix manpage generation
2016-05-21 01:25:15 +02:00
Bahtiar `kalkin-` Gadimov
91f72dc56c
Rework argument checking when generating manpages
...
Add the ability to handle commands having subcommands, like `qvm-block`
Split the ArgumentCheckVisitor in an OptionsCheckVisitor &
SubCommandCheckVisitor. The OptionsCheckVisitor checks options given
in a section named 'Options' (case insensitive), while the
SubCommandCheckVisitor dispatches on a section named 'Commands' (case
insensitive).
This also fixes finding the undocumented command arguments. The previous
solution with depart_document did not work. NodeVisitor does not dispatch to
depart_document() even if it's mentioned in the documentation.
2016-05-21 01:25:14 +02:00
Bahtiar `kalkin-` Gadimov
e580131465
Add AliasedSubParsersAction
2016-05-21 01:25:13 +02:00
Bahtiar `kalkin-` Gadimov
99598fe4b2
Update qvm-kill manpage
2016-05-21 01:24:18 +02:00
Bahtiar `kalkin-` Gadimov
910276e898
Rename want_vm_* in vmname_nargs
2016-05-21 01:24:17 +02:00
Bahtiar `kalkin-` Gadimov
d4c74d210f
Implement vmname parsing
2016-05-21 01:24:16 +02:00
Bahtiar `kalkin-` Gadimov
3549a9d4ec
Add VmNameGroup
2016-05-21 01:24:14 +02:00
Bahtiar `kalkin-` Gadimov
7fe827d858
Add VmNameAction
2016-05-21 01:24:13 +02:00
Bahtiar `kalkin-` Gadimov
c22d9e88c9
Add QubesAction
2016-05-21 01:24:12 +02:00
Wojtek Porczyk
e757444c35
qubes/tools/qvm-features: add tool for managing qvm-features
...
QubesOS/qubes-issues#1637
2016-05-19 03:02:24 +02:00
Bahtiar `kalkin-` Gadimov
a65b0edcd4
Add QubesArgumentParser.print_error()
2016-05-19 03:02:24 +02:00
Wojtek Porczyk
454e1835fe
pylintrc: add (commented) ruleset for debugging imports
2016-05-19 03:02:24 +02:00
Wojtek Porczyk
786884ad7a
qubes: fix netvm properties and tests
...
fixes QubesOS/qubes-issues#1816
2016-05-19 03:02:23 +02:00
Wojtek Porczyk
d728f4b9ff
qubes/app: reconnect to libvirtd after crash
...
Sometimes libvirt crashes. After that the connection (and all
vm.libvirt_domain-s) were unusable.
fixes QubesOS/qubes-issues#990
2016-05-05 17:33:00 +02:00
Wojtek Porczyk
e3aae7bc17
qubes: Minor fixes
...
Fix mock TestApp object and argument parsing in qvm-run.
2016-05-05 16:58:43 +02:00
Wojtek Porczyk
c76790fbde
qubes/tests/vm/qubesvm: fix test for vm.internal
...
On flipping .internal vm (re)creates appmenus. They need label.
2016-05-05 14:38:04 +02:00
Wojtek Porczyk
63c09a090c
qubes: Combat import cycles
...
This commit eliminates import statements happening in the middle of the
file (between two classes definition). The cycles are still there. The
only magic module is qubes itself.
2016-05-05 14:33:09 +02:00
Wojtek Porczyk
f8270a07bb
qubes: add filename= argument to Qubes.save()
...
fixes QubesOS/qubes-issues#1846
2016-05-05 00:40:45 +02:00
Bahtiar `kalkin-` Gadimov
1d5b89f0d5
LinuxKernel keep track of own volumes
...
This is squashed woju/qubes-core-admin#8 by @kalkin
- LinuxKernel.volumes() lists all available kernels
- LinuxKernel use kernel version as vid
- LinuxKernel add docstrings
- Linux.kernel use os.listdir instead of os.walk
- LinuxKernel dynamically list available kernels
2016-05-04 17:21:05 +02:00
Bahtiar `kalkin-` Gadimov
7200e6153b
Rename default storage driver from xen to file
...
- Rename XenPool ⇒ FilePool
- Rename XenVolume ⇒ FileVolume
2016-04-30 20:42:46 +02:00
Bahtiar `kalkin-` Gadimov
b2c1017488
Fix missing parameter in Pool.__init__()
2016-04-30 20:42:00 +02:00
Wojtek Porczyk
044aefe25a
contrib: import-graph creates smaller, more readable graph
2016-04-27 17:51:18 +02:00
Wojtek Porczyk
26fabe53aa
Add readthedocs and badge to README.md
2016-04-27 15:41:56 +02:00
Wojtek Porczyk
7f2f4a4e75
Fix GUI extension
2016-04-27 15:27:01 +02:00
Wojtek Porczyk
487411be4c
Merge remote-tracking branch 'woju/pull/5/head' into core3-devel
...
Makefile | 1 -
doc/manpages/qvm-create.rst | 5 +
etc/storage.conf | 13 -
qubes/__init__.py | 82 +++++-
qubes/config.py | 14 +-
qubes/devices.py | 15 ++
qubes/storage/__init__.py | 591 +++++++++++++---------------------------
qubes/storage/kernels.py | 109 ++++++++
qubes/storage/xen.py | 643 +++++++++++++++++++++++++++++---------------
qubes/tests/__init__.py | 13 +-
qubes/tests/int/basic.py | 5 +-
qubes/tests/storage.py | 70 ++---
qubes/tests/storage_xen.py | 366 +++++++++++++++----------
qubes/tools/qvm_create.py | 18 +-
qubes/vm/appvm.py | 38 ++-
qubes/vm/qubesvm.py | 192 ++++++-------
qubes/vm/templatevm.py | 45 +++-
rpm_spec/core-dom0.spec | 2 +-
setup.py | 1 +
templates/libvirt/xen.xml | 32 ++-
20 files changed, 1313 insertions(+), 942 deletions(-)
2016-04-26 11:09:18 +02:00
Bahtiar `kalkin-` Gadimov
04a3e80311
SizeMixIn first assert than call super()
2016-04-25 07:17:21 +02:00
Bahtiar `kalkin-` Gadimov
29f4be0f10
If vm doesnt support volume_config raise TypeError
2016-04-25 07:17:21 +02:00
Bahtiar `kalkin-` Gadimov
37ca33b0d1
Add docstring to xen volumes implementations
2016-04-25 07:17:21 +02:00
Bahtiar `kalkin-` Gadimov
8f060a8746
Fix Pool and Volume __init__
2016-04-25 07:17:20 +02:00