qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Juan Quintela <quintela@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	"Eric Blake" <eblake@redhat.com>,
	"Gerd Hoffmann" <kraxel@redhat.com>,
	"Laurent Vivier" <lvivier@redhat.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Daniel P. Berrangé" <berrange@redhat.com>,
	"Juan Quintela" <quintela@redhat.com>,
	"Markus Armbruster" <armbru@redhat.com>,
	"Thomas Huth" <thuth@redhat.com>
Subject: [Qemu-devel] [PATCH v14 0/3] Add make check tests for Migration
Date: Wed, 27 Feb 2019 11:51:25 +0100	[thread overview]
Message-ID: <20190227105128.1655-1-quintela@redhat.com> (raw)

In v14:
- updates commets to 4.0
- Update migration-test copy of SocketAddress_str

In v13:
- Rename socket_address to socket_address_list (dave)
- Remove useless breaks (dave)

If nothing pops out, everything is reviewed and will be sent on next
pull requset.

Later, Juan.

In v12:
- drop multifd case (caming in next series)
- fix leak of socketaddress (eric)
- handle vsock printing correctly (eric)

Iv v11:
- Rebase to lastest
- Remove the compress test.  It didin't worked really.
  See my next series.
- Only patch missing review-by is the second one.

Please, consider them.

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: berrange@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-quintela@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 (3):
  tests: Add migration xbzrle test
  migration: Create socket-address parameter
  tests: Add basic migration precopy tcp test

 hmp.c                  |  33 ++++++++
 migration/migration.c  |  24 ++++++
 migration/migration.h  |   4 +
 migration/socket.c     |  11 +++
 qapi/migration.json    |   6 +-
 qapi/sockets.json      |  18 +++++
 tests/migration-test.c | 174 +++++++++++++++++++++++++++++++++++++++--
 7 files changed, 264 insertions(+), 6 deletions(-)

-- 
2.20.1

             reply	other threads:[~2019-02-27 11:01 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-27 10:51 Juan Quintela [this message]
2019-02-27 10:51 ` [Qemu-devel] [PATCH v14 1/3] tests: Add migration xbzrle test Juan Quintela
2019-02-27 10:51 ` [Qemu-devel] [PATCH v14 2/3] migration: Create socket-address parameter Juan Quintela
2019-02-27 10:51 ` [Qemu-devel] [PATCH v14 3/3] tests: Add basic migration precopy tcp test Juan Quintela
2019-03-05 14:19 ` [Qemu-devel] [PATCH v14 0/3] Add make check tests for Migration Dr. David Alan Gilbert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190227105128.1655-1-quintela@redhat.com \
    --to=quintela@redhat.com \
    --cc=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=eblake@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=lvivier@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).