<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://linux-kvm.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Uril</id>
	<title>KVM - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://linux-kvm.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Uril"/>
	<link rel="alternate" type="text/html" href="https://linux-kvm.org/page/Special:Contributions/Uril"/>
	<updated>2026-04-06T00:52:02Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.5</generator>
	<entry>
		<id>https://linux-kvm.org/index.php?title=Migration&amp;diff=2330</id>
		<title>Migration</title>
		<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=Migration&amp;diff=2330"/>
		<updated>2009-06-09T16:41:54Z</updated>

		<summary type="html">&lt;p&gt;Uril: replace &amp;#039;-incoming stdio&amp;#039; with &amp;#039;-incoming &amp;quot;exec:cat&amp;quot; + cleanup (mainly whitespace)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Migration=&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
KVM currently supports savevm/loadvm and offline or live migration&lt;br /&gt;
Migration commands are given when in qemu-monitor (Alt-Ctrl-2).    &lt;br /&gt;
Upon successful completion, the migrated VM continues to run on the destination host.&lt;br /&gt;
&lt;br /&gt;
==== Note ====&lt;br /&gt;
You can migrate a guest between an AMD host to an Intel host and back. Naturally, a 64-bit guest can only be migrated to a 64-bit host, but a 32-bit guest can be migrated at will.&lt;br /&gt;
&lt;br /&gt;
There are some older Intel processors which don&#039;t support NX (or XD), which may cause problems in a cluster which includes NX-supporting hosts. To disable NX for a given guest, start it with such a parameter: -cpu qemu64,-nx&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* The VM image is accessible on both source and destination hosts (located on a shared storage, e.g. using nfs).                                                                                                  &lt;br /&gt;
* It is recommended an images-directory would be found on the same path on both hosts (for migrations of a copy-on-write image -- an image created on top of a base-image using &amp;quot;qemu-image create -b ...&amp;quot;)       &lt;br /&gt;
* The src and dst hosts must be on the same subnet (keeping guest&#039;s network when tap is used).           &lt;br /&gt;
* Do not use -snapshot qemu command line option.                                                         &lt;br /&gt;
* For tcp: migration protocol                                                                            &lt;br /&gt;
* the guest on the destination must be started the same way it was started on the source.                &lt;br /&gt;
&lt;br /&gt;
== highlights / merits ==&lt;br /&gt;
* Almost unnoticeable guest down time&lt;br /&gt;
* Guest is not involved (unique to KVM Live Migration [#1 1])&lt;br /&gt;
* Capability to tunnel VM state through an external program (unique to KVM Live Migration [#1 1])&lt;br /&gt;
* ssh/gzip/bzip2/gpg/your own                                                                    &lt;br /&gt;
* Upon success guest continues to run on destination host, upon failure guest continues to run on source host (with one exception)                                                                                &lt;br /&gt;
* Short and Simple                                                                                       &lt;br /&gt;
* Easy to enhance                                                                                        &lt;br /&gt;
* Hardware independence (almost).                                                                        &lt;br /&gt;
* Support for migration of stopped (paused) VMs.                                                         &lt;br /&gt;
* Open                                                                                                   &lt;br /&gt;
&lt;br /&gt;
[[Anchor(1)]] 1  These features are unique to KVM Live Migration as far as I know. If you know of other hypervisor that support any of them please update this page or let me (Uri) know.                         &lt;br /&gt;
&lt;br /&gt;
== User Interface ==&lt;br /&gt;
The user interface is through the qemu monitor (alt-ctrl-2 on the SDL window)&lt;br /&gt;
&lt;br /&gt;
=== Management ===&lt;br /&gt;
 migrate [-d] &amp;lt;URI&amp;gt;&lt;br /&gt;
 migrate_cancel    &lt;br /&gt;
&lt;br /&gt;
The &#039;-d&#039; will let you query the status of the migration.&lt;br /&gt;
&lt;br /&gt;
With no &#039;-d&#039; the monitor prompt returns when the migration completes.&lt;br /&gt;
URI can be one of &#039;exec:&amp;lt;command&amp;gt;&#039; or tcp:&amp;lt;ip:port&amp;gt;                  &lt;br /&gt;
&lt;br /&gt;
=== Status ===&lt;br /&gt;
              &lt;br /&gt;
 info migrate &lt;br /&gt;
&lt;br /&gt;
=== Migration Parameters ===&lt;br /&gt;
 migrate_set_speed &amp;lt;speed&amp;gt;   set bandwidth control parameters (max transfer rate per second)&lt;br /&gt;
&lt;br /&gt;
== Example / HOWTO ==&lt;br /&gt;
A is the source host, B is the destination host:&lt;br /&gt;
===&#039;&#039;TCP&#039;&#039; example:===&lt;br /&gt;
1. Start the VM on B with the exact same parameters as the VM on A, in migration-listen mode:&lt;br /&gt;
 B: &amp;lt;qemu-command-line&amp;gt; -incoming tcp:0:4444 (or other PORT))&lt;br /&gt;
2. Start the migration (always on the source host):&lt;br /&gt;
 A: migrate -d tcp:B:4444 (or other PORT)&lt;br /&gt;
3. Check the status (on A only):&lt;br /&gt;
 A: (qemu) info migrate                   &lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;Offline&#039;&#039; example:===&lt;br /&gt;
1. unlimit bandwidth used for migration:&lt;br /&gt;
 A: migrate_set_speed 1g                &lt;br /&gt;
2. stop the guest:                      &lt;br /&gt;
 A: stop                                &lt;br /&gt;
3. continue with either TCP or exec migration as described above.&lt;br /&gt;
&lt;br /&gt;
== Problems / Todo ==&lt;br /&gt;
* TSC offset on the new host must be set in such a way that the guest sees a monotonically increasing TSC, otherwise the guest may hang indefinitely after migration.                                             &lt;br /&gt;
* usbdevice tablet complains after migration.                                                            &lt;br /&gt;
* handle migration completion better (especially when network problems occur).                           &lt;br /&gt;
* More informative status.                                                                               &lt;br /&gt;
* Migration does not work while CPU real-mode/protected mode are still changing.                         &lt;br /&gt;
&lt;br /&gt;
== savevm/loadvm to an external state file (using pseudo-migration) ==&lt;br /&gt;
&lt;br /&gt;
* To be supported directly by Migration Protocols, but until then...&lt;br /&gt;
* Save VM state into a compressed file                              &lt;br /&gt;
** Save                                                          &lt;br /&gt;
 stop                                                               &lt;br /&gt;
 migrate_set_speed 4095m                                            &lt;br /&gt;
 migrate &amp;quot;exec:gzip -c &amp;gt; STATEFILE.gz&amp;quot;                              &lt;br /&gt;
&lt;br /&gt;
** Load&lt;br /&gt;
 gzip -c -d STATEFILE.gz | &amp;lt;qemu-command-line&amp;gt; -incoming &amp;quot;exec: cat&amp;quot;   or&lt;br /&gt;
 &amp;lt;qemu-command-line&amp;gt; -incoming &amp;quot;exec: gzip -c -d STATEFILE.gz&amp;quot;&lt;br /&gt;
* Save VM State into an encrypted file (assumes KEY has already been generated)&lt;br /&gt;
** Save                                                                     &lt;br /&gt;
 stop                                                                          &lt;br /&gt;
 migrate_set_speed 4095m&lt;br /&gt;
 migrate &amp;quot;exec:gpg -q -e -r KEY -o STATFILE.gpg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Load VM state from an encrypted file&lt;br /&gt;
 gpg -q -d -r KEY STATEFILE.gpg | &amp;lt;qemu-command-line&amp;gt; -incoming &amp;quot;exec:cat&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== more exec: options ==&lt;br /&gt;
&lt;br /&gt;
* Send encrypted VM state from host A to host B (Note: ssh is probably better, this is just for show)&lt;br /&gt;
&lt;br /&gt;
** on host A&lt;br /&gt;
 migrate &amp;quot;exec:gpg -q -e -r KEY | nc B 4444&amp;quot;&lt;br /&gt;
&lt;br /&gt;
** on host B&lt;br /&gt;
 nc -l 4444 | gpg -q -d -r KEY | &amp;lt;qemu-command-line&amp;gt; -incoming &amp;quot;exec:cat&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Algorithm (the short version) ==&lt;br /&gt;
1. Setup&lt;br /&gt;
* Start guest on destination, connect, enable dirty page logging and more&lt;br /&gt;
2. Transfer Memory&lt;br /&gt;
* Guest continues to run&lt;br /&gt;
* Bandwidth limitation (controlled by the user)&lt;br /&gt;
* First transfer the whole memory&lt;br /&gt;
* Iteratively transfer all dirty pages (pages that were written to by the guest).&lt;br /&gt;
3. Stop the guest&lt;br /&gt;
* And sync VM image(s) (guest&#039;s hard drives).&lt;br /&gt;
4. Transfer State&lt;br /&gt;
* As fast as possible (no bandwidth limitation)&lt;br /&gt;
* All VM devices&#039; state and dirty pages yet to be transferred&lt;br /&gt;
5. Continue the guest&lt;br /&gt;
* On destination upon success&lt;br /&gt;
** Broadcast &amp;quot;I&#039;m over here&amp;quot; Ethernet packet to announce new location of NIC(s).&lt;br /&gt;
* On source upon failure (with one exception).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Instructions for kvm-13 and below: [[MigrationQemu0.8.2]].&lt;/div&gt;</summary>
		<author><name>Uril</name></author>
	</entry>
	<entry>
		<id>https://linux-kvm.org/index.php?title=KVM-Autotest/TODO&amp;diff=2186</id>
		<title>KVM-Autotest/TODO</title>
		<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=KVM-Autotest/TODO&amp;diff=2186"/>
		<updated>2009-03-24T14:08:16Z</updated>

		<summary type="html">&lt;p&gt;Uril: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= KVM-Autotest To-Do list =&lt;br /&gt;
&lt;br /&gt;
== Framework ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;s&amp;gt;Verify MD5 sum of ISO image before starting a VM&amp;lt;/s&amp;gt; [DONE]&lt;br /&gt;
* &amp;lt;s&amp;gt;Enable multiple user controlled port redirections (with -redir)&amp;lt;/s&amp;gt; [DONE]&lt;br /&gt;
* &amp;lt;s&amp;gt;Implement functions to translate VM ports and addresses (e.g. VM.get_port(), VM.get_address())&amp;lt;/s&amp;gt; [DONE]&lt;br /&gt;
* Support TAP networking with a user specified MAC address for each NIC&lt;br /&gt;
* &amp;lt;s&amp;gt;Add &amp;lt;tt&amp;gt;display&amp;lt;/tt&amp;gt; parameter to enable user control of the QEMU display method (VNC/SDL/nographic)&amp;lt;/s&amp;gt; [DONE]&lt;br /&gt;
* Implement VM.clone() -- to be used by tests that need to add new VMs by themselves&lt;br /&gt;
* kickstart installation support&lt;br /&gt;
* kvm-autotest auto resolve qemu-kvm backtraces&lt;br /&gt;
* Make sure ppm_utils.image_crop() handles bad input properly&lt;br /&gt;
* Enable tests to modify a VM&#039;s params (while it&#039;s down)&lt;br /&gt;
* Make tests shorter by using small utility functions that fail a test and display a failure message&lt;br /&gt;
* Improve the stepmaker data naming system (e.g. name PPM files according to their MD5 sums)&lt;br /&gt;
* Redirect guest monitor to serial and capture guest error messages written to console. Log the errors and also scan for specific problems (e.g. oops)&lt;br /&gt;
* Support an &amp;quot;expected to fail&amp;quot; param (at least in our html report)&lt;br /&gt;
* Log a gdb-backtrace for tests (executables) which generate a core dump file.&lt;br /&gt;
* Enable &amp;quot;guest-load&amp;quot; for a VMs before/while tests are running (e.g. migration of a VM, while a movie is playing on it)&lt;br /&gt;
* Add support for kvm-trace.&lt;br /&gt;
* Fail upon indentation/white-space problems in the configuration file&lt;br /&gt;
* Add a way to shutdown the VMs when the whole job completes (compared to doing nothing or shuting-down after every test).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
* Find out how to use Autotest&#039;s netperf test with guests&lt;br /&gt;
* If needed, write a netperf/iperf test&lt;br /&gt;
* Write a time drift test (pic/apic/pm_timer)&lt;br /&gt;
* Write a test which adds VMs until one of them becomes unresponsive, and records the maximum number of VMs successfully started.&lt;br /&gt;
* cpu hotplug - Glauber&lt;br /&gt;
* pci net hot plug -Glauber&lt;br /&gt;
* pci block hot plug -Glauber&lt;br /&gt;
* s3 hibernation - Gleb&lt;br /&gt;
* tap networking&lt;br /&gt;
* pxe boot * net types&lt;br /&gt;
* qcow1, qcow2, vmdk, vhd&lt;br /&gt;
* qcow2 internal snapshots&lt;br /&gt;
* &amp;lt;s&amp;gt;Run autotest tests inside Linux guest&amp;lt;/s&amp;gt; [ALREADY DONE]&lt;br /&gt;
* Further migration&lt;br /&gt;
* Multiple nics&lt;br /&gt;
* ksm&lt;br /&gt;
* -vga stg, nographics&lt;br /&gt;
* kvm unit-tests&lt;br /&gt;
* Add unattended guest installations (using kickstart or answer-files)&lt;br /&gt;
* kvm_install -- keep src and build directories under &amp;lt;kvm_autotest_root&amp;gt; instead of under kvm_runtest_2.&lt;br /&gt;
* Stable tsc test - http://people.redhat.com/mingo/time-warp-test/MINI-HOWTO&lt;br /&gt;
* Guest installation with pv-block device/driver (for both windows and Linux)&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&lt;br /&gt;
* Goal -- get accepted into upstream autotest&lt;br /&gt;
* Add docstrings to all functions that still lack them, including the ones in stepmaker.py, stepeditor.py and kvm_tests.py&lt;br /&gt;
* Add module headers and docstrings&lt;br /&gt;
* Document the setupssh.iso and setuptelnet.iso creation procedures in the wiki&lt;br /&gt;
* Rename all Windows ISOs currently used to their official MSDN names&lt;br /&gt;
* Move Windows-setup iso images into the windows directory.&lt;br /&gt;
* Share all the stepmaker data somehow so other people can debug stepfiles&lt;br /&gt;
* Fill the sections &amp;quot;Working with step files&amp;quot; and &amp;quot;Step file creation tips&amp;quot; in the wiki&lt;br /&gt;
* Document the kvm_install test in the &amp;quot;Tests&amp;quot; section of the wiki&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bugs ==&lt;br /&gt;
&lt;br /&gt;
None so far?&lt;/div&gt;</summary>
		<author><name>Uril</name></author>
	</entry>
	<entry>
		<id>https://linux-kvm.org/index.php?title=RunningKVM&amp;diff=2181</id>
		<title>RunningKVM</title>
		<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=RunningKVM&amp;diff=2181"/>
		<updated>2009-03-24T12:46:15Z</updated>

		<summary type="html">&lt;p&gt;Uril: Use qemu-kvm when using a kvm package on RHEL or similar&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
You will need (see download section):&lt;br /&gt;
&lt;br /&gt;
* kvm-&#039;&#039;release&#039;&#039;.tar.gz&lt;br /&gt;
* A VT capable Intel processor, or an SVM capable AMD processor&lt;br /&gt;
* qemu prerequisites:&lt;br /&gt;
** `zlib` libraries and headers&lt;br /&gt;
** `SDL` libraries and headers&lt;br /&gt;
** `alsa` libraries and headers (optional alsa support: disabled by default but can be enabled with --enable-alsa)&lt;br /&gt;
** `gnutls` libraries and headers (optional VNC TLS support: enabled by default but can be disabled with --disable-vnc-tls)&lt;br /&gt;
** kernel headers (on Fedora, the kernel-devel package)&lt;br /&gt;
&lt;br /&gt;
On a debian etch system you can install the prerequisites with:&lt;br /&gt;
  apt-get install gcc libsdl1.2-dev zlib1g-dev libasound2-dev linux-kernel-headers pkg-config libgnutls-dev&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; When building from git, you also need gawk.&lt;br /&gt;
&lt;br /&gt;
Please report problems (and successes) to the [[Lists,_IRC| mailing list]].&lt;br /&gt;
&lt;br /&gt;
== Unpacking and configuring kvm components ==&lt;br /&gt;
&lt;br /&gt;
You may wish to take a look at the [&amp;quot;Kernel-optimizations&amp;quot;] page.&lt;br /&gt;
There exists a [attachment:kvm-26-alt-grab.diff.gz patch] which will change the SDL keygrab combination from ctrl-alt to ctrl-alt-shift.  It was written primarily to deal with the heavy use of ctrl-alt-delete in NT-based VMs.&lt;br /&gt;
&lt;br /&gt;
If you are using a patched kernel (e.g. a recent -mm kernel or the kvm git tree), configure the kernel normally, boot into it, and:&lt;br /&gt;
&lt;br /&gt;
 tar xzf kvm-release.tar.gz&lt;br /&gt;
 cd kvm-release&lt;br /&gt;
 ./configure --prefix=/usr/local/kvm --with-patched-kernel&lt;br /&gt;
 make&lt;br /&gt;
 sudo make install&lt;br /&gt;
 sudo /sbin/modprobe kvm-intel&lt;br /&gt;
 # or: sudo /sbin/modprobe kvm-amd&lt;br /&gt;
&lt;br /&gt;
If you&#039;re &#039;&#039;not&#039;&#039; running a patched kernel:&lt;br /&gt;
&lt;br /&gt;
 tar xzf kvm-release.tar.gz &lt;br /&gt;
 cd kvm-release &lt;br /&gt;
 ./configure --prefix=/usr/local/kvm &lt;br /&gt;
 make &lt;br /&gt;
 sudo make install &lt;br /&gt;
 sudo /sbin/modprobe kvm-intel &lt;br /&gt;
 # or: sudo /sbin/modprobe kvm-amd&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; if sound doesn&#039;t play in the guest vm you can add --audio-drv-list=&amp;quot;alsa oss&amp;quot; to ./configure as explained in http://www.linux-kvm.com/content/sound-problem-solved&lt;br /&gt;
&lt;br /&gt;
== Creating a disk image for the guest ==&lt;br /&gt;
 /usr/local/kvm/bin/qemu-img create -f qcow vdisk.img 10G &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installing a guest operating system ==&lt;br /&gt;
&lt;br /&gt;
 sudo /usr/local/kvm/bin/qemu-system-x86_64 -hda vdisk.img -cdrom /path/to/boot-media.iso \ &lt;br /&gt;
    -boot d  -m 384&lt;br /&gt;
&lt;br /&gt;
(kvm doesn&#039;t make a distinction between i386 and x86_64 so even in i386 you should use `qemu-system-x86_64`)[[BR]]  &lt;br /&gt;
&lt;br /&gt;
If you&#039;re installing Windows, forcing your emulated machine to not have ACPI support by using -no-acpi could result in much faster installation and performance while running.  See [&amp;quot;Windows ACPI Workaround&amp;quot;] for details.&lt;br /&gt;
&lt;br /&gt;
If you have less than 1GB of memory don&#039;t use the -m 384 flag (which allocates 384 MB of RAM for the guest). For computers with 512MB of RAM it&#039;s safe to use -m 192, or even -m 128 (the default)&lt;br /&gt;
&lt;br /&gt;
== Running the newly-installed guest ==&lt;br /&gt;
 sudo /usr/local/kvm/bin/qemu-system-x86_64 vdisk.img -m 384&lt;br /&gt;
&lt;br /&gt;
or a slightly more complicated example, where it is assumed that bridged networking is available on tap0; see [&amp;quot;Kernel-optimizations&amp;quot;] for some setup hints:&lt;br /&gt;
&lt;br /&gt;
 /usr/local/kvm/bin/qemu-system-x86_64 -hda xp-curr.img -m 512 -soundhw es1370 -no-acpi -snapshot -localtime -boot c -usb -usbdevice tablet -net nic,vlan=0,macaddr=00:00:10:52:37:48 -net tap,vlan=0,ifname=tap0,script=no&lt;br /&gt;
&lt;br /&gt;
(kvm doesn&#039;t make a distinction between i386 and x86_64 so even in i386 you should use `qemu-system-x86_64`)&lt;br /&gt;
&lt;br /&gt;
If you&#039;re on Debian Etch, substitute `kvm` for `qemu-system-x86_64` (thanks to fromport, soren and mael_). See also the entries under the label &amp;quot;Ubuntu&amp;quot; on the [[HOWTO]] page.&lt;br /&gt;
qemu-system-x86_64`&lt;br /&gt;
&lt;br /&gt;
If you&#039;re on Fedora/RHEL/CentOS (and installed a kvm package and not built kvm yourself from source) then substitute &#039;&#039;&#039;qemu-kvm&#039;&#039;&#039; for &#039;&#039;&#039;qemu-system-x86_64&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Uril</name></author>
	</entry>
	<entry>
		<id>https://linux-kvm.org/index.php?title=KVM-Autotest/TODO&amp;diff=2179</id>
		<title>KVM-Autotest/TODO</title>
		<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=KVM-Autotest/TODO&amp;diff=2179"/>
		<updated>2009-03-24T07:46:20Z</updated>

		<summary type="html">&lt;p&gt;Uril: guest-installation with pv-block test&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= KVM-Autotest To-Do list =&lt;br /&gt;
&lt;br /&gt;
== Framework ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;s&amp;gt;Verify MD5 sum of ISO image before starting a VM&amp;lt;/s&amp;gt; [DONE]&lt;br /&gt;
* &amp;lt;s&amp;gt;Enable multiple user controlled port redirections (with -redir)&amp;lt;/s&amp;gt; [DONE]&lt;br /&gt;
* &amp;lt;s&amp;gt;Implement functions to translate VM ports and addresses (e.g. VM.get_port(), VM.get_address())&amp;lt;/s&amp;gt; [DONE]&lt;br /&gt;
* Support TAP networking with a user specified MAC address for each NIC&lt;br /&gt;
* &amp;lt;s&amp;gt;Add &amp;lt;tt&amp;gt;display&amp;lt;/tt&amp;gt; parameter to enable user control of the QEMU display method (VNC/SDL/nographic)&amp;lt;/s&amp;gt; [DONE]&lt;br /&gt;
* Implement VM.clone() -- to be used by tests that need to add new VMs by themselves&lt;br /&gt;
* kickstart installation support&lt;br /&gt;
* kvm-autotest auto resolve qemu-kvm backtraces&lt;br /&gt;
* Make sure ppm_utils.image_crop() handles bad input properly&lt;br /&gt;
* Enable tests to modify a VM&#039;s params (while it&#039;s down)&lt;br /&gt;
* Make tests shorter by using small utility functions that fail a test and display a failure message&lt;br /&gt;
* Improve the stepmaker data naming system (e.g. name PPM files according to their MD5 sums)&lt;br /&gt;
* Redirect guest monitor to serial and capture guest error messages written to console&lt;br /&gt;
* Support an &amp;quot;expected to fail&amp;quot; param (at least in our html report)&lt;br /&gt;
* Log a gdb-backtrace for tests (executables) which generate a core dump file.&lt;br /&gt;
* Enable &amp;quot;guest-load&amp;quot; for a VMs before/while tests are running (e.g. migration of a VM, while a movie is playing on it)&lt;br /&gt;
* Add support for kvm-trace.&lt;br /&gt;
* Ignore, Warn, or even fail, upon indentation/white-space problems in the configuration file&lt;br /&gt;
* Add a way to shutdown the VMs when the whole job completes (compared to doing nothing or shuting-down after every test).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
* Find out how to use Autotest&#039;s netperf test with guests&lt;br /&gt;
* If needed, write a netperf/iperf test&lt;br /&gt;
* Write a time drift test&lt;br /&gt;
* Write a test which adds VMs until one of them becomes unresponsive, and records the maximum number of VMs successfully started.&lt;br /&gt;
* cpu hotplug - Glauber&lt;br /&gt;
* pci net hot plug -Glauber&lt;br /&gt;
* pci block hot plug -Glauber&lt;br /&gt;
* s3 hibernation - Gleb&lt;br /&gt;
* tap networking&lt;br /&gt;
* pxe boot * net types&lt;br /&gt;
* qcow1, qcow2, vmdk, vhd&lt;br /&gt;
* qcow2 internal snapshots&lt;br /&gt;
* &amp;lt;s&amp;gt;Run autotest tests inside Linux guest&amp;lt;/s&amp;gt; [ALREADY DONE]&lt;br /&gt;
* Further migration&lt;br /&gt;
* Multiple nics&lt;br /&gt;
* ksm&lt;br /&gt;
* -vga stg, nographics&lt;br /&gt;
* kvm unit-tests&lt;br /&gt;
* Add unattended guest installations (using kickstart or answer-files)&lt;br /&gt;
* kvm_install -- keep src and build directories under &amp;lt;kvm_autotest_root&amp;gt; instead of under kvm_runtest_2.&lt;br /&gt;
* time drift test (pic/apic/pm_timer)&lt;br /&gt;
* Stable tsc test - http://people.redhat.com/mingo/time-warp-test/MINI-HOWTO&lt;br /&gt;
* Guest installation with pv-block device/driver (for both windows and Linux)&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&lt;br /&gt;
* Goal -- get accepted into upstream autotest&lt;br /&gt;
* Add docstrings to all functions that still lack them, including the ones in stepmaker.py, stepeditor.py and kvm_tests.py&lt;br /&gt;
* Add module headers and docstrings&lt;br /&gt;
* Document the setupssh.iso and setuptelnet.iso creation procedures in the wiki&lt;br /&gt;
* Rename all Windows ISOs currently used to their official MSDN names&lt;br /&gt;
* Move Windows-setup iso images into the windows directory.&lt;br /&gt;
* Share all the stepmaker data somehow so other people can debug stepfiles&lt;br /&gt;
* Fill the sections &amp;quot;Working with step files&amp;quot; and &amp;quot;Step file creation tips&amp;quot; in the wiki&lt;br /&gt;
* Document the kvm_install test in the &amp;quot;Tests&amp;quot; section of the wiki&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bugs ==&lt;br /&gt;
&lt;br /&gt;
None so far?&lt;/div&gt;</summary>
		<author><name>Uril</name></author>
	</entry>
	<entry>
		<id>https://linux-kvm.org/index.php?title=KVM-Autotest/TODO&amp;diff=2173</id>
		<title>KVM-Autotest/TODO</title>
		<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=KVM-Autotest/TODO&amp;diff=2173"/>
		<updated>2009-03-23T14:46:00Z</updated>

		<summary type="html">&lt;p&gt;Uril: infrastructure: config-file-white-space-issue and job-postprocess-for-shutdown-VMs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= KVM-Autotest To-Do list =&lt;br /&gt;
&lt;br /&gt;
== Framework ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;s&amp;gt;Verify MD5 sum of ISO image before starting a VM&amp;lt;/s&amp;gt; [DONE]&lt;br /&gt;
* &amp;lt;s&amp;gt;Enable multiple user controlled port redirections (with -redir)&amp;lt;/s&amp;gt; [DONE]&lt;br /&gt;
* &amp;lt;s&amp;gt;Implement functions to translate VM ports and addresses (e.g. VM.get_port(), VM.get_address())&amp;lt;/s&amp;gt; [DONE]&lt;br /&gt;
* Support TAP networking with a user specified MAC address for each NIC&lt;br /&gt;
* &amp;lt;s&amp;gt;Add &amp;lt;tt&amp;gt;display&amp;lt;/tt&amp;gt; parameter to enable user control of the QEMU display method (VNC/SDL/nographic)&amp;lt;/s&amp;gt; [DONE]&lt;br /&gt;
* Implement VM.clone() -- to be used by tests that need to add new VMs by themselves&lt;br /&gt;
* kickstart installation support&lt;br /&gt;
* kvm-autotest auto resolve qemu-kvm backtraces&lt;br /&gt;
* Make sure ppm_utils.image_crop() handles bad input properly&lt;br /&gt;
* Enable tests to modify a VM&#039;s params (while it&#039;s down)&lt;br /&gt;
* Make tests shorter by using small utility functions that fail a test and display a failure message&lt;br /&gt;
* Improve the stepmaker data naming system (e.g. name PPM files according to their MD5 sums)&lt;br /&gt;
* Redirect guest monitor to serial and capture guest error messages written to console&lt;br /&gt;
* Support an &amp;quot;expected to fail&amp;quot; param (at least in our html report)&lt;br /&gt;
* Log a gdb-backtrace for tests (executables) which generate a core dump file.&lt;br /&gt;
* Enable &amp;quot;guest-load&amp;quot; for a VMs before/while tests are running (e.g. migration of a VM, while a movie is playing on it)&lt;br /&gt;
* Add support for kvm-trace.&lt;br /&gt;
* Ignore, Warn, or even fail, upon indentation/white-space problems in the configuration file&lt;br /&gt;
* Add a way to shutdown the VMs when the whole job completes (compared to doing nothing or shuting-down after every test).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
* Find out how to use Autotest&#039;s netperf test with guests&lt;br /&gt;
* If needed, write a netperf/iperf test&lt;br /&gt;
* Write a time drift test&lt;br /&gt;
* Write a test which adds VMs until one of them becomes unresponsive, and records the maximum number of VMs successfully started.&lt;br /&gt;
* cpu hotplug - Glauber&lt;br /&gt;
* pci net hot plug -Glauber&lt;br /&gt;
* pci block hot plug -Glauber&lt;br /&gt;
* s3 hibernation - Gleb&lt;br /&gt;
* tap networking&lt;br /&gt;
* pxe boot * net types&lt;br /&gt;
* qcow1, qcow2, vmdk, vhd&lt;br /&gt;
* qcow2 internal snapshots&lt;br /&gt;
* &amp;lt;s&amp;gt;Run autotest tests inside Linux guest&amp;lt;/s&amp;gt; [ALREADY DONE]&lt;br /&gt;
* Further migration&lt;br /&gt;
* Multiple nics&lt;br /&gt;
* ksm&lt;br /&gt;
* -vga stg, nographics&lt;br /&gt;
* kvm unit-tests&lt;br /&gt;
* Add unattended guest installations (using kickstart or answer-files)&lt;br /&gt;
* kvm_install -- keep src and build directories under &amp;lt;kvm_autotest_root&amp;gt; instead of under kvm_runtest_2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&lt;br /&gt;
* Goal -- get accepted into upstream autotest&lt;br /&gt;
* Add docstrings to all functions that still lack them, including the ones in stepmaker.py, stepeditor.py and kvm_tests.py&lt;br /&gt;
* Add module headers and docstrings&lt;br /&gt;
* Document the setupssh.iso and setuptelnet.iso creation procedures in the wiki&lt;br /&gt;
* Rename all Windows ISOs currently used to their official MSDN names&lt;br /&gt;
* Move Windows-setup iso images into the windows directory.&lt;br /&gt;
* Share all the stepmaker data somehow so other people can debug stepfiles&lt;br /&gt;
* Fill the sections &amp;quot;Working with step files&amp;quot; and &amp;quot;Step file creation tips&amp;quot; in the wiki&lt;br /&gt;
* Document the kvm_install test in the &amp;quot;Tests&amp;quot; section of the wiki&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bugs ==&lt;br /&gt;
&lt;br /&gt;
None so far?&lt;/div&gt;</summary>
		<author><name>Uril</name></author>
	</entry>
	<entry>
		<id>https://linux-kvm.org/index.php?title=KVM-Autotest/TODO&amp;diff=2170</id>
		<title>KVM-Autotest/TODO</title>
		<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=KVM-Autotest/TODO&amp;diff=2170"/>
		<updated>2009-03-22T16:48:33Z</updated>

		<summary type="html">&lt;p&gt;Uril: kvm_install: keep src and build directories under &amp;lt;kvm_autotest_root&amp;gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= KVM-Autotest To-Do list =&lt;br /&gt;
&lt;br /&gt;
== Framework ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;s&amp;gt;Verify MD5 sum of ISO image before starting a VM&amp;lt;/s&amp;gt; [DONE]&lt;br /&gt;
* &amp;lt;s&amp;gt;Enable multiple user controlled port redirections (with -redir)&amp;lt;/s&amp;gt; [DONE]&lt;br /&gt;
* &amp;lt;s&amp;gt;Implement functions to translate VM ports and addresses (e.g. VM.get_port(), VM.get_address())&amp;lt;/s&amp;gt; [DONE]&lt;br /&gt;
* Support TAP networking with a user specified MAC address for each NIC&lt;br /&gt;
* &amp;lt;s&amp;gt;Add &amp;lt;tt&amp;gt;display&amp;lt;/tt&amp;gt; parameter to enable user control of the QEMU display method (VNC/SDL/nographic)&amp;lt;/s&amp;gt; [DONE]&lt;br /&gt;
* Implement VM.clone() -- to be used by tests that need to add new VMs by themselves&lt;br /&gt;
* kickstart installation support&lt;br /&gt;
* kvm-autotest auto resolve qemu-kvm backtraces&lt;br /&gt;
* Make sure ppm_utils.image_crop() handles bad input properly&lt;br /&gt;
* Enable tests to modify a VM&#039;s params (while it&#039;s down)&lt;br /&gt;
* Make tests shorter by using small utility functions that fail a test and display a failure message&lt;br /&gt;
* Improve the stepmaker data naming system (e.g. name PPM files according to their MD5 sums)&lt;br /&gt;
* Redirect guest monitor to serial and capture guest error messages written to console&lt;br /&gt;
* Support an &amp;quot;expected to fail&amp;quot; param (at least in our html report)&lt;br /&gt;
* Log a gdb-backtrace for tests (executables) which generate a core dump file.&lt;br /&gt;
* Enable &amp;quot;guest-load&amp;quot; for a VMs before/while tests are running (e.g. migration of a VM, while a movie is playing on it)&lt;br /&gt;
* Add support for kvm-trace.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
* Find out how to use Autotest&#039;s netperf test with guests&lt;br /&gt;
* If needed, write a netperf/iperf test&lt;br /&gt;
* Write a time drift test&lt;br /&gt;
* Write a test which adds VMs until one of them becomes unresponsive, and records the maximum number of VMs successfully started.&lt;br /&gt;
* cpu hotplug - Glauber&lt;br /&gt;
* pci net hot plug -Glauber&lt;br /&gt;
* pci block hot plug -Glauber&lt;br /&gt;
* s3 hibernation - Gleb&lt;br /&gt;
* tap networking&lt;br /&gt;
* pxe boot * net types&lt;br /&gt;
* qcow1, qcow2, vmdk, vhd&lt;br /&gt;
* qcow2 internal snapshots&lt;br /&gt;
* &amp;lt;s&amp;gt;Run autotest tests inside Linux guest&amp;lt;/s&amp;gt; [ALREADY DONE]&lt;br /&gt;
* Further migration&lt;br /&gt;
* Multiple nics&lt;br /&gt;
* ksm&lt;br /&gt;
* -vga stg, nographics&lt;br /&gt;
* kvm unit-tests&lt;br /&gt;
* Add unattended guest installations (using kickstart or answer-files)&lt;br /&gt;
* kvm_install -- keep src and build directories under &amp;lt;kvm_autotest_root&amp;gt; instead of under kvm_runtest_2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&lt;br /&gt;
* Goal -- get accepted into upstream autotest&lt;br /&gt;
* Add docstrings to all functions that still lack them, including the ones in stepmaker.py, stepeditor.py and kvm_tests.py&lt;br /&gt;
* Add module headers and docstrings&lt;br /&gt;
* Document the setupssh.iso and setuptelnet.iso creation procedures in the wiki&lt;br /&gt;
* Rename all Windows ISOs currently used to their official MSDN names&lt;br /&gt;
* Move Windows-setup iso images into the windows directory.&lt;br /&gt;
* Share all the stepmaker data somehow so other people can debug stepfiles&lt;br /&gt;
* Fill the sections &amp;quot;Working with step files&amp;quot; and &amp;quot;Step file creation tips&amp;quot; in the wiki&lt;br /&gt;
* Document the kvm_install test in the &amp;quot;Tests&amp;quot; section of the wiki&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bugs ==&lt;br /&gt;
&lt;br /&gt;
None so far?&lt;/div&gt;</summary>
		<author><name>Uril</name></author>
	</entry>
	<entry>
		<id>https://linux-kvm.org/index.php?title=KVM-Autotest/TODO&amp;diff=2169</id>
		<title>KVM-Autotest/TODO</title>
		<link rel="alternate" type="text/html" href="https://linux-kvm.org/index.php?title=KVM-Autotest/TODO&amp;diff=2169"/>
		<updated>2009-03-22T16:38:33Z</updated>

		<summary type="html">&lt;p&gt;Uril: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= KVM-Autotest To-Do list =&lt;br /&gt;
&lt;br /&gt;
== Framework ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;s&amp;gt;Verify MD5 sum of ISO image before starting a VM&amp;lt;/s&amp;gt; [DONE]&lt;br /&gt;
* &amp;lt;s&amp;gt;Enable multiple user controlled port redirections (with -redir)&amp;lt;/s&amp;gt; [DONE]&lt;br /&gt;
* &amp;lt;s&amp;gt;Implement functions to translate VM ports and addresses (e.g. VM.get_port(), VM.get_address())&amp;lt;/s&amp;gt; [DONE]&lt;br /&gt;
* Support TAP networking with a user specified MAC address for each NIC&lt;br /&gt;
* &amp;lt;s&amp;gt;Add &amp;lt;tt&amp;gt;display&amp;lt;/tt&amp;gt; parameter to enable user control of the QEMU display method (VNC/SDL/nographic)&amp;lt;/s&amp;gt; [DONE]&lt;br /&gt;
* Implement VM.clone() -- to be used by tests that need to add new VMs by themselves&lt;br /&gt;
* kickstart installation support&lt;br /&gt;
* kvm-autotest auto resolve qemu-kvm backtraces&lt;br /&gt;
* Make sure ppm_utils.image_crop() handles bad input properly&lt;br /&gt;
* Enable tests to modify a VM&#039;s params (while it&#039;s down)&lt;br /&gt;
* Make tests shorter by using small utility functions that fail a test and display a failure message&lt;br /&gt;
* Improve the stepmaker data naming system (e.g. name PPM files according to their MD5 sums)&lt;br /&gt;
* Redirect guest monitor to serial and capture guest error messages written to console&lt;br /&gt;
* Support an &amp;quot;expected to fail&amp;quot; param (at least in our html report)&lt;br /&gt;
* Log a gdb-backtrace for tests (executables) which generate a core dump file.&lt;br /&gt;
* Enable &amp;quot;guest-load&amp;quot; for a VMs before/while tests are running (e.g. migration of a VM, while a movie is playing on it)&lt;br /&gt;
* Add support for kvm-trace.&lt;br /&gt;
&lt;br /&gt;
== Tests ==&lt;br /&gt;
&lt;br /&gt;
* Find out how to use Autotest&#039;s netperf test with guests&lt;br /&gt;
* If needed, write a netperf/iperf test&lt;br /&gt;
* Write a time drift test&lt;br /&gt;
* Write a test which adds VMs until one of them becomes unresponsive, and records the maximum number of VMs successfully started.&lt;br /&gt;
* cpu hotplug - Glauber&lt;br /&gt;
* pci net hot plug -Glauber&lt;br /&gt;
* pci block hot plug -Glauber&lt;br /&gt;
* s3 hibernation - Gleb&lt;br /&gt;
* tap networking&lt;br /&gt;
* pxe boot * net types&lt;br /&gt;
* qcow1, qcow2, vmdk, vhd&lt;br /&gt;
* qcow2 internal snapshots&lt;br /&gt;
* &amp;lt;s&amp;gt;Run autotest tests inside Linux guest&amp;lt;/s&amp;gt; [ALREADY DONE]&lt;br /&gt;
* Further migration&lt;br /&gt;
* Multiple nics&lt;br /&gt;
* ksm&lt;br /&gt;
* -vga stg, nographics&lt;br /&gt;
* kvm unit-tests&lt;br /&gt;
* Add unattended guest installations (using kickstart or answer-files)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&lt;br /&gt;
* Goal -- get accepted into upstream autotest&lt;br /&gt;
* Add docstrings to all functions that still lack them, including the ones in stepmaker.py, stepeditor.py and kvm_tests.py&lt;br /&gt;
* Add module headers and docstrings&lt;br /&gt;
* Document the setupssh.iso and setuptelnet.iso creation procedures in the wiki&lt;br /&gt;
* Rename all Windows ISOs currently used to their official MSDN names&lt;br /&gt;
* Move Windows-setup iso images into the windows directory.&lt;br /&gt;
* Share all the stepmaker data somehow so other people can debug stepfiles&lt;br /&gt;
* Fill the sections &amp;quot;Working with step files&amp;quot; and &amp;quot;Step file creation tips&amp;quot; in the wiki&lt;br /&gt;
* Document the kvm_install test in the &amp;quot;Tests&amp;quot; section of the wiki&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bugs ==&lt;br /&gt;
&lt;br /&gt;
None so far?&lt;/div&gt;</summary>
		<author><name>Uril</name></author>
	</entry>
</feed>