Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							e8d011b83f 
							
						 
					 
					
						
						
							
							qubes/tools: add qvm-device tool (and tests)  
						
						... 
						
						
						
						Add a tool to manipulate various devices.
QubesOS/qubes-issues#2257  
						
					 
					
						2016-09-03 20:41:05 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							6aae6863b0 
							
						 
					 
					
						
						
							
							tests: load qubes.tests.tools.qvm_ls  
						
						... 
						
						
						
						The test module was implemented, but not loaded 
						
					 
					
						2016-09-03 20:41:04 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							fbb086aed5 
							
						 
					 
					
						
						
							
							tests: PCI devices tests  
						
						... 
						
						
						
						Just basic things for now.
QubesOS/qubes-issues#2257  
						
					 
					
						2016-09-03 20:41:04 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							4bfb523974 
							
						 
					 
					
						
						
							
							tests: add context manager to catch stdout  
						
						... 
						
						
						
						This will avoid code duplication in tools tests. 
						
					 
					
						2016-09-03 20:41:03 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							aa67a4512e 
							
						 
					 
					
						
						
							
							qubes/ext/pci: move PCI devices handling to an extension  
						
						... 
						
						
						
						Implement required event handlers according to documentation in
qubes.devices.
A modification of qubes.devices.DeviceInfo is needed to allow dynamic,
read-only properties.
QubesOS/qubes-issues#2257  
						
					 
					
						2016-09-03 20:41:03 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							e1de82ea53 
							
						 
					 
					
						
						
							
							qubes/devices: use more detailed exceptions than just KeyError  
						
						... 
						
						
						
						Especially inherit from QubesException, so tools will treat this as
properly handled error.
QubesOS/qubes-issues#2257  
						
					 
					
						2016-09-03 20:41:03 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							e5d6c4e078 
							
						 
					 
					
						
						
							
							qubes/devices: allow non-persistent attach  
						
						... 
						
						
						
						QubesOS/qubes-issues#2257  
					
						2016-09-03 20:41:02 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							70d3f58024 
							
						 
					 
					
						
						
							
							qubes/storage: misc fixes for VM-exposed block devices handling  
						
						... 
						
						
						
						Add 'backenddomain' element when source (not target) domain is not dom0.
Fix XML elemenet name. Actually set volume.domain when listing
VM-exposed devices.
QubesOS/qubes-issues#2256  
						
					 
					
						2016-09-03 20:41:02 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							d7a3c0d319 
							
						 
					 
					
						
						
							
							qubes: new devices API  
						
						... 
						
						
						
						Allow device plugin to list attached and available devices. Enforce
at API level every device being exposed by some domain.
This commit only changes devices API, but not update existing users
(pci) yet.
QubesOS/qubes-issues#2257  
						
					 
					
						2016-09-03 20:40:39 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							3e30dc17cb 
							
						 
					 
					
						
						
							
							qubes/vm: remove special case for 'meminfo-writer' feature  
						
						... 
						
						
						
						It should be either in a plugin, or handled entirely from inside of VM.
But surely not in main QubesVM class.
Fixes  QubesOS/qubes-issues#2101  
						
					 
					
						2016-08-18 11:59:45 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							0293c1c7ef 
							
						 
					 
					
						
						
							
							qubes/vm: move misc XML tags loading to separate method  
						
						
						
					 
					
						2016-08-18 11:57:11 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							a5e575618c 
							
						 
					 
					
						
						
							
							qubes-lvm: drop sudo from lvm calls  
						
						... 
						
						
						
						The script is already running as root
QubesOS/qubes-issues#2256  
						
					 
					
						2016-08-18 11:52:26 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							6bdc82b3a6 
							
						 
					 
					
						
						
							
							qubes-lvm: do not import 'qubes' module  
						
						... 
						
						
						
						This script should run as fast as possible, so avoid importing large
module. In fact the only used thing was argparse wrapper, so switch to
the standard one and drop aliases.
QubesOS/qubes-issues#2256  
						
					 
					
						2016-08-18 11:52:26 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							de5d420331 
							
						 
					 
					
						
						
							
							qubes-lvm: drop unused lvm_image_changed function  
						
						... 
						
						
						
						It tries to parse (untrusted) volume content, so remove it to not use it
accidentally.
QubesOS/qubes-issues#2256  
						
					 
					
						2016-08-18 11:43:01 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							06f46243ec 
							
						 
					 
					
						
						
							
							qubes/storage: add resize to Pool API  
						
						... 
						
						
						
						It was already implemented by FilePool and used by Storage object, but
wasn't included in base class. 
						
					 
					
						2016-08-18 11:42:00 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							42d6fddcd3 
							
						 
					 
					
						
						
							
							qubes/storage: support on-line resize  
						
						... 
						
						
						
						Call `qubes.ResizeDisk` qrexec service after resizing volume, to adjust
