<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bwlp/qemu.git/python/qemu/machine, branch spice_video_codecs</title>
<subtitle>Experimental fork of QEMU with video encoding patches</subtitle>
<id>https://git.openslx.org/bwlp/qemu.git/atom/python/qemu/machine?h=spice_video_codecs</id>
<link rel='self' href='https://git.openslx.org/bwlp/qemu.git/atom/python/qemu/machine?h=spice_video_codecs'/>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/'/>
<updated>2022-06-08T18:38:47+00:00</updated>
<entry>
<title>Fix 'writeable' typos</title>
<updated>2022-06-08T18:38:47+00:00</updated>
<author>
<name>Peter Maydell</name>
</author>
<published>2022-06-08T18:38:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=9323e79f10e5f5d8fffc3b307776173ca11faeae'/>
<id>urn:sha1:9323e79f10e5f5d8fffc3b307776173ca11faeae</id>
<content type='text'>
We have about 30 instances of the typo/variant spelling 'writeable',
and over 500 of the more common 'writable'.  Standardize on the
latter.

Change produced with:

  sed -i -e 's/\([Ww][Rr][Ii][Tt]\)[Ee]\([Aa][Bb][Ll][Ee]\)/\1\2/g' $(git grep -il writeable)

and then hand-undoing the instance in linux-headers/linux/kvm.h.

Most of these changes are in comments or documentation; the
exceptions are:
 * a local variable in accel/hvf/hvf-accel-ops.c
 * a local variable in accel/kvm/kvm-all.c
 * the PMCR_WRITABLE_MASK macro in target/arm/internals.h
 * the EPT_VIOLATION_GPA_WRITABLE macro in target/i386/hvf/vmcs.h
   (which is never used anywhere)
 * the AR_TYPE_WRITABLE_MASK macro in target/i386/hvf/vmx.h
   (which is never used anywhere)

Signed-off-by: Peter Maydell &lt;peter.maydell@linaro.org&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;f4bug@amsat.org&gt;
Reviewed-by: Stefan Weil &lt;sw@weilnetz.de&gt;
Message-id: 20220505095015.2714666-1-peter.maydell@linaro.org
</content>
</entry>
<entry>
<title>python: rename qemu.aqmp to qemu.qmp</title>
<updated>2022-04-21T15:01:00+00:00</updated>
<author>
<name>John Snow</name>
</author>
<published>2022-03-30T17:28:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=37094b6dd59f56978b918e79cadf17c6fd5d36e2'/>
<id>urn:sha1:37094b6dd59f56978b918e79cadf17c6fd5d36e2</id>
<content type='text'>
Now that we are fully switched over to the new QMP library, move it back
over the old namespace. This is being done primarily so that we may
upload this package simply as "qemu.qmp" without introducing confusion
over whether or not "aqmp" is a new protocol or not.

The trade-off is increased confusion inside the QEMU developer
tree. Sorry!

Note: the 'private' member "_aqmp" in legacy.py also changes to "_qmp";
not out of necessity, but just to remove any traces of the "aqmp"
name.

Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
Reviewed-by: Beraldo Leal &lt;bleal@redhat.com&gt;
Acked-by: Hanna Reitz &lt;hreitz@redhat.com&gt;
Reviewed-by: Vladimir Sementsov-Ogievskiy &lt;vsementsov@openvz.org&gt;
Message-id: 20220330172812.3427355-8-jsnow@redhat.com
Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
</content>
</entry>
<entry>
<title>python/machine: permanently switch to AQMP</title>
<updated>2022-04-21T15:01:00+00:00</updated>
<author>
<name>John Snow</name>
</author>
<published>2022-03-21T20:33:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=a4225303a1a762fb56907396fe6ac8caeb597552'/>
<id>urn:sha1:a4225303a1a762fb56907396fe6ac8caeb597552</id>
<content type='text'>
Remove the QEMU_PYTHON_LEGACY_QMP environment variable, making the
switch from sync qmp to async qmp permanent. Update exceptions and
import paths as necessary.

Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
Reviewed-by: Vladimir Sementsov-Ogievskiy &lt;vsementsov@virtuozzo.com&gt;
Reviewed-by: Beraldo Leal &lt;bleal@redhat.com&gt;
Acked-by: Hanna Reitz &lt;hreitz@redhat.com&gt;
Message-id: 20220321203315.909411-2-jsnow@redhat.com
Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
</content>
</entry>
<entry>
<title>python/machine: raise VMLaunchFailure exception from launch()</title>
<updated>2022-02-02T19:12:22+00:00</updated>
<author>
<name>John Snow</name>
</author>
<published>2022-02-01T04:11:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=50465f94d211beabfbfc80e4f85ec4fad0757570'/>
<id>urn:sha1:50465f94d211beabfbfc80e4f85ec4fad0757570</id>
<content type='text'>
This allows us to pack in some extra information about the failure,
which guarantees that if the caller did not *intentionally* cause a
failure (by capturing this Exception), some pretty good clues will be
printed at the bottom of the traceback information.

