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


Reply via email to