filesystem size there. 
						
					 
					
						2016-08-18 11:40:38 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							6e383c703d 
							
						 
					 
					
						
						
							
							qubes/storage: allow passing just volume name to storage.resize  
						
						... 
						
						
						
						It makes much more sense to call:
    vm.storage.resize('private', 10000000000)
instead of:
    vm.storage.resize(vm.volumes['private'], 10000000000) 
						
					 
					
						2016-08-17 22:42:15 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							d8286b6dab 
							
						 
					 
					
						
						
							
							tests: port vm_qrexec_gui to core3 API  
						
						
						
					 
					
						2016-08-17 22:41:57 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							e19df4c5b6 
							
						 
					 
					
						
						
							
							tests: port dispvm tests to core3 API  
						
						... 
						
						
						
						Some tests do not apply, as there is no savefile and attributes
propagation is much simpler. Dropped tests:
 - test_000_firewall_propagation
 - test_001_firewall_propagation
 - test_000_prepare_dvm
QubesOS/qubes-issues#2253  
						
					 
					
						2016-08-17 04:15:35 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							46791e05f4 
							
						 
					 
					
						
						
							
							qubes/dispvm: do not clone 'template' property from base VM  
						
						... 
						
						
						
						template should point at the base VM itself. 
						
					 
					
						2016-08-17 02:14:19 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							53b2b30c0a 
							
						 
					 
					
						
						
							
							qubes: fix some error messages  
						
						
						
					 
					
						2016-08-17 02:13:59 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							3a2a87839f 
							
						 
					 
					
						
						
							
							qubes/vm: fix TemplateVM.commit_changes  
						
						... 
						
						
						
						Storage method was renamed to just `commit`, as it applies not only to
templates now. 
						
					 
					
						2016-08-17 01:47:09 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							d9e23d6535 
							
						 
					 
					
						
						
							
							qubes/core2migration: make pylint happy  
						
						... 
						
						
						
						It doesn't see the class that is just being defined. But since it is in
lambda, that's ok. 
						
					 
					
						2016-08-17 01:46:13 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							6b546ca1e6 
							
						 
					 
					
						
						
							
							tests/backupcompatibility: no errors are expected on restoring R1 backup  
						
						... 
						
						
						
						Fallback to default kernel is enabled by default. 
						
					 
					
						2016-08-17 01:31:33 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							690727fef8 
							
						 
					 
					
						
						
							
							tests/backup: remove VMs in reversed order  
						
						... 
						
						
						
						One place had missing `reversed()`. 
						
					 
					
						2016-08-17 01:30:34 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							bbbe045b62 
							
						 
					 
					
						
						
							
							qubes/backup: better handle restoring kernel=None case  
						
						... 
						
						
						
						It makes sense for HVM domains, so allow such configuration. 
						
					 
					
						2016-08-17 01:18:11 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							5d8ecd60de 
							
						 
					 
					
						
						
							
							qubes: minor fixes in handling defaults  
						
						... 
						
						
						
						- fix assigning 'template' property - do not do it if VM already have it
set
- cap default maxmem at 4000, as we clamp it to 10*memory anyway (and
  default memory is 400) 
						
					 
					
						2016-08-17 00:50:38 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							dd93650ea7 
							
						 
					 
					
						
						
							
							tests/backup: fix handling different VM types  
						
						... 
						
						
						
						Not all VM types have 'template' property. 
						
					 
					
						2016-08-17 00:49:53 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							460f0849a7 
							
						 
					 
					
						
						
							
							qubes/features: handle recursive templates in check_with_template  
						
						... 
						
						
						
						This is the case for DispVMs: DispVM -> AppVM -> TemplateVM 
						
					 
					
						2016-08-17 00:47:32 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							1a215e47ab 
							
						 
					 
					
						
						
							
							qubes: add 'default_dispvm' property - both Qubes and QubesVM  
						
						... 
						
						
						
						QubesOS/qubes-issues#2253  
					
						2016-08-17 00:46:43 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ab6f961931 
							
						 
					 
					
						
						
							
							qubes/dispvm: misc fixes, make it actually working  
						
						... 
						
						
						
						- DispVM is no longer a special case for storage
- Add missing 'rw=True' for volatile volume
- Handle storage initialization (copy&paste from AppVM)
- Clone properties from DispVM template
QubesOS/qubes-issues#2253  
						
					 
					
						2016-08-17 00:42:17 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							2f977ff4f5 
							
						 
					 
					
						
						
							
							backup: open backup collection in offline mode  
						
						... 
						
						
						
						Otherwise it may try to manipulate live libvirt objects with the same