This will help make failures in the event of a non-negative return code
more obvious when they go unhandled; the current behavior in
_post_shutdown() is to print a warning message only in the event of
signal-based terminations (for negative return codes).

(Note: In Python, catching BaseException instead of Exception catches a
broader array of Exception events, including SystemExit and
KeyboardInterrupt. We do not want to "wrap" such exceptions as a
VMLaunchFailure, because that will 'downgrade' the exception from a
BaseException to a regular Exception. We do, however, want to perform
cleanup in either case, so catch on the broadest scope and
wrap-and-re-raise only in the more targeted scope.)

Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
Reviewed-by: Hanna Reitz &lt;hreitz@redhat.com&gt;
Reviewed-by: Kevin Wolf &lt;kwolf@redhat.com&gt;
Message-id: 20220201041134.1237016-3-jsnow@redhat.com
Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
</content>
</entry>
<entry>
<title>python/machine: handle "fast" QEMU terminations</title>
<updated>2021-11-22T23:41:17+00:00</updated>
<author>
<name>John Snow</name>
</author>
<published>2021-11-18T20:46:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=1611e6cf4e7163f6102b37010a8b7e7120f468b5'/>
<id>urn:sha1:1611e6cf4e7163f6102b37010a8b7e7120f468b5</id>
<content type='text'>
In the case that the QEMU process actually launches -- but then dies so
quickly that we can't establish a QMP connection to it -- QEMUMachine
currently calls _post_shutdown() assuming that it never launched the VM
process.

This isn't true, though: it "merely" may have failed to establish a QMP
connection and the process is in the middle of its own exit path.

If we don't wait for the subprocess, the caller may get a bogus `None`
return for .exitcode(). This behavior was observed from
device-crash-test; after the switch to Async QMP, the timings were
changed such that it was now seemingly possible to witness the failure
of "vm.launch()" *prior* to the exitcode becoming available.

The semantic of the `_launched` property is changed in this
patch. Instead of representing the condition "launch() executed
successfully", it will now represent "has forked a child process
successfully". This way, wait() when called in the exit path won't
become a no-op.

Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
Reviewed-by: Willian Rampazzo &lt;willianr@redhat.com&gt;
Message-id: 20211118204620.1897674-6-jsnow@redhat.com
Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
</content>
</entry>
<entry>
<title>python/machine: move more variable initializations to _pre_launch</title>
<updated>2021-11-22T23:40:59+00:00</updated>
<author>
<name>John Snow</name>
</author>
<published>2021-11-18T20:46:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=b1ca99199320fcc010f407b84ac00d96e7e4baa1'/>
<id>urn:sha1:b1ca99199320fcc010f407b84ac00d96e7e4baa1</id>
<content type='text'>
No need to clear them only to set them later.

Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
Reviewed-by: Willian Rampazzo &lt;willianr@redhat.com&gt;
Message-id: 20211118204620.1897674-5-jsnow@redhat.com
Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
</content>
</entry>
<entry>
<title>python/machine: add instance disambiguator to default nickname</title>
<updated>2021-11-22T23:40:59+00:00</updated>
<author>
<name>John Snow</name>
</author>
<published>2021-11-18T20:46:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=72b17fe715056c96ea73f187ab46721788b3a782'/>
<id>urn:sha1:72b17fe715056c96ea73f187ab46721788b3a782</id>
<content type='text'>
If you create two instances of QEMUMachine(), they'll both create the
same nickname by default -- which is not that helpful.

