Commit Graph

3525 Commits

Author SHA1 Message Date
ttasket
9dc488818d Add VM state options
New options: --running, --paused and --template
2016-06-24 06:09:06 -04:00
Marek Marczykowski-Górecki
5921dd2a1c
core: validate dom0 drive path before starting VM
This is very easy if the file/device is in dom0, so do it to avoid
cryptic startup error (`libvirtError: internal error: libxenlight failed
to create domain`).

Fixes QubesOS/qubes-issues#1619
2016-06-21 18:39:13 +02:00
Marek Marczykowski-Górecki
86b7849fd4
tests: update PVGrub2 test for fedora-23 template
dnf doesn't want to replace packages without --allowerasing (it is
needed to have correct kernel-devel package version). Additionally
really make sure the right version is installed and force u2mfn module
compilation.
2016-06-20 12:35:22 +02:00
Marek Marczykowski-Górecki
7f86782e14
version 3.2.3 2016-06-07 06:46:30 +02:00
Marek Marczykowski-Górecki
d0ba43f253
core: start guid as normal user even when VM started by root
Another attempt to avoid permissions-related problems...

QubesOS/qubes-issues#1768
2016-06-06 02:21:08 +02:00
Marek Marczykowski-Górecki
89d002a031
core: use runuser instead of sudo for switching root->user
There are problems with using sudo in early system startup
(systemd-logind not running yet, pam_systemd timeouts). Since we don't
need full session here, runuser is good enough (even better: faster).
2016-06-06 02:19:51 +02:00
Marek Marczykowski-Górecki
2265fd3d52
core: start qubesdb as normal user, even when VM is started by root
On VM start, old qubesdb-daemon is terminated (if still running). In
practice it happen only at VM startart (shutdown and quickly start
again). But in that case, if the VM was started by root, such operation
would fail.
So when VM is started by root, make sure that qubesdb-daemon will be
running as normal user (the first user in group 'qubes' - there should
be only one).

Fixes QubesOS/qubes-issues#1745
2016-06-06 02:19:28 +02:00
Marek Marczykowski-Górecki
a857ac3afb
Install dom0 qvm-* tools man pages by default 2016-06-04 16:57:13 +02:00
Marek Marczykowski-Górecki
88cb62fcf6
core: add pci_e820_host property
Enable e820_host option for VMs with PCI devices (to allow VM kernel to
deal with address space conflicts). But add a property to allow
disabling it.

Fixes QubesOS/qubes-issues#2019
2016-06-04 16:52:02 +02:00
Marek Marczykowski-Górecki
daf55710b8
travis: initial version
QubesOS/qubes-issues#1926
2016-06-02 11:29:38 +02:00
Marek Marczykowski-Górecki
a534b1dd2c
qvm-usb: remove scary warning about PV USB stability
USBIP (used for PV USB here) is considered stable by Linux maintainers,
so follow their judgement.

Fixes QubesOS/qubes-issues#531
2016-06-02 02:52:59 +02:00
Marek Marczykowski-Górecki
e87da9ec9d
tests: adjust dom0_update tests for dnf in VM
There is no support for 'copy_local' repository option, so setup test
repository over http.

Related to QubesOS/qubes-issues#1574
2016-06-02 02:51:18 +02:00
Marek Marczykowski-Górecki
767d1f0074
qvm-usb: implement usb_detach_all
QubesOS/qubes-issues#531
2016-06-02 02:49:22 +02:00
Marek Marczykowski-Górecki
d5e06bfb83
qvm-usb: issue detach call to backend domain
Make sure that even compromised frontend will be cut of (possibly
sensitive - like a webcam) device. On the other hand, if backend domain
is already compromised, it may already compromise frontend domain too,
so none of them would be better to call detach to.

QubesOS/qubes-issues#531
2016-06-02 02:45:26 +02:00
Marek Marczykowski-Górecki
52fb410deb
qvm-usb: always pass VM as object reference not a name
Make the API consistent.

QubesOS/qubes-issues#531
2016-06-02 02:44:38 +02:00
Marek Marczykowski-Górecki
d67636308f
qvm-usb: modify for USBIP-over-qrexec implementation
QubesOS/qubes-issues#531
2016-05-26 01:38:08 +02:00
Marek Marczykowski-Górecki
3afc7b7d50
core: start qrexec-daemon as normal user, even when VM is started by root
qrexec-daemon will start new processes for called services, which
include starting new DispVM, starting other required VMs (like backend
GPG VM). Having those processes as root leads to many permissions
problems, like the one linked below. So when VM is started by root, make
sure that qrexec-daemon will be running as normal user (the first user
in group 'qubes' - there should be only one).

