Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: qemu/qemu
base: 24bc242c91ae
Choose a base ref
...
head repository: qemu/qemu
compare: 848a6caa88b9
Choose a head ref
  • 11 commits
  • 5 files changed
  • 3 contributors

Commits on Jun 2, 2023

  1. tests/qtest: add various qtest_qmp_assert_success() variants

    Add several counterparts of qtest_qmp_assert_success() that can
    
     * Use va_list instead of ...
     * Accept a list of FDs to send
     * Return the response data
    
    Reviewed-by: Thomas Huth <thuth@redhat.com>
    Reviewed-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
    Message-Id: <20230601161347.1803440-2-berrange@redhat.com>
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    berrange authored and Juan Quintela committed Jun 2, 2023
    Copy the full SHA
    28760ed View commit details
    Browse the repository at this point in the history
  2. tests/qtest: add support for callback to receive QMP events

    Currently code must call one of the qtest_qmp_event* functions to
    fetch events. These are only usable if the immediate caller knows
    the particular event they want to capture, and are only interested
    in one specific event type. Adding ability to register an event
    callback lets the caller capture a range of events over any period
    of time.
    
    Reviewed-by: Juan Quintela <quintela@redhat.com>
    Reviewed-by: Thomas Huth <thuth@redhat.com>
    Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
    Message-Id: <20230601161347.1803440-3-berrange@redhat.com>
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    berrange authored and Juan Quintela committed Jun 2, 2023
    Copy the full SHA
    0150e75 View commit details
    Browse the repository at this point in the history
  3. tests/qtest: get rid of 'qmp_command' helper in migration test

    This function duplicates logic of qtest_qmp_assert_success_ref.
    The qtest_qmp_assert_success_ref method has better diagnostics
    on failure because it prints the entire QMP response, instead
    of just asserting on existance of the 'error' key.
    
    Reviewed-by: Juan Quintela <quintela@redhat.com>
    Reviewed-by: Thomas Huth <thuth@redhat.com>
    Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
    Message-Id: <20230601161347.1803440-4-berrange@redhat.com>
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    berrange authored and Juan Quintela committed Jun 2, 2023
    Copy the full SHA
    ffd4727 View commit details
    Browse the repository at this point in the history
  4. tests/qtest: get rid of some 'qtest_qmp' usage in migration test

    Some of the usage is just a verbose way of re-inventing the
    qtest_qmp_assert_success(_ref) methods.
    
    Reviewed-by: Thomas Huth <thuth@redhat.com>
    Reviewed-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
    Message-Id: <20230601161347.1803440-5-berrange@redhat.com>
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    berrange authored and Juan Quintela committed Jun 2, 2023
    Copy the full SHA
    11936f0 View commit details
    Browse the repository at this point in the history
  5. tests/qtest: switch to using event callbacks for STOP event

    Change the migration test to use the new qtest event callback to watch
    for the stop event. This ensures that we only watch for the STOP event
    on the source QEMU. The previous code would set the single 'got_stop'
    flag when either source or dest QEMU got the STOP event.
    
    Reviewed-by: Juan Quintela <quintela@redhat.com>
    Acked-by: Thomas Huth <thuth@redhat.com>
    Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
    Message-Id: <20230601161347.1803440-6-berrange@redhat.com>
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    berrange authored and Juan Quintela committed Jun 2, 2023
    Copy the full SHA
    cdf5ab5 View commit details
    Browse the repository at this point in the history
  6. tests/qtest: replace wait_command() with qtest_qmp_assert_success

    Most usage of wait_command() is followed by qobject_unref(), which
    is just a verbose re-implementation of qtest_qmp_assert_success().
    
    Reviewed-by: Thomas Huth <thuth@redhat.com>
    Reviewed-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
    Message-Id: <20230601161347.1803440-7-berrange@redhat.com>
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    berrange authored and Juan Quintela committed Jun 2, 2023
    Copy the full SHA
    aca0406 View commit details
    Browse the repository at this point in the history
  7. tests/qtest: capture RESUME events during migration

    When running migration tests we monitor for a STOP event so we can skip
    redundant waits. This will be needed for the RESUME event too shortly.
    
    Reviewed-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
    Message-Id: <20230601161347.1803440-8-berrange@redhat.com>
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    berrange authored and Juan Quintela committed Jun 2, 2023
    Copy the full SHA
    266ea33 View commit details
    Browse the repository at this point in the history
  8. tests/qtest: distinguish src/dst migration VM stop/resume events

    The 'got_stop' and 'got_resume' global variables apply to the src and
    dst migration VM respectively. Change their names to make this explicit
    to developers.
    
    Reviewed-by: Juan Quintela <quintela@redhat.com>
    Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
    Message-Id: <20230601161347.1803440-9-berrange@redhat.com>
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    berrange authored and Juan Quintela committed Jun 2, 2023
    Copy the full SHA
    9501499 View commit details
    Browse the repository at this point in the history
  9. tests/qtest: make more migration pre-copy scenarios run non-live

    There are 27 pre-copy live migration scenarios being tested. In all of
    these we force non-convergence and run for one iteration, then let it
    converge and wait for completion during the second (or following)
    iterations. At 3 mbps bandwidth limit the first iteration takes a very
    long time (~30 seconds).
    
    While it is important to test the migration passes and convergence
    logic, it is overkill to do this for all 27 pre-copy scenarios. The
    TLS migration scenarios in particular are merely exercising different
    code paths during connection establishment.
    
    To optimize time taken, switch most of the test scenarios to run
    non-live (ie guest CPUs paused) with no bandwidth limits. This gives
    a massive speed up for most of the test scenarios.
    
    For test coverage the following scenarios are unchanged
    
     * Precopy with UNIX sockets
     * Precopy with UNIX sockets and dirty ring tracking
     * Precopy with XBZRLE
     * Precopy with UNIX compress
     * Precopy with UNIX compress (nowait)
     * Precopy with multifd
    
    On a test machine this reduces execution time from 13 minutes to
    8 minutes.
    
    Tested-by: Thomas Huth <thuth@redhat.com>
    Reviewed-by: Juan Quintela <quintela@redhat.com>
    Reviewed-by: Peter Xu <peterx@redhat.com>
    Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
    Message-Id: <20230601161347.1803440-10-berrange@redhat.com>
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    berrange authored and Juan Quintela committed Jun 2, 2023
    Copy the full SHA
    3c4fb17 View commit details
    Browse the repository at this point in the history
  10. qtest/migration: Document live=true cases

    Document every single live=true use cases on why it should be done in the
    live manner.  Also document on the parameter so new precopy cases should
    always use live=off unless with explicit reasonings.
    
    Cc: Thomas Huth <thuth@redhat.com>
    Cc: Juan Quintela <quintela@redhat.com>
    Cc: Daniel P. Berrangé <berrange@redhat.com>
    Reviewed-by: Juan Quintela <quintela@redhat.com>
    Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
    Signed-off-by: Peter Xu <peterx@redhat.com>
    Message-Id: <20230601172935.175726-1-peterx@redhat.com>
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    xzpeter authored and Juan Quintela committed Jun 2, 2023
    Copy the full SHA
    b861383 View commit details
    Browse the repository at this point in the history