names (and probably different UUIDs, which would fail). 
						
					 
					
						2016-08-16 00:00:14 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							eb637147fb 
							
						 
					 
					
						
						
							
							core2migration: adjust for recent storage API changes  
						
						... 
						
						
						
						QubesVM.storage.vmdir uses QubesVM.dir_path, so can't be used directly
as default value for dir_path. Use `super()`. 
						
					 
					
						2016-08-15 23:47:28 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							660c726315 
							
						 
					 
					
						
						
							
							tests: add qvm-check  
						
						
						
					 
					
						2016-08-09 05:14:13 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							da6faf83bf 
							
						 
					 
					
						
						
							
							qubes/tools: allow unpause multiple domains at once  
						
						... 
						
						
						
						There is no reason to not allow it. 
						
					 
					
						2016-08-09 05:14:13 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							a1e2888e96 
							
						 
					 
					
						
						
							
							qubes/tools: fix messages in qvm-check  
						
						
						
					 
					
						2016-08-09 05:14:13 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							d4e534bc05 
							
						 
					 
					
						
						
							
							qubes/vm: fix pause handling  
						
						... 
						
						
						
						1. There is no such thing as libvirt_domain.pause().
2. libvirt_domain.state() returns [state, reason] 
						
					 
					
						2016-08-09 05:14:12 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							d2393f91e8 
							
						 
					 
					
						
						
							
							qubes/tools: adjust qvm-check for core3 API  
						
						
						
					 
					
						2016-08-09 05:14:12 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							4d5a314e77 
							
						 
					 
					
						
						
							
							qubes/tools: add hidden --offline-mode options  
						
						... 
						
						
						
						It is useful on some cases to prevent talking to hypervisor.
Warning - it may have sense only when action do not access any runtime
VM status. For example running the domain will fail, but changing its
properties should work. 
						
					 
					
						2016-08-09 05:14:12 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							96d032919a 
							
						 
					 
					
						
						
							
							tests: minor fix to revert changes tests, mark as expected failure  
						
						... 
						
						
						
						While the test should be ok now, the functionality itself doesn't work (at
least on file volumes). 
						
					 
					
						2016-08-09 05:14:12 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ac68ffe39f 
							
						 
					 
					
						
						
							
							tests: correctly compare DeviceManager objects  
						
						... 
						
						
						
						Usefull for assertEqual(vm1.devices, vm2.devices) - clone tests, backup
tests etc. 
						
					 
					
						2016-08-09 05:14:11 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							d954bb82a3 
							
						 
					 
					
						
						
							
							block-snapshot: set qubes.xml path for test VMs  
						
						... 
						
						
						
						Since it is running with totally different environment, QUBES_XML_PATH
isn't passed from test runner. Apply heuristic based on VM name. 
						
					 
					
						2016-08-09 05:14:11 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f17f80ee9d 
							
						 
					 
					
						
						
							
							qubes/tools: add qvm-template-commit  
						
						... 
						
						
						
						This tool is called from /etc/xen/scripts/block-origin script at VM
shutdown. 
						
					 
					
						2016-08-09 05:14:11 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							6490767278 
							
						 
					 
					
						
						
							
							qubes/storage: update vm.storage.commit  
						
						... 
						
						
						
						Better name it 'commit', as it isn't only for template. And also fix to
call `pool.commit` 
						
					 
					
						2016-08-09 05:14:11 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ddf76d39bf 
							
						 
					 
					
						
						
							
							libvirt.xml: fix IP address declaration  
						
						... 
						
						
						
						There is no longer different one for DispVM savefile preparation - there
is no DispVM savefile anymore. 
						
					 
					
						2016-08-09 05:14:10 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ec7a84ea9d 
							
						 
					 
					
						
						
							
							minor: formatting  
						
						... 
						
						
						
						QubesOS/qubes-issues# 
						
					 
					
						2016-08-09 05:14:10 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							af7b4087f0 
							
						 
					 
					
						
						
							
							tests: port few more tests to core3 API  
						
						
						
					 
					
						2016-08-09 05:14:10 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							faa341ffa2 
							
						 
					 
					
						
						
							
							tests/backup: adjust for core3 API properties to verify after restore  
						
						
						
					 
					
						2016-08-09 05:14:10 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							7d1cbd6934 
							
						 
					 
					
						
						
							
							tests: handle per-template tests in BackupTestsMixin  
						
						
						
					 
					
						2016-08-09 05:14:09 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							fba6eac07f 
							
						 
					 
					
						
						
							
							qubes/tests: do not undefine libvirt domain twice  
						
						... 
						
						
						
						Do not access vm.libvirt_domain after it being already removed - this
will redefine it again in libvirt, just to undefine it in a moment.
On the other hand, few lines below there is fallback libvirt cleanup, in
case of proper one not working. 
						
					 
					
						2016-08-09 05:14:09 +02:00