Marek Marczykowski
ed23b0d6a2
dom0/qvm-tools: output diagnostics to stderr instead of stdout ( #276 )
2011-10-10 11:23:04 +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
3876cf4070
dom0/dom0-updates: check for dom0 updates from cron ( #354 )
2011-10-07 21:28:16 +02:00
Marek Marczykowski
b3a125076b
dom0/dom0-updates: add --gui and --check-only options ( #354 )
...
Will be needed for automatically checking for updates
2011-10-07 21:25:38 +02:00
Marek Marczykowski
684578ba16
dom0/pm-utils: after suspend start qubes_core_netvm instead of NetworkManager directly
...
Actually this is run for every VM with PCI device, so it can be AppVM, not
NetVM. qubes_core_netvm will check if it is NetVM before starting
NetworkManager.
2011-10-07 21:11:08 +02:00
Marek Marczykowski
218dd2c50c
dom0/pm-utils: remove both uhci and ehci NetVM modules before sleep
2011-10-07 21:07:25 +02:00
Marek Marczykowski
d576b9855c
dom0/qvm-create: do not add PCI devs to new NetVM ( #282 )
...
This makes sense only in firstboot - so move it there.
2011-10-03 23:01:55 +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
56f3d7ba75
dom0+vm/qvm-block: convert device size to bytes
2011-10-01 10:33:18 +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
d456ec4575
dom0/qmemman: call do_balance after each domain list change notification ( #246 )
...
For unknown reason watch '@releaseDomain' is called twice: first when domain
disappeared from xenstore, second when resources (including memory) are freed.
So call do_balance after each of this event to redistribute freed memory.
2011-09-30 15:23:57 +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
64be313847
dom0: change Domain-0 name to "dom0" to match qubes tools
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
Rafal Wojtczuk
2950ee7170
Make qubes-receive-updates more defensive ( #356 )
2011-09-16 17:05:41 +02:00
Marek Marczykowski
5f702e9a8a
dom0/clock-sync: fix test type (socket vs file)
2011-09-15 14:54:35 +02:00
Marek Marczykowski
9f14be6eed
dom0: sync dom0 clock more frequent; start it from init.d script
2011-09-15 14:43:02 +02:00
Marek Marczykowski
633b21bb26
dom0: do not sync rpmdb with UpdateVM after each pkg installation
...
This doesn't make sense sice at every qvm-dom0-update we begin with sync rpmdb.
Also this allow embedding sync_rpmdb_updatevm.sh into qvm-dom0-update.
2011-09-15 13:37:34 +02:00
Marek Marczykowski
e4e661ac51
dom0: reduce watching tool to dom0 clock sync only
...
Do not watch for updates for now, it will be implemented later.
2011-09-15 13:32:06 +02:00
Marek Marczykowski
59ab2a0e91
dom0/watch-updates: get rid for pkgcount from dom0 update notify
...
This is useless information...
2011-09-15 01:09:11 +02:00
Marek Marczykowski
c6b3a13b49
dom0/watch-updates: typo fix (dom0 notify condition)
2011-09-15 01:08:02 +02:00
Marek Marczykowski
855664e6e5
dom0+vm: use qubes_download_dom0_updates.sh instead of qubes_check_for_updates.sh
...
Remove code duplication. Implemented required --check-only option to
qubes_download_dom0_updates.sh.
2011-09-15 00:18:56 +02:00
Marek Marczykowski
3dd6d654ea
dom0/qvm-dom0-update: Check if running as root at the beginning
2011-09-14 16:44:43 +02:00
Marek Marczykowski
93832b29db
Merge branch 'master' of ssh://git.qubes-os.org/var/lib/qubes/git/joanna/core
2011-09-14 16:43:23 +02:00
Marek Marczykowski
558d1ee582
dom+vm: Copy dom0 yum.conf to UpdateVM
...
At least to use dom0 'exclude' options, not VM one. Especially to not exlude
kernel and xorg updates...
2011-09-14 00:47:13 +02:00
Joanna Rutkowska
d5576ce77f
Merge branch 'master' of git.qubes-os.org:/var/lib/qubes/git/marmarek/core
2011-09-13 19:22:16 +02:00
Marek Marczykowski
0ce7336cad
dom0: Distinguish 'Halting','Crashed' state from simple 'Halted' ( #314 )
2011-09-13 18:39:09 +02:00
Marek Marczykowski
dbf8c11ad6
dom0/qvm-backup-restore: Distinguish ProxyVM from NetVM ( #345 )
2011-09-13 15:50:14 +02:00
Marek Marczykowski
5d6ac01111
dom0/qvm-backup: Don't backup internal VMs (instead of *-dvm) ( #352 )
2011-09-13 11:30:04 +02:00
Joanna Rutkowska
099e8a47a9
Merge branch 'master' of git.qubes-os.org:/var/lib/qubes/git/marmarek/core
...
Conflicts:
dom0/qvm-tools/qvm-backup-restore
2011-09-13 10:33:42 +02:00
Marek Marczykowski
813b626d27
dom0/qvm-backup: include icon only for AppVM ( #345 )
2011-09-12 16:40:17 +02:00
Marek Marczykowski
ade25b8c8d
dom0/qvm-backup: exclude dom0 from backup
2011-09-12 16:38:33 +02:00
Marek Marczykowski
029e3fc098
dom0/qvm-dom0-update: Filter yum options in dom0
...
Eg. don't pass --enablerepo to yum install.
2011-09-12 16:35:44 +02:00
Marek Marczykowski
fde8bc35fa
dom0/qvm-backup: Support for NetVMs backup ( #345 )
2011-09-12 15:25:31 +02:00
Marek Marczykowski
2107191ca9
dom0/qvm-dom0-update: do not use GUI when called from cmdline
2011-09-12 15:05:26 +02:00
Marek Marczykowski
2bbdb93594
dom0/qvm-dom0-update: replace gpk-update-viewer with yum update ( #347 )
2011-09-12 15:04:27 +02:00
Marek Marczykowski
9395ea239c
dom0: qvm-dom0-update --help ( #349 )
2011-09-12 14:57:38 +02:00
Marek Marczykowski
972ab21d5f
dom0: rename qvm-dom0-upgrade tool ( #350 )
2011-09-12 14:37:52 +02:00
Joanna Rutkowska
0863244561
dom0: qvm-backup-restore: also restore appmenus for template VMs
2011-09-12 14:28:44 +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
583720c676
dom0: qvm-dom0-upgrade: actually check if running as root only when used 'manually'
2011-09-08 14:12:56 +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
Joanna Rutkowska
b2a3515f4f
dom0: qvm-dom0-upgrade: fail when run as non-root user
2011-09-08 13:55:33 +02:00
Marek Marczykowski
f9fcd3393e
dom0: set static-max for dom0
...
To make 'xl mem-set 0 <size>' happy.
2011-09-08 01:19:59 +02:00
Marek Marczykowski
5e09af2b46
dom0: limit default swiotlb size for NetVM ( #342 )
2011-09-08 01:19:25 +02:00
Marek Marczykowski
6b4cf305d8
dom0/qvm-backup: include custom kernel of StandaloneVM
2011-09-06 01:52:48 +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
2d97c3399e
dom0/qvm-dom0-upgrade: Run yum after downloading new packages
...
yum will ask for confirmation.
2011-09-03 16:43:22 +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
07dc5d1430
dom0: detach vif at qvm-dom0-network-via-netvm down
2011-09-03 16:14:12 +02:00
Marek Marczykowski
2b26350cb2
dom0/qvm-prefs: remove message duplication
2011-09-03 16:13:35 +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
73fc87efa2
dom0: replace obsolete xencons=hvc with console=hvc0
2011-09-03 16:00:21 +02:00
Joanna Rutkowska
16a46f9a9c
Use proper dracut module and conf files...
...
... instead of the ugly and incompatible /usr/share/qubes/regenerate_initramfs.sh script
2011-09-02 16:55:39 +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
951b2b0b69
dom0: fix clock problems which caused VM hangs during boot (~#253)
...
The source of problem was clockevent_program_event returns -ETIME:
------------ kernel/time/clockevents.c:
/**
* clockevents_program_event - Reprogram the clock event device.
* @expires: absolute expiry time (monotonic clock)
*
* Returns 0 on success, -ETIME when the event is in the past.
*/
int clockevents_program_event(struct clock_event_device *dev, ktime_t
expires,
ktime_t now)
-------------
xen_vcpuop_set_next_event schedules event by getting current time
(xen_clocksource_read()) (*1) adding delta (expires-now) and programming
event with VCPUOP_set_singleshot_timer hypercall. Then xen gets current
time (*2) and in some rare cases this time is after expected timer
expiration... Even after VCPUOP_set_singleshot_timer hypercal,
xen_clocksource_read() reports time slightly in the past comparing to
xen time (reported by NOW() macro).
I think this is because "current" time is calculated different way in *1
and *2. The *1 way is controlled by tsc_mode, which is described here:
http://lxr.xensource.com/lxr/source/docs/misc/tscmode.txt . Default
tsc_mode=0 is "smart" and I think because of that can be slightly before
NOW() time. tsc_mode=2 is almost the same as NOW() macro works.
After all tsc_mode=2 was default in xen-3.4.
2011-08-31 22:08:24 +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
f5f69c904e
dom0/qvm-run: Add -p as alias for --pass_io
2011-08-31 21:01:24 +02:00
Marek Marczykowski
3cf1af0321
dom0: implement custom kernelopts ( #323 )
2011-08-31 20:39:26 +02:00
Marek Marczykowski
691545c492
dom0/qvm-prefs: support for vcpus count
2011-08-31 19:41:36 +02:00
Marek Marczykowski
fbce32ae1f
dom0/qvm-prefs: info when kernel setting is from template
2011-08-31 18:32:37 +02:00
Joanna Rutkowska
ccda3d6642
dom0: make qvm-sync-dom0-clock executable
2011-08-02 14:24:43 +02:00
Joanna Rutkowska
9c58c97571
dom0: qubes-watch-updates & qvm-dom0-upgrade: use qvm-sync-dom0-clock
2011-08-02 14:14:50 +02:00
Joanna Rutkowska
49bfe8921c
dom0: qvm-sync-dom0-clock
2011-08-02 14:12:03 +02:00
Joanna Rutkowska
708263bec4
Revert "Dom0: use kpackagekit for updates GUI"
...
This reverts commit 94c0f6c9d3
.
Kpackagekit is not so nice-behaving as gpk-update-viewer is,
e.g. it complains there are is no network connectivity, and, perhaps
as a result, doesn't display the list of avilable updates.
2011-08-02 13:01:42 +02:00
Joanna Rutkowska
94c0f6c9d3
Dom0: use kpackagekit for updates GUI
2011-08-01 16:07:53 +02:00
Joanna Rutkowska
7309cc2f04
Merge branch 'prebeta2' of git.qubes-os.org:/var/lib/qubes/git/rafal/core
2011-08-01 15:41:56 +02:00
Rafal Wojtczuk
d2301ab125
qvm-prefs: allow on the fly netvm switch ( #302 )
...
When changing netvm of a running vm, detach/attach eth0.
Some functionality of qubes_core_netvm thus is duplicated in setup_ip.
REQUIRES http://git.qubes-os.org/?p=rafal/xen.git;a=commit;h=42c72e6173586a807f8f153391e2e57352d362b1
2011-08-01 15:06:01 +02:00
Rafal Wojtczuk
f264b76a61
qvm-backup: handle standaloneVM properly
...
Do not attempt to copy apps.templates; copy apps/ instead.
2011-08-01 11:14:35 +02:00
Joanna Rutkowska
7a6ccae638
Dom0: set metadata_expiry=0 for qubes-dom0-cached repo
...
This way the list of dowloaded packages (via qvm-dom0-upgrade) will be immediately seen by yum.
2011-07-30 14:07:35 +02:00
Joanna Rutkowska
7a12cbd0e8
Dom0: restart ehci_hcd module on resume for all netvms ( #299 )
2011-07-30 11:20:11 +02:00
Joanna Rutkowska
71209b5b39
Merge branch 'prebeta2' of git.qubes-os.org:/var/lib/qubes/git/rafal/core
2011-07-30 11:01:23 +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
4ad919bf6d
Correct usage of "date -s" when syncing clock in dom0
...
Apparently, "date -s" does not like the output of "date +%s.%N".
While at it, add basic date format sanitization.
2011-07-29 12:12:15 +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
3df2e9783d
dispvm: when updating savefile on demand, present zenity progress bar
2011-07-26 16:36:59 +02:00
Marek Marczykowski
002fad72c4
dom0+vm: Polishing qvm-dom0-upgrade ( #287 )
...
Do not print error message when no package downloaded. Also some more covenient
usage when dowloading new packages (implied --resolve --nogui).
2011-07-25 13:45:36 +02:00
Joanna Rutkowska
5e95380db9
dom0: qvm-prefs: allow to change template for a VM
2011-07-24 23:24:45 +02:00
Joanna Rutkowska
2b2cae61ee
Merge branch 'prebeta2' of git.qubes-os.org:/var/lib/qubes/git/rafal/core
2011-07-24 17:20:33 +02:00
Rafal Wojtczuk
dc4d9b32f1
Add comments to policy files.
2011-07-22 16:11:03 +02:00
Rafal Wojtczuk
c23cc480b8
qrexec: use $anyvm and $dispvm symbols
2011-07-22 16:07:06 +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
Rafal Wojtczuk
9192a42b91
qmemman: when balooning, make sure that past mem-set will not steal memory
2011-07-22 13:40:21 +02:00
Rafal Wojtczuk
2fc5d190fd
qmemman: calculate dom0 maxmem properly
...
In fact, set to ALL_PHYS_MEM (and the same for other domains that do not
have static-max key, although there should not be any). Previous method
of using maxmem_kb was broken, as qmemman sets maxmem_kb to the memory target
(which I do not like btw).
2011-07-22 11:33:11 +02:00