diff options
| author | Fabiano Rosas <farosas@suse.de> | 2024-11-27 15:28:47 -0300 |
|---|---|---|
| committer | Fabiano Rosas <farosas@suse.de> | 2024-12-12 10:25:39 -0300 |
| commit | 212c19331b0c53ab299ae3d646409fad2da90602 (patch) | |
| tree | eb12a969d1c8f3ec31ccde570295bd093ab12094 /tests/migration/guestperf/scenario.py | |
| parent | 413aa2e986eb7941c1042cc8bb8299f16e7ca962 (diff) | |
| download | focaccia-qemu-212c19331b0c53ab299ae3d646409fad2da90602.tar.gz focaccia-qemu-212c19331b0c53ab299ae3d646409fad2da90602.zip | |
tests/migration: Disambiguate guestperf vs. a-b
The current build structure for migration tests is confusing. There is
the tests/migration directory, which contains two different guest code
implementations, one for the qtests (a-b-{bootblock|kernel}.S) and
another for the guestperf script (stress.c). One uses a Makefile,
while the other uses meson.
The next patches will add a new qtests/migration/ directory to hold
qtest code which will make the situation even more confusing.
Move the guest code used by qtests into a new qtests/migration/
directory and rename the old one to tests/migration-stress.
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>
Diffstat (limited to 'tests/migration/guestperf/scenario.py')
| -rw-r--r-- | tests/migration/guestperf/scenario.py | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/tests/migration/guestperf/scenario.py b/tests/migration/guestperf/scenario.py deleted file mode 100644 index 154c4f5d5f..0000000000 --- a/tests/migration/guestperf/scenario.py +++ /dev/null @@ -1,112 +0,0 @@ -# -# Migration test scenario parameter description -# -# Copyright (c) 2016 Red Hat, Inc. -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, see <http://www.gnu.org/licenses/>. -# - - -class Scenario(object): - - def __init__(self, name, - downtime=500, - bandwidth=125000, # 1000 gig-e, effectively unlimited - max_iters=30, - max_time=300, - pause=False, pause_iters=5, - post_copy=False, post_copy_iters=5, - auto_converge=False, auto_converge_step=10, - compression_mt=False, compression_mt_threads=1, - compression_xbzrle=False, compression_xbzrle_cache=10, - multifd=False, multifd_channels=2, - dirty_limit=False, x_vcpu_dirty_limit_period=500, - vcpu_dirty_limit=1): - - self._name = name - - # General migration tunables - self._downtime = downtime # milliseconds - self._bandwidth = bandwidth # MiB per second - self._max_iters = max_iters - self._max_time = max_time # seconds - - - # Strategies for ensuring completion - self._pause = pause - self._pause_iters = pause_iters - - self._post_copy = post_copy - self._post_copy_iters = post_copy_iters - - self._auto_converge = auto_converge - self._auto_converge_step = auto_converge_step # percentage CPU time - - self._compression_mt = compression_mt - self._compression_mt_threads = compression_mt_threads - - self._compression_xbzrle = compression_xbzrle - self._compression_xbzrle_cache = compression_xbzrle_cache # percentage of guest RAM - - self._multifd = multifd - self._multifd_channels = multifd_channels - - self._dirty_limit = dirty_limit - self._x_vcpu_dirty_limit_period = x_vcpu_dirty_limit_period - self._vcpu_dirty_limit = vcpu_dirty_limit - - def serialize(self): - return { - "name": self._name, - "downtime": self._downtime, - "bandwidth": self._bandwidth, - "max_iters": self._max_iters, - "max_time": self._max_time, - "pause": self._pause, - "pause_iters": self._pause_iters, - "post_copy": self._post_copy, - "post_copy_iters": self._post_copy_iters, - "auto_converge": self._auto_converge, - "auto_converge_step": self._auto_converge_step, - "compression_mt": self._compression_mt, - "compression_mt_threads": self._compression_mt_threads, - "compression_xbzrle": self._compression_xbzrle, - "compression_xbzrle_cache": self._compression_xbzrle_cache, - "multifd": self._multifd, - "multifd_channels": self._multifd_channels, - "dirty_limit": self._dirty_limit, - "x_vcpu_dirty_limit_period": self._x_vcpu_dirty_limit_period, - "vcpu_dirty_limit": self._vcpu_dirty_limit, - } - - @classmethod - def deserialize(cls, data): - return cls( - data["name"], - data["downtime"], - data["bandwidth"], - data["max_iters"], - data["max_time"], - data["pause"], - data["pause_iters"], - data["post_copy"], - data["post_copy_iters"], - data["auto_converge"], - data["auto_converge_step"], - data["compression_mt"], - data["compression_mt_threads"], - data["compression_xbzrle"], - data["compression_xbzrle_cache"], - data["multifd"], - data["multifd_channels"]) |