New in v8:
- SocketAddress is now a list (a.k.a make happy danp)
- Rebase on top of upstream
network listener is *interesting*
- *HACK* to make SocketAddress list in common
see patch: create-socket-paramenter
Please review, Juan.
This is v6, it differest from the patches that I sent with previous
- Rename x-tcp-port to x-socket-address
This is more *complicated* that it looks as:
* it is a pointer, so I need to use QAPI_CLONE() to make info
* this is an union of structs. In QAPI. So, a dict of strings. The
only way that I was able to make things work is parsing the qdict
to a SocketAddress and then output a SocketAddress as an str. It
needs to be an easier way, for sure.
* Cleanups here andthere.
Please, review, Juan.
- Several patches moved to pull request
- merge info_migrate and migration_tests
only missing bit is tcp_port, needed for tcp tests
- Rename tcp-port to x-tcp-port
We will get better naming from David at some point, and we will use that bit
- ppc: use inline code as suggested by lvivier
It is based on my previous pull request
- rebase on top on v4 info_migrate patches
- Tune sleeps to make patches fast
- Create a deprecated test for deprecated commands (i.e. make peterxu happy)
- create migrate_start_postcopy function
- fix naming/sizes between power and x86
- cleanup comments to match code
- No more tests for deprecated parameters. Now I only use
migrate_set_parameter. If there is a deprecated command for that,
we tests it there.
- free "result" string, always good to return memory (Peter found it)
- use the new tcp_port parameter from info migrate. So we are
handling well the tcp case.
- lots of code movement around to make everything consistent.
- Several patches already integrated upstream.
- to make review easier, I started renaming postcopy-test.c to migration-test.c
- Did cleanups/refactoring there
- Don't use global-qtest anymore
- check that the parameters that we sent got really set
- RFH: comrpress threads tests is not working for some weird reason. Using the
same code on command line works.
still investigating why.
- tcp: after discussions with dave, we ended in conclusion that we
need to use the 0 port and let the system gives us a free one
But .... that means that we need to be able to get that port back somehow.
"info migrate" woring on destination side?
- compression threads. There is some weird interaction with the test
hardness and every migration thread get waiting in a different
semaphore. Investigating if it is a race/bug/whateverr
- deprecated commands: There was a suggestion to make
migrate_set_parameter look at the parameter name and test old/new
depending on something. Not sure what to do here.
- testing commands: Is there a way to launch qemu and just sent
qmp/hmp commands without having to really run anything else?
- add test for precopy for unix/tcp
exec and fd to came, don't know how to test rdma without hardware
- add tests using deprecated interfaces
- add test for xbzrle
Note to myself, there is no way to set the cache size with
- Add test for compress threads
disabled on the series, right now it appears that compression is not working
- Move postcopy to use new results
Idea is to move it on top of migration-test.c, but first I want some reviews
on basic idea
Juan Quintela (8):
qemu-sockets: Export SocketAddress_to_str
tests: Add migration precopy test
tests: Add migration xbzrle test
migration: Create socket-address parameter
tests: Migration ppc now inlines its program
tests: Add basic migration precopy tcp test
migration: Add multifd test
[RFH] tests: Add migration compress threads tests
chardev/char-socket.c | 29 -----
hmp.c | 14 +++
include/qemu/sockets.h | 3 +
migration/migration.c | 25 ++++
migration/migration.h | 1 +
migration/socket.c | 11 ++
qapi/migration.json | 13 +-
qapi/sockets.json | 13 ++
tests/migration-test.c | 332 +++++++++++++++++++++++++++++++++++++++++++------
util/qemu-sockets.c | 29 +++++
10 files changed, 398 insertions(+), 72 deletions(-)