Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							35cb82cd2b 
							
						 
					 
					
						
						
							
							storage: use root-cow.img for HVM template, to support reverting changes  
						
						... 
						
						
						
						We still can't support running HVM template and its VMs simultaneously
(easily), but still, have root-cow.img handled for HVM template, to
allow qvm-revert-template-changes.
Fixes  QubesOS/qubes-issues#1573  
						
					 
					
						2016-01-07 05:48:32 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							fa196f1350 
							
						 
					 
					
						
						
							
							storage: actually use storage.root_img and such properties  
						
						... 
						
						
						
						Actual VM root disk used hardcoded image names, instead of properties
set for that purpose... 
						
					 
					
						2016-01-07 05:48:32 +01:00 
						 
				 
			
				
					
						
							
							
								Bahtiar `kalkin-` Gadimov 
							
						 
					 
					
						
						
						
						
							
						
						
							c8d26c253e 
							
						 
					 
					
						
						
							
							Storage refactor device config generation  
						
						... 
						
						
						
						- QubesVmStorage provides now a default get_config_params() method which should
  be enough for all possible Storage implementations.
- When writing a custom Storage implementation, one has just to reimplement the
  following methods:
  * root_dev_config()
  * private_dev_config()
  * volatile_dev_config()
- QubesVmStorage provides a default implementation of other_dev_config(),
  because it can be shared by all storage implementations 
						
					 
					
						2015-12-22 11:24:28 +01:00 
						 
				 
			
				
					
						
							
							
								Bahtiar `kalkin-` Gadimov 
							
						 
					 
					
						
						
						
						
							
						
						
							f5cef35cdf 
							
						 
					 
					
						
						
							
							Fix circular deps workaround in Pool.vmdir_path()  
						
						
						
					 
					
						2015-11-25 16:01:28 +01:00 
						 
				 
			
				
					
						
							
							
								Bahtiar `kalkin-` Gadimov 
							
						 
					 
					
						
						
						
						
							
						
						
							85421e3f48 
							
						 
					 
					
						
						
							
							Move device names from XenStorage to QubesVmStorage  
						
						
						
					 
					
						2015-11-25 12:49:56 +01:00 
						 
				 
			
				
					
						
							
							
								Bahtiar `kalkin-` Gadimov 
							
						 
					 
					
						
						
						
						
							
						
						
							9b23576ff6 
							
						 
					 
					
						
						
							
							Provide method format_disk_dev() to all storages  
						
						... 
						
						
						
						The method XenStorage._format_disk_dev() generates the xml config for a device.
It is not specific to the Xen file storage implementation. It can and must be
reused by other storage implementations 
						
					 
					
						2015-11-25 12:48:47 +01:00 
						 
				 
			
				
					
						
							
							
								Bahtiar `kalkin-` Gadimov 
							
						 
					 
					
						
						
						
						
							
						
						
							feaaaa75fa 
							
						 
					 
					
						
						
							
							Move the vmdir logic from XenPool to Pool  
						
						... 
						
						
						
						Any storage implementation needs this logic for saving the vm config and