QubesOS/qubes-issues#1768
2016-05-26 01:34:53 +02:00
Marek Marczykowski-Górecki
7c0f5a4be6
qubes-hcl-report: filename sanitization for old bash
Bash in dom0 (Fedora 20 based) doesn't properly handle "+(..)" operator.
So remove it for now.

Fixes QubesOS/qubes-issues#1994
2016-05-18 14:21:26 +02:00
Marek Marczykowski-Górecki
a8fcc58934
version 3.2.2 2016-05-18 03:00:41 +02:00
Marek Marczykowski-Górecki
6311eec6fd
tests: force reloading partition table after setting partitioned loop dev
Apparently "losetup -P" doesn't always properly read partition table.
Force reload using blockdev --rereadpt.
2016-05-18 02:03:48 +02:00
Marek Marczykowski-Górecki
405fd40aaa
Add policy for qubes.OpenURL service
For now the same as for qubes.OpenInVM.

Fixes QubesOS/qubes-issues#1487
2016-05-18 02:03:48 +02:00
Marek Marczykowski-Górecki
3abf2b24b4
tests: check opening URL
While at it, fix policy preparation for qvm-open-in-vm tests.

QubesOS/qubes-issues#1487
2016-05-18 02:03:31 +02:00
Marek Marczykowski-Górecki
692254fcbf
qubes-bug-report: remove trailing spaces
QubesOS/qubes-issues#901
2016-05-17 20:33:05 +02:00
Marek Marczykowski-Górecki
b1e368da43
Merge remote-tracking branch 'qubesos/pr/30'
* qubesos/pr/30:
  qubes-bug-report coding style 4 spaces instead of tabs and using += operator
  qubes-bug-report subprocess removed, refactored and fixed pacman command for archlinux packages
  Tool to create bug reports.

Fixes QubesOS/qubes-issues#901
2016-05-17 20:32:46 +02:00
Marek Marczykowski-Górecki
94d52a13e7
core: adjust guid parameters when running on KDE5
On KDE5 native decoration plugin is used and requires special properties
set (instead of `_QUBES_VMNAME` etc).
Special care needs to be taken when detecting environment, because
environment variables aren't good enough - this script may be running
with cleared environment (through sudo, or from systemd). So check
properties of X11 root window.

QubesOS/qubes-issues#1784
2016-05-17 20:22:13 +02:00
Jeepler
14efbb4a22 qubes-bug-report coding style 4 spaces instead of tabs and using += operator 2016-05-17 13:15:26 -05:00
Jeepler
ea7631208c qubes-bug-report subprocess removed, refactored and fixed pacman command for archlinux packages 2016-05-16 23:36:27 -05:00
Marek Marczykowski-Górecki
55af04293b
tests: block devices listing
QubesOS/qubes-issues#1600
2016-05-16 04:48:29 +02:00
Marek Marczykowski-Górecki
10f0716911
trim-template: Fix handling long named templates
Trim template name to fit full VM name in 31 chars.
At the same time, check if the VM already exists - if so - remove it
first (or error out asking the user to remove it manually - if VM isn't
marked as internal).
Now that VM is created as internal, to skip appmenus creation.

QubesOS/qubes-issues#1910
Fixes QubesOS/qubes-issues#1655
2016-05-15 15:08:30 +02:00
Marek Marczykowski-Górecki
92b49fe9a4
core: Change default vCPUS to 2
This behaves better when running multiple VMs. If one need full CPU
power in some VM, it is always possible to increase vCPUs for this
particular VM.

Fixes QubesOS/qubes-issues#1891
2016-05-15 14:00:37 +02:00
Jeppler
16fbb33ce3 Tool to create bug reports.
A bug report is a collection of system information and log files for a specific qube.
2016-05-13 20:50:02 -05:00
Marek Marczykowski-Górecki
db8e79a903
version 3.2.1 2016-05-05 00:03:45 +02:00
Marek Marczykowski-Górecki
7e76342919
backup: default tmpdir to /tmp, respect TMPDIR
This requires having at least 1GB free on /tmp, but it is fair
assumption - it's tmpfs in dom0 and while performing the backup most of
the VMs aren't running, so shouldn't be a problem. Anyway it is always
possible to set TMPDIR variable or pass --tmpdir cmdline option.
Using tmpfs based temporary directory should speedup the backup.

