Marek Marczykowski
40d8ac66a3
dom0/core: introduce QubesHVm class
2012-02-24 04:24:13 +01:00
Marek Marczykowski
85c5074dbe
dom0/core: check if object has attr before using it
2012-02-24 04:22:14 +01:00
Marek Marczykowski
8b3a895317
dom0/core: more robust XML attrs generation
...
Still not ideal...
2012-02-24 04:19:51 +01:00
Marek Marczykowski
db4a96dfea
dom0/core: move qrexec start to separate function
2012-02-24 04:18:45 +01:00
Marek Marczykowski
104030b15c
dom0/core: more generic way to specify xen config template
2012-02-24 04:17:45 +01:00
Marek Marczykowski
8c4e1e0b09
dom0/qvm-core: fix icon symlink after label change
2012-02-22 15:14:00 +01:00
Marek Marczykowski
277cdd9173
dom0/backup: Allow to exclude dom0 home from backup
2012-02-17 10:05:23 +01:00
Marek Marczykowski
0a0a88650d
dom0/qubesutils: typo
2012-02-17 10:01:04 +01:00
Marek Marczykowski
c39fc7f6f1
dom0/qvm-block: fix connecting devices to dom0
2012-02-16 10:25:16 +01:00
Marek Marczykowski
05e89d82fb
dom0/qvm-block: automatically choose frontend device ( #419 )
2012-02-14 20:57:43 +01:00
Marek Marczykowski
1683a0b815
dom0/qvm-block: detect 'connecting' devices as 'connected'
...
This is needed to not allow connecting the same backend to more than one VMs at
the same time.
2012-02-14 20:55:51 +01:00
Marek Marczykowski
abcdbad209
dom0/qubesutils: move online resize code to QubesVm.resize_private_img() ( #421 )
...
This assume that private.img contains ext2/3/4. For now it is true.
2012-02-10 20:47:21 +01:00
Marek Marczykowski
6b59f5c7c8
dom0/qubesutils: move parse_size() from qvm-grow-private to qubesutils ( #421 )
2012-02-10 20:46:35 +01:00
Marek Marczykowski
7c7bea6a03
dom0/qubesutils: move run() method to QubesVm
...
It is needed inside of other methods of QubesVm...
2012-02-10 20:44:28 +01:00
Marek Marczykowski
5e5d84adf7
dom0: remove trailing spaces
2012-02-10 20:43:29 +01:00
Marek Marczykowski
1a33746ab4
dom0/qubesutils: move qvm-backup-restore code to qubesutils ( #421 )
2012-02-10 10:56:03 +01:00
Marek Marczykowski
19a0292897
dom0/qubesutils: move printing functions to the beggining
2012-02-10 10:54:18 +01:00
Marek Marczykowski
c766282d2d
dom0: minor get_start_time fix
2012-02-07 23:17:53 +01:00
Marek Marczykowski
5dd17a7305
dom0/qubesutils: minor fixes
2012-02-07 16:51:10 +01:00
Marek Marczykowski
24173989b3
dom0/qvm-tools: move qvm-backup logic to qubesutils ( #421 )
2012-02-07 16:50:52 +01:00
Marek Marczykowski
3a71716db3
dom0/ClockVM: disable ntpd in ClockVM ( #435 )
...
To not conflict with ntpdate (both are using 123/udp port).
2012-02-01 17:51:41 +01:00
Marek Marczykowski
2aedf4567b
dom0/qubesutils: additional types of run comand in vm (wait and popen)
2012-02-01 17:09:48 +01:00
Marek Marczykowski
2897a795c4
dom0/vm: set VM timezone same as in dom0 - on VM boot ( #413 )
2012-01-18 16:59:58 +01:00
Marek Marczykowski
bdfacf9d01
dom0: enable qubes-dvm service when preparing DispVM
2012-01-14 01:34:35 +01:00
Marek Marczykowski
b77e48f688
dom0: do not start gui daemon when preparing DispVM
2011-12-27 15:37:23 +01:00
Marek Marczykowski
4d128dd020
dom0: fix removing "special" VM (eg ClockVM)
...
Unset collection pointer to some special VMs, when it is removed: ClockVM,
default NetVM, default TemplateVM, UpdateVM
2011-12-23 17:10:32 +01:00
Marek Marczykowski
d84d64716b
dom0: start guid only when shm.id present
...
Eg. not during firstboot
2011-12-11 14:09:46 +01:00
Marek Marczykowski
f03152053b
dom0: check if X server is available before starting guid ( #377 )
2011-12-05 13:42:07 +01:00
Marek Marczykowski
99ffed089c
dom0: start guid as soon as possible ( #377 )
2011-12-05 13:36:13 +01:00
Marek Marczykowski
4a6447f11b
dom0/qvm-run: fix tray notify
2011-11-02 00:46:57 +01:00
Marek Marczykowski
c0c64ecdc5
dom0: add VM rename support ( #371 )
2011-11-02 00:39:23 +01:00
Marek Marczykowski
134af81b3b
dom0: move remove_appmenus to separate subroutine
2011-11-01 23:42:13 +01:00
Marek Marczykowski
12b8ff7d17
dom0: store relative paths in qubes.xml when possible
2011-11-01 23:33:20 +01:00
Marek Marczykowski
47ad186926
dom0: set firewall to block-all when setting netvm to none ( #370 )
2011-11-01 15:50:03 +01:00
Marek Marczykowski
870dea1502
dom0/qvm-run: move run code to qubesutils
2011-10-31 13:31:54 +01:00
Marek Marczykowski
a4e11dedd9
dom0/DispVM: inherit firewall from calling VM ( #370 )
2011-10-31 01:29:46 +01:00
Marek Marczykowski
99c0356bf2
dom0: set first NetVM as ClockVM
2011-10-17 23:20:21 +02:00
Marek Marczykowski
db3ab9333a
dom0/qvm-shutdown: increase timeout to 60s ( #373 )
2011-10-17 23:14:26 +02:00
Marek Marczykowski
c43a62e0bb
dom0/qvm-shutdown: implement --wait in qvm-shutdown
2011-10-17 23:14:19 +02:00
Marek Marczykowski
3063ef35b7
dom0: move NetVM shutdown sanity check code to qvm-core
2011-10-17 22:45:04 +02:00
Marek Marczykowski
abcd6416fc
dom0: move shutdown to qvm-core
2011-10-14 11:59:33 +02:00
Marek Marczykowski
ede96353af
dom0/qrexec: Add always allow option in qrexec confirmation dialog ( #278 )
2011-10-12 00:08:28 +02:00
Marek Marczykowski
bc47334d21
dom0: fix cleanup_vif
2011-10-10 17:11:00 +02:00
Marek Marczykowski
e1ccda362c
dom0/qvm-core: release lock in VM.start() right before starting qrexec ( #344 )
2011-10-10 11:23:14 +02:00
Marek Marczykowski
05605f1394
dom0/qvm-core: ignore template_vm=None when loading qubes.xml
...
This should result in more elegant error message in case of error in qubes.xml.
2011-10-07 21:46:27 +02:00
Marek Marczykowski
98827c7020
dom0/qvm-core: output messages to stderr ( #276 )
2011-10-07 21:40:29 +02:00
Marek Marczykowski
053944470c
dom0: improve vif cleanup
...
Just remove dead devices from xenstore, there is no point in waiting for its
shutdown (which 'xl' does) as backend domain is dead.
2011-10-03 22:54:45 +02:00
Marek Marczykowski
600877b830
dom0: use default values for values not present in qubes.xml
...
Do not set them to None. This should improve compatibility with older versions of qubes.xml
2011-10-01 10:33:25 +02:00
Marek Marczykowski
f0038d2ec7
dom0: typo fix in default_fw_netvm saving
2011-10-01 02:55:22 +02:00
Marek Marczykowski
3c7f8b97cd
dom0: return datatime value in get_start_time ( #315 )
2011-10-01 02:54:18 +02:00
Marek Marczykowski
7ae0c52e6d
dom0: introduce ClockVM - timesource for dom0 ( #361 )
2011-10-01 02:54:00 +02:00
Marek Marczykowski
287da572e9
dom0+vm: introduce 'qubes-service' xenstore dir - enable/disable VM services from dom0
...
This allows control which services are started in VM by dom0. For some
situation vm_type was used, but it isn't enough - i.e. ntpd should be started
in one, selected NetVM.
2011-10-01 02:49:25 +02:00
Marek Marczykowski
aa08f555c3
dom0+vm: minor fixes in qvm-block scripts
2011-09-30 11:20:03 +02:00
Marek Marczykowski
5fc5301cee
Merge branch 'master' of ssh://git.qubes-os.org/var/lib/qubes/git/joanna/core
2011-09-30 10:46:04 +02:00
Marek Marczykowski
e3993ca5f9
dom0: qvm-block tool, new qubesutils python module ( #226 )
2011-09-29 13:56:22 +02:00
Marek Marczykowski
6b885bd361
dom0+vm: expose block devices info in xenstore ( #226 )
2011-09-29 13:56:06 +02:00
Joanna Rutkowska
59f71f634a
dom0: Fix xenstore permissions qubes_netvm_external_ip
...
We should ensure that the first expression in the permisions list
is nX, where X is the owning domain, and not rX or wX, as otherwise
we would be granting all other VMs read access to the key.
This is explained in more detail here:
http://wiki.xensource.com/xenwiki/XenBus
In practice the perms problem applied only to the qubes_netvm_external_ip key
that is exposed by each NetVM to corresponding Proxy VMs. Before this fix,
the key was readable by any VM in the system, which might not be desired in some
more advanced networking setups, such as with Tor Proxy VM.
2011-09-26 17:24:11 +02:00
Marek Marczykowski
0ce7336cad
dom0: Distinguish 'Halting','Crashed' state from simple 'Halted' ( #314 )
2011-09-13 18:39:09 +02:00
Joanna Rutkowska
f2770e2d03
dom0: Fix create_xenstore_entries in other classes to not require xid argument
2011-09-09 18:49:15 +02:00
Marek Marczykowski
2319083631
dom0: use default kernel opts when custom opts isn't set
...
This can happen after rpm upgrade.
2011-09-09 14:24:17 +02:00
Joanna Rutkowska
89d532ef11
dom0: qubes.py: do not use pci=nomsi as a default argument for passthrough VM kernels anymore
2011-09-08 14:09:03 +02:00
Marek Marczykowski
5e09af2b46
dom0: limit default swiotlb size for NetVM ( #342 )
2011-09-08 01:19:25 +02:00
Marek Marczykowski
320847de91
dom0: correctly remove appmenus for ServiceVM (if any)
2011-09-06 01:17:09 +02:00
Marek Marczykowski
77ec31d164
dom0: appmenus templates handling for StandaloneVM ( #317 )
...
StandaloneVM also needs apps.templates dir in order to qubes-appmenu-select
works. Also can be helpful for backup/restore.
2011-09-06 01:15:35 +02:00
Marek Marczykowski
c1f0296e66
dom0: automatically determine domain xid in create_xenstore_entries
2011-09-06 01:14:49 +02:00
Marek Marczykowski
f85fcc06aa
dom0: replace obsolete swiotlb=force with iommu=soft
2011-09-03 16:15:02 +02:00
Marek Marczykowski
5cb6cd2aa7
dom0: fix uses_default_kernelopts typo
2011-09-03 16:14:51 +02:00
Marek Marczykowski
58985193e7
dom0: move network-attach logic to qubes.py
...
Main reason is to remove code duplication.
Also fixes #260 and workaround (by sleep...) some race at NetVM restart
(fronted driver does not noticed vif-detach+vif-attach).
2011-09-03 16:13:14 +02:00
Marek Marczykowski
5fe147729d
dom0: copy only selected files for StandaloneVM kernel
...
Especially ignore modules dir - already included in modules.img
2011-09-03 16:04:25 +02:00
Marek Marczykowski
7f24727b2b
dom0: fix waiting for vif detach
2011-09-03 16:01:22 +02:00
Marek Marczykowski
11da1633d3
dom0: Copy default template kernel to StandaloneVM dir ( #333 )
...
Just prepare kernel for qvm-set -s <vmname> kernel none
2011-09-01 15:01:37 +02:00
Marek Marczykowski
ac917ef1d8
dom0: Set modules.img device R/W for StandaloneVM ( #333 )
2011-09-01 14:56:23 +02:00
Marek Marczykowski
577dd2b076
dom0: when cleaning up network devices, wait for actual device destroy
...
Otherwise subsequent network-attach will not be noticed by frontend driver.
2011-09-01 00:01:53 +02:00
Marek Marczykowski
be5e5a98a1
dom0: use full patch for network script
...
xl (apart from xm) doesn't prefix script with dir.
2011-08-31 22:01:08 +02:00
Marek Marczykowski
3cf1af0321
dom0: implement custom kernelopts ( #323 )
2011-08-31 20:39:26 +02:00
Marek Marczykowski
fbce32ae1f
dom0/qvm-prefs: info when kernel setting is from template
2011-08-31 18:32:37 +02:00
Rafal Wojtczuk
8ecd6134d9
firewall: call iptables-restore once per domain ( #311 )
...
qubes.py now places rules for each domain in a separate key under
/local/domain/fw_XID/qubes_iptables_domainrules/
plus the header in /local/domain/fw_XID/qubes_iptables_header.
/local/domain/fw_XID/qubes_iptables is now just a trigger.
So, if iptables-restore fails dues to e.g. error resolving a domain name
in a rules for a domain, then only this domain will not get connectivity,
others will work fine.
2011-07-29 16:50:12 +02:00
Rafal Wojtczuk
6fc358bd20
dispvm: honour current choice of template for dispvm
...
... when auto-refreshing the dispvm savefile.
While at it, also copy dispvm-prerun.sh script in qvm-clone.
2011-07-26 17:09:59 +02:00
Rafal Wojtczuk
7cfbe1c7d8
qubes.py: postpone qmmeman.close()
...
There are indications that when parent "xl" process exits, the domain is not
booted completely; and xl actions may interfere with qmemman memory balancing.
Thus, in VM.start(), we delay releasing of qmemman handle until qrexec_daemon
connects successfully.
2011-07-22 15:07:04 +02:00
Marek Marczykowski
342261ff10
dom0: Do not clone config file with template
...
Not needed any more
2011-07-21 00:49:03 +02:00
Marek Marczykowski
c9ad2314ea
dom0: variable names conflict ( #290 )
...
uuid is also name of (used here) python module...
2011-07-20 16:12:28 +02:00
Marek Marczykowski
f1153a5413
dom0: initialize vmtype in create_appmenus ( #212 )
2011-07-20 16:06:22 +02:00
Marek Marczykowski
99dfdd70c3
dom0: Hide some messages from 'xl' tool ( #265 )
2011-07-17 01:54:27 +02:00
Marek Marczykowski
182e1ccf2b
dom0: watch for updates from dom0 ( #198 )
...
Additionally synchronize clock every 6h. This is started by xdg-autostart (not
qvm-core) to have running Xorg - needed to prompt user for updates download.
2011-07-17 01:20:13 +02:00
Marek Marczykowski
a68faecc35
dom0: initialize default_kernel parameter
2011-07-15 12:24:27 +02:00
Marek Marczykowski
9f67e5de9d
dom0: Regenerate appmenus also for TemplateVM in create_appmenus()
2011-07-10 23:39:48 +02:00
Marek Marczykowski
0813f49186
dom0: Clone whitelisted-apps.list with template clone
2011-07-10 23:37:35 +02:00
Marek Marczykowski
817735fc92
dom0: Do not copy obsolete apps-template.templates dir on template clone
2011-07-10 23:36:50 +02:00
Marek Marczykowski
f6609cb1c4
dom0: minor #252 fix
2011-07-09 20:43:57 +02:00
Marek Marczykowski
7e234a4a8d
dom0: store dispid in QubesDisposableVm object and generate proper IP ( #247 )
2011-07-09 17:52:47 +02:00
Marek Marczykowski
202fb0c676
dom0: fix syntax
2011-07-09 00:36:00 +02:00
Marek Marczykowski
3e6bd65b73
Revert "[REMOVEME] Dom0: Add UGLY sleeps hoping they will temporarily prevent the race condition"
...
This reverts commit 3bd1c700f6
.
Conflicts:
dom0/qvm-core/qubes.py
2011-07-08 21:38:24 +02:00
Marek Marczykowski
3b3929b6a2
Merge branch 'master' of ssh://git.qubes-os.org/var/lib/qubes/git/joanna/core
...
Conflicts:
dom0/qvm-core/qubes.py
2011-07-08 21:37:43 +02:00
Marek Marczykowski
0de378dafc
dom0: automatically bind PCI devices to pciback at VM start ( #252 )
2011-07-05 22:10:45 +02:00
Marek Marczykowski
5f10e408e0
dom0: stores QubesVm.pcidevs as list ( #252 )
...
To easier manage pci devices attached to VM
2011-07-05 22:01:28 +02:00
Marek Marczykowski
82bc4bad0b
dom0: always set appmenus_templates_dir for QubesVm
...
If possible - to reasonable value (vm dir for UpdateableVM or template - for
template-based VM).
2011-07-05 21:26:39 +02:00
Marek Marczykowski
b9e00b2189
dom0: Include default whitelisted-appmenus.list in template ( #266 )
2011-07-05 21:20:43 +02:00
Joanna Rutkowska
3bd1c700f6
[REMOVEME] Dom0: Add UGLY sleeps hoping they will temporarily prevent the race condition
2011-07-02 22:15:43 +02:00
Joanna Rutkowska
fc31161361
Dom0: Fix calling syntax for qrexec_client for updatevm
2011-07-02 22:12:43 +02:00
Marek Marczykowski
cd7024cad1
Merge branch 'master' of ssh://git.qubes-os.org/var/lib/qubes/git/joanna/core
2011-07-02 18:49:18 +02:00