Luckily, they'll both create unique temporary directories ... but due to
user configuration, they may share logging and sockfile directories,
meaning two instances can collide. The Python logging will also be quite
confusing, with no differentiation between the two instances.

Add an instance disambiguator (The memory address of the instance) to
the default nickname to foolproof this in all cases.

Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;philmd@redhat.com&gt;
Reviewed-by: Willian Rampazzo &lt;willianr@redhat.com&gt;
Message-id: 20211118204620.1897674-4-jsnow@redhat.com
Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
</content>
</entry>
<entry>
<title>python/machine: remove _remove_monitor_sockfile property</title>
<updated>2021-11-22T23:40:59+00:00</updated>
<author>
<name>John Snow</name>
</author>
<published>2021-11-18T20:46:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=6eeb3de7e1aff91ce6e092a39f85946d12664385'/>
<id>urn:sha1:6eeb3de7e1aff91ce6e092a39f85946d12664385</id>
<content type='text'>
It doesn't matter if it was the user or the class itself that specified
where the sockfile should be created; the fact is that if we are using a
sockfile here, we created it and we can clean it up.

Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
Reviewed-by: Willian Rampazzo &lt;willianr@redhat.com&gt;
Message-id: 20211118204620.1897674-3-jsnow@redhat.com
Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
</content>
</entry>
<entry>
<title>python/machine: add @sock_dir property</title>
<updated>2021-11-22T23:40:59+00:00</updated>
<author>
<name>John Snow</name>
</author>
<published>2021-11-18T20:46:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=87bf1fe5cbffefe6b7ee13a7015ae285250ad2db'/>
<id>urn:sha1:87bf1fe5cbffefe6b7ee13a7015ae285250ad2db</id>
<content type='text'>
Analogous to temp_dir and log_dir, add a sock_dir property that defaults
to @temp_dir -- instead of base_temp_dir -- when the user hasn't
overridden the sock dir value in the initializer.

This gives us a much more unique directory to put sockfiles in by default.

Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
Reviewed-by: Willian Rampazzo &lt;willianr@redhat.com&gt;
Message-id: 20211118204620.1897674-2-jsnow@redhat.com
Signed-off-by: John Snow &lt;jsnow@redhat.com&gt;
</content>
</entry>
<entry>
<title>tests/acceptance: rename tests acceptance to tests avocado</title>
<updated>2021-11-08T16:00:22+00:00</updated>
<author>
<name>Willian Rampazzo</name>
</author>
<published>2021-11-05T15:53:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.openslx.org/bwlp/qemu.git/commit/?id=bbbd9b6ec645ca45c2195e894537da4964f1aa12'/>
<id>urn:sha1:bbbd9b6ec645ca45c2195e894537da4964f1aa12</id>
<content type='text'>
In the discussion about renaming the `tests/acceptance` [1], the
conclusion was that the folders inside `tests` are related to the
framework running the tests and not directly related to the type of
the tests.

This changes the folder to `tests/avocado` and adjusts the MAKEFILE, the
CI related files and the documentation.

[1] https://lists.gnu.org/archive/html/qemu-devel/2021-05/msg06553.html

Reviewed-by: Niek Linnenbank &lt;nieklinnenbank@gmail.com&gt;
Reviewed-by: Philippe Mathieu-Daudé &lt;philmd@redhat.com&gt;
Tested-by: Philippe Mathieu-Daudé &lt;philmd@redhat.com&gt;
Signed-off-by: Willian Rampazzo &lt;willianr@redhat.com&gt;
Message-Id: &lt;20211105155354.154864-3-willianr@redhat.com&gt;
Signed-off-by: Philippe Mathieu-Daudé &lt;philmd@redhat.com&gt;
</content>
</entry>
</feed>