`*.desktop` files. 
						
					 
					
						2015-11-25 12:47:25 +01:00 
						 
				 
			
				
					
						
							
							
								Bahtiar `kalkin-` Gadimov 
							
						 
					 
					
						
						
						
						
							
						
						
							885dc5cd81 
							
						 
					 
					
						
						
							
							Rename storage dir to dir_path, type to driver  
						
						... 
						
						
						
						Bad idea to use attributes which are named after built in functions. 
						
					 
					
						2015-11-21 14:46:23 +01:00 
						 
				 
			
				
					
						
							
							
								Bahtiar `kalkin-` Gadimov 
							
						 
					 
					
						
						
						
						
							
						
						
							9eee00c6d7 
							
						 
					 
					
						
						
							
							QubesNetVm and subclasses use servicevm/ as vmdir  
						
						
						
					 
					
						2015-11-17 21:21:02 +01:00 
						 
				 
			
				
					
						
							
							
								Bahtiar `kalkin-` Gadimov 
							
						 
					 
					
						
						
						
						
							
						
						
							1934f06869 
							
						 
					 
					
						
						
							
							XenStorage add DisposableVm handling  
						
						
						
					 
					
						2015-11-17 21:15:13 +01:00 
						 
				 
			
				
					
						
							
							
								Bahtiar `kalkin-` Gadimov 
							
						 
					 
					
						
						
						
						
							
						
						
							76224dac86 
							
						 
					 
					
						
						
							
							Path to the Vm images is set by the storage  
						
						... 
						
						
						
						- This moves the logic for setting the path to the storage specific class like
  XenStore 
						
					 
					
						2015-11-17 19:37:20 +01:00 
						 
				 
			
				
					
						
							
							
								Bahtiar `kalkin-` Gadimov 
							
						 
					 
					
						
						
						
						
							
						
						
							0bc0bc9045 
							
						 
					 
					
						
						
							
							XenStorage make sure subdirs exist in pool dir  
						
						
						
					 
					
						2015-11-17 19:37:20 +01:00 
						 
				 
			
				
					
						
							
							
								Bahtiar `kalkin-` Gadimov 
							
						 
					 
					
						
						
						
						
							
						
						
							58f23ca392 
							
						 
					 
					
						
						
							
							Add configurable pool_dir to XenPool  
						
						
						
					 
					
						2015-11-17 19:37:20 +01:00 
						 
				 
			
				
					
						
							
							
								Bahtiar `kalkin-` Gadimov 
							
						 
					 
					
						
						
						
						
							
						
						
							16d480cf4c 
							
						 
					 
					
						
						
							
							Add storage add_pool & remove_pool  
						
						
						
					 
					
						2015-11-17 19:37:19 +01:00 
						 
				 
			
				
					
						
							
							
								Bahtiar `kalkin-` Gadimov 
							
						 
					 
					
						
						
						
						
							
						
						
							26711e7e9a 
							
						 
					 
					
						
						
							
							Use default pool_config if pool name is 'default'  
						
						
						
					 
					
						2015-11-17 19:37:19 +01:00 
						 
				 
			
				
					
						
							
							
								Bahtiar `kalkin-` Gadimov 
							
						 
					 
					
						
						
						
						
							
						
						
							78891dd70f 
							
						 
					 
					
						
						
							
							QubesVm save the name of the storage pool used  
						
						
						
					 
					
						2015-11-17 19:37:19 +01:00 
						 
				 
			
				
					
						
							
							
								Bahtiar `kalkin-` Gadimov 
							
						 
					 
					
						
						
						
						
							
						
						
							d1685a13df 
							
						 
					 
					
						
						
							
							Add storage.pool_exists  
						
						
						
					 
					
						2015-11-17 19:37:19 +01:00 
						 
				 
			
				
					
						
							
							
								Bahtiar `kalkin-` Gadimov 
							
						 
					 
					
						
						
						
						
							
						
						
							8e0207a199 
							
						 
					 
					
						
						
							
							Rename QubesXenVmStorage to XenStorage  
						
						
						
					 
					
						2015-11-17 19:37:19 +01:00 
						 
				 
			
				
					
						
							
							
								Bahtiar `kalkin-` Gadimov 
							
						 
					 
					
						
						
						
						
							
						
						
							bfaf37dae5 
							
						 
					 
					
						
						
							
							Add pool config parsing  
						
						
						
					 
					
						2015-11-17 19:37:18 +01:00 
						 
				 
			
				
					
						
							
							
								Bahtiar `kalkin-` Gadimov 
							
						 
					 
					
						
						
						
						
							
						
						
							15d5e6edbb 
							
						 
					 
					
						
						
							
							Add Pool & XenPool  
						
						
						
					 
					
						2015-11-17 19:37:18 +01:00 
						 
				 
			
				
					
						
							
							
								Bahtiar `kalkin-` Gadimov 
							
						 
					 
					
						
						
						
						
							
						
						
							7550fccf94 
							
						 
					 
					
						
						
							
							Removed WNI  
						
						
						
					 
					
						2015-11-17 19:37:18 +01:00 
						 
				 
			
				
					
						
							
							
								Rusty Bird 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							3e3ac36f58 
							
						 
					 
					
						
						
							
							cp --reflink=auto to speed up clone/backup/restore on btrfs  
						
						
						
					 
					
						2015-11-10 17:10:03 +00:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
						
						
							
						
						
							76bddaa280 
							
						 
					 
					
						
						
							
							core: use vm.absolute_path to parse paths in qubes.xml  
						
						... 
						
						
						
						This makes easier to handle some corner cases. One of them is having