Commits on Jun 3, 2023

  1. Merge tag 'migration-20230602-pull-request' of https://gitlab.com/jua…

    …n.quintela/qemu into staging
    
    Migration Pull request (20230602 vintage)
    
    This PULL request get:
    - All migration-test patches except last one (daniel)
    - Documentation about live test cases (peter)
    
    Please apply.
    
    # -----BEGIN PGP SIGNATURE-----
    #
    # iQIzBAABCAAdFiEEGJn/jt6/WMzuA0uC9IfvGFhy1yMFAmR5yRwACgkQ9IfvGFhy
    # 1yOLQQ/+NsrXEj7Bwp2PdGo+wBRkq4Gah/mc9F00pqtJc2CGNWgfgDohhZjBrhRv
    # cTABsfEcIKgCYqGYwVCklJGlUMzxlJPPcMfvou5SWN59E4FBFSg4DWaBfDPCS8LW
    # yjnz0JcpxJ+Ge0eqP6xpTPKQ0YGisdav/PjF8GZewBCjyrhZop062a92B2t59D8Y
    # shJYKaZZU/5/4zx6KqOm9OClD/yJ+w5q6cGn89/rFE0RMSVywZ3Y1O8/LwIAEP6U
    # oj88rczh3geGlsmtPIeyhA3BdnYuPonmyLz8CINFH9+y2tR9l1dN59q1uwEOIvff
    # BhJvxTNmkTvsi5zeAmbp2CYmRTwhBmlanh8v2OLNj8zlt0cHYNpiYUZO9qxCHIyT
    # LnNTTYhrpqAqINdm+Z8c3ymDKkTz0KECBa45hdFtNB4ZOXPDQTHVqkQRfe3CxDKz
    # f/WM4TxHEzVMw/Ow1K9Kbk7/AEwIV6Ol2BSf9D+ZcU4ydmu6ENhV9G4cQ9Orlv8I
    # opychxf+O/b6yhVFq7J1ufDhfn3aWQmUQC06npEgfrIV/fLrXhYfs2CXkNZs78v6
    # MTMNPNBN/UasM8hx+ldsjZEHf625lO3eNWoNY1Xxog5YICnNLA+tG6n69uybew2+
    # UOVyoHwX7iqaToK6bQNCS4H/PjCp3v7fzw1Nsz48Pfaklpivz/k=
    # =4exy
    # -----END PGP SIGNATURE-----
    # gpg: Signature made Fri 02 Jun 2023 03:49:00 AM PDT
    # gpg:                using RSA key 1899FF8EDEBF58CCEE034B82F487EF185872D723
    # gpg: Good signature from "Juan Quintela <quintela@redhat.com>" [unknown]
    # gpg:                 aka "Juan Quintela <quintela@trasno.org>" [unknown]
    # gpg: WARNING: This key is not certified with a trusted signature!
    # gpg:          There is no indication that the signature belongs to the owner.
    # Primary key fingerprint: 1899 FF8E DEBF 58CC EE03  4B82 F487 EF18 5872 D723
    
    * tag 'migration-20230602-pull-request' of https://gitlab.com/juan.quintela/qemu:
      qtest/migration: Document live=true cases
      tests/qtest: make more migration pre-copy scenarios run non-live
      tests/qtest: distinguish src/dst migration VM stop/resume events
      tests/qtest: capture RESUME events during migration
      tests/qtest: replace wait_command() with qtest_qmp_assert_success
      tests/qtest: switch to using event callbacks for STOP event
      tests/qtest: get rid of some 'qtest_qmp' usage in migration test
      tests/qtest: get rid of 'qmp_command' helper in migration test
      tests/qtest: add support for callback to receive QMP events
      tests/qtest: add various qtest_qmp_assert_success() variants
    
    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
    rth7680 committed Jun 3, 2023
    Copy the full SHA
    848a6ca View commit details
    Browse the repository at this point in the history