QubesOS/qubes-issues#1652
2016-05-05 00:00:25 +02:00
Marek Marczykowski-Górecki
a8ea1d4b39
Merge remote-tracking branch 'origin/pr/10'
* origin/pr/10:
  backup: Allow to specify custom temporary directory
2016-05-04 23:54:34 +02:00
Marek Marczykowski-Górecki
d88ff935d0
tests: adjust 'extra' tests API to better design from core3
Do not force inheritance of ExtraTestMixin and QubesTestCase. Instead
provide 'qubes.tests.extra.ExtraTestCase' for external tests. This makes
the API less "magic", easier to understand and apply static analysis
tools on it.

QubesOS/qubes-issues#1800
2016-05-02 00:36:12 +02:00
Marek Marczykowski-Górecki
edd473c4be
tests: fix 'extra' tests loader
QubesOS/qubes-issues#1800
2016-05-02 00:18:37 +02:00
Marek Marczykowski-Górecki
62e68d52a3
Merge remote-tracking branch 'qubesos/pr/29'
* qubesos/pr/29:
  removed unnecessary comparison with True and changed to sysctl instead of remove
  Fixed #1930: Delete autostart Symlink when deleting a VM
2016-04-28 09:38:48 +02:00
Mario Geckler
23ec9e92bb
removed unnecessary comparison with True and changed to sysctl instead of remove 2016-04-28 08:30:57 +02:00
Patrick Schleizer
1fe625aa53 allow sys-whonix, whonix-gw and whonix-ws by default to open links in anon-whonix
https://phabricator.whonix.org/T452
2016-04-27 17:43:31 +00:00
Mario Geckler
d9b8516b6d
Fixed #1930: Delete autostart Symlink when deleting a VM 2016-04-27 12:47:56 +02:00
o
01bc257265 cleanup whitespace mess 2016-04-04 15:57:42 +02:00
o
b04d1ce005 new qvm-top utility
Display cpu and mem similar to qvm-ls but ordered by cpu time. Also a
one line summary switch which includes the top n cpu consuming vms and
total memory consumption. Intended usage is to e.g. embed in a window
manager widget.
2016-04-04 15:51:09 +02:00
o
958c292607 fix qvm-ls display of cpu_time
qhost.measure_cpu_usage expects the qvm_collection as parameter. Also
the number of vcpus of dom0 seems to be 0, leading to a div by 0. A more
complete fix would probably involve e.g. a new num_cores property which
would contain number of vcpu for vhosts and number of actual cores for
dom0.

For now this is a partial solution.
2016-04-04 15:30:22 +02:00
Marek Marczykowski-Górecki
04750ddef3
Merge remote-tracking branch 'qubesos/pr/26'
* qubesos/pr/26:
  Clarify descriptions of qvm-backup-restore options
  Fix typos
2016-04-02 01:30:20 +02:00
Axon
5b2df611e6
Clarify descriptions of qvm-backup-restore options 2016-04-01 19:07:16 +00:00
Axon
6901fde56a
Fix typos
Most of these typos were corrected in the qubes-doc repo as part of a
larger typo fixing sweet, but those changes were reverted when the pages
were regerenated from source.
2016-04-01 19:06:26 +00:00
Marek Marczykowski-Górecki
046149e0f4
core: fix vm.run_service 'wait' argument handling
1. wait=False isn't supportet together with localcmd (explicit, or
   implicit via 'input') - qrexec-client refuses such combination
2. When using localcmd, qrexec-client exists as soon as the local command
   terminates, not necessary remote. This may not be desired effect when
   used with wait=True (the default), so do not use localcmd in such a
   case

Found while debugging tests for qubes.USBAttach/qubes.USBDetach - with
wait=True broken, there were a lot of race conditions.

Related to QubesOS/qubes-issues#531
2016-04-01 02:53:04 +02:00
Marek Marczykowski-Górecki
47e81a525e
version 3.2.0 2016-03-29 11:25:11 +02:00
Marek Marczykowski-Górecki
0d1523e28f
Merge remote-tracking branch 'qubesos/pr/25'
* qubesos/pr/25:
  Add missing options to qvm-backup-restore doc.
  Fix --rename-conflicting option.

Fixes QubesOS/qubes-issues#1883
2016-03-29 11:17:51 +02:00
Marek Marczykowski-Górecki
c60844a8d4
Merge remote-tracking branch 'qubesos/pr/21'
* qubesos/pr/21:
  Disable debug packages for core-dom0
2016-03-29 11:17:09 +02:00