entry without `dir_path` defined. This may happen when migrating from R2
(using backup+restore or in-place) while some DisposableVM was running
(even if not included in the backup itself).
Fixes  qubesos/qubes-issues#1124 
Reported by @doncohen, thanks @wyory for providing more details. 
						
					 
					
						2015-09-04 01:58:53 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							26cf723841 
							
						 
					 
					
						
						
							
							core/hvm: fix external disks handling  
						
						
						
					 
					
						2015-08-09 21:21:27 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							8f862cdf69 
							
						 
					 
					
						
						
							
							core/hvm: check if VM serving cdrom content is running  
						
						
						
					 
					
						2015-07-25 04:17:59 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
						
						
							
						
						
							d9c2990747 
							
						 
					 
					
						
						
							
							core: fix creation of private.img at VM startup  
						
						... 
						
						
						
						This code is used when VM is migrated from older system, where HVM
didn't have private.img. 
						
					 
					
						2015-07-01 04:41:09 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
						
						
							
						
						
							522bfc427a 
							
						 
					 
					
						
						
							
							core: fix template-based HVM disk handling  
						
						... 
						
						
						
						We use only one device-mapper layer for HVMs, and this isn't the same as
for PV - it is that one, which PV does in initramfs.
Device-mapper layers summary for template-based VMs:
PV: root.img+root-cow.img (dom0) -> xvda, xvda+volatile.img (VM)
HVM: root.img+volatile.img (dom0) 
						
					 
					
						2015-07-01 04:35:09 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
						
						
							
						
						
							dbb43f6035 
							
						 
					 
					
						
						
							
							core/storage: fix disk handling for HVM template  
						
						... 
						
						
						
						Currently HVM template do not have root-cow.img (also do not use 2-layer
device-mapper as PV VMs), so vm.is_template() check isn't enough. 
						
					 
					
						2015-04-06 00:21:38 +02:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
						
						
							
						
						
							4dfb629dd8 
							
						 
					 
					
						
						
							
							Update libvirt config syntax for new version of driver domain patches  
						
						... 
						
						
						
						Finally accepted patches uses different syntax: <backenddomain name=.../> tag
instead of <source domain=.../>. 
						
					 
					
						2015-03-21 21:12:48 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
						
						
							
						
						
							adfc4e0ac9 
							
						 
					 
					
						
						
							
							core: disks handling cleanup, fix them for TemplateHVM  
						
						... 
						
						
						
						Move rootcow_img to storage class, remove clean_volatile_img. And most
importantly - set source_template in QubesHVm.create_on_disk. 
						
					 
					
						2015-02-09 06:02:20 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
						
						
							
						
						
							1da8ab5823 
							
						 
					 
					
						
						
							
							core: Add missing import  
						
						
						
					 
					
						2015-01-08 03:55:02 +01:00 
						 
				 
			
				
					
						
							
							
								Wojciech Zygmunt Porczyk 
							
						 
					 
					
						
						
						
						
							
						
						
							6b0a5f9738 
							
						 
					 
					
						
						
							
							storage/xen.py: always initialise args['otherdevs']  
						
						
						
					 
					
						2014-11-19 12:50:32 +01:00 
						 
				 
			
				
					
						
							
							
								Rafał Wojdyła 
							
						 
					 
					
						
						
						
						
							
						
						
							7e8978d278 
							
						 
					 
					
						
						
							
							wni: changed qrexec agent path environment variable name  
						
						
						
					 
					
						2014-11-19 12:50:32 +01:00 
						 
				 
			
				
					
						
							
							
								Rafał Wojdyła 
							
						 
					 
					
						
						
						
						
							
						
						
							f91d6e93f6 
							
						 
					 
					
						
						
							
							wni: set random password on user creation  
						
						
						
					 
					
						2014-11-19 12:50:31 +01:00 
						 
				 
			
				
					
						
							
							
								Rafał Wojdyła 
							
						 
					 
					
						
						
						
						
							
						
						
							ccd04c7c8f 
							
						 
					 
					
						
						
							
							wni: properly get user profiles directory  
						
						
						
					 
					
						2014-11-19 12:50:31 +01:00 
						 
				 
			
				
					
						
							
							
								Rafał Wojdyła 
							
						 
					 
					
						
						
						
						
							
						
						
							81fb2b696b 
							
						 
					 
					
						
						
							
							wni: vm users can't change their password  
						
						
						
					 
					
						2014-11-19 12:50:31 +01:00 
						 
				 
			
				
					
						
							
							
								Rafał Wojdyła 
							
						 
					 
					
						
						
						
						
							
						
						
							b4d827d5e8 
							
						 
					 
					
						
						
							
							wni: remove user profiles on domain removal  
						
						
						
					 
					
						2014-11-19 12:50:31 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
						
						
							
						
						
							63eccac025 
							
						 
					 
					
						
						
							
							wni: use win32net module for creating new user  
						
						... 
						
						
						
						This require UAC disabled (or already started as administrator), but
