Hi
In v10: - rebase to latest upstream - code changed quite a bit with qmp refactorings apllied them - make it work again - compress threads test, continue working there, not trivial. Two question-: - should we integrate them on this cycle? they are tests - should we enable them only on baremetal, and not on emulation? There is still a problem on TCG that sometimes fails the migration thread ToDo: - Finish debug compress test Still stuck why the test wonk when I launch qemu by hand but not trough qtest. Creatuve uses of launching gdb through launched guests have not help so far. - Finish fd transport test Not very difficult in principle, need more checking to see if it don't fail in other setups. - Finish tl trasport test I already knew that I hate certificates, but this is too much. Trying to understand how to use them. Please commet, Juan. In v9: - Dropp Export SocketAddress_to_str just create the functions where I need them. - drop precopy test and xbzrle (on pull requset) Use 100M for cache as dave suggests - drop ppc improvemnet (on pull request) - drop RFH, will work on tha later - move socket_address to info migrate Please, review. Later, Juan. v8: - just rebase to make things continue to wonk New in the other v7: - 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. CC: berra...@redhat.com [v7] This is v6, it differest from the patches that I sent with previous multifd post: - 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 migrate work * 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. [v5] - 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 Please, review. It is based on my previous pull request Based-on: 20180129120932.12874-1-quint...@redhat.com [v4] - 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 [v3] - 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. [v2] - 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. ToDoo: - 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? [v1] - 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 migraton_set_parameters - Add test for compress threads disabled on the series, right now it appears that compression is not working at all - 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 (5): tests: Add migration xbzrle test migration: Create socket-address parameter tests: Add basic migration precopy tcp test tests: Add migration multifd test [RFH] tests: Add migration compress threads tests hmp.c | 31 +++++ migration/migration.c | 24 ++++ migration/migration.h | 4 + migration/socket.c | 11 ++ qapi/migration.json | 6 +- qapi/sockets.json | 13 ++ tests/migration-test.c | 275 ++++++++++++++++++++++++++++++++++++++++- 7 files changed, 358 insertions(+), 6 deletions(-) -- 2.19.1