works much more reliable ("net user" sometimes fails _silently_). 
						
					 
					
						2014-11-19 12:50:30 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
						
						
							
						
						
							e5c2448af4 
							
						 
					 
					
						
						
							
							copy & paste error (VM rename fix)  
						
						
						
					 
					
						2014-11-19 12:50:30 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
						
						
							
						
						
							d88da1e66b 
							
						 
					 
					
						
						
							
							wni: add missing parameter  
						
						
						
					 
					
						2014-11-19 12:50:29 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
						
						
							
						
						
							f6729b4968 
							
						 
					 
					
						
						
							
							wni: use generated password  
						
						
						
					 
					
						2014-11-19 12:50:29 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
						
						
							
						
						
							5dbad01796 
							
						 
					 
					
						
						
							
							Fill some more WNI settings  
						
						... 
						
						
						
						Especially use new "wni" libvirt driver. 
						
					 
					
						2014-11-19 12:50:29 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
						
						
							
						
						
							ea68c6a766 
							
						 
					 
					
						
						
							
							xen: fix template vm storage code  
						
						
						
					 
					
						2014-11-19 12:50:28 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
						
						
							
						
						
							5fb1991ad5 
							
						 
					 
					
						
						
							
							QubesWniVmStorage: prefix system user with "qubes-vm-".  
						
						
						
					 
					
						2014-11-19 12:50:28 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
						
						
							
						
						
							f927f12e39 
							
						 
					 
					
						
						
							
							QubesWniVmStorage: pass all positional parameters to base class  
						
						
						
					 
					
						2014-11-19 12:50:28 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
						
						
							
						
						
							392b70a4d8 
							
						 
					 
					
						
						
							
							Create missing private.img when needed  
						
						... 
						
						
						
						Not only for HVM, but any VM type which support private.img. 
						
					 
					
						2014-11-19 12:50:28 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
						
						
							
						
						
							21c908b9b2 
							
						 
					 
					
						
						
							
							Move storage-related VM rename code to storage class  
						
						
						
					 
					
						2014-11-19 12:50:28 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
						
						
							
						
						
							ada5ebd784 
							
						 
					 
					
						
						
							
							Use "None" in *_img attr for "not applicable"  
						
						... 
						
						
						
						Some VM types do not have particular disk image. Instead of enumerating
cases in storage class, signal unused image from VM class by setting
appropriate attr to None. 
						
					 
					
						2014-11-19 12:50:27 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
						
						
							
						
						
							35ecfc82ef 
							
						 
					 
					
						
						
							
							wni: QubesWniVmStorage and update settings file  
						
						
						
					 
					
						2014-11-19 12:50:27 +01:00 
						 
				 
			
				
					
						
							
							
								Marek Marczykowski-Górecki 
							
						 
					 
					
						
						
						
						
							
						
						
							a17f6ef779 
							
						 
					 
					
						
						
							
							Update QubesHVM to use QubesVmStorage classes  
						
						... 
						
						
						
						Also add external drive support to QubesXenVmStorage (move from
QubesHVM). 
						
					 
					
						2014-11-19 12:50:27 +01:00