Add a workload that uses the lrc erasure code plugin. Instead of adding
it to suites/rados/thrash-erasure-code/workloads, a new suite is created
at suites/rados/thrash-erasure-code-big because it needs more OSDs than
other erasure code plugins. The alternative would be to increase the
number of OSDs for all erasure code plugins, but that would needlessly
increase the resources requirements.
* cluster/12-osds.yaml creates a 12 OSDs, 3 MONs cluster
* thrash-erasure-code-big/thrashers/*.yaml are the same as
thrash-erasure-code/thrashers/*.yaml except they require that at
least 8 OSDs are in at all times (instead of 4) because lrc PGs with
k=4, m=2, l=3 are undersized if they do not have 8 OSDs. It is
possible that crush fails to map 8 OSDs when only 8 OSDs are
available, but that must not disturb the workload because min_size is
4.
http://tracker.ceph.com/issues/11666Fixes: #11666
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Create divergent priors and a split and then move a pg using
ceph-objectstore-tool export/import
Add yaml file to run the reg11184 task
Fixes: #11343
Signed-off-by: David Zafman <dzafman@redhat.com>
Based on tasks/divergent_priors.py but also do simple export/remove/import on
same osd.
Add yaml file to run the divergent_priors2 task
Signed-off-by: David Zafman <dzafman@redhat.com>
Flake8 fixes
Use new set_recovery_delay admin socket command
Fix bad value set for filestore_blackhole
Make sure log trims and only require 100 objects
Use kick_recovery_wq to properly set osd_recovery_delay_start to 0
Write and remove divergent and verify removal was undone
Fix to make compatible with wip-10809-11135-10290
Make sure to set_recovery_delay in a non-racey way (while osd running but down)
Leave divergent "in" so its PGs aren't treated as strays
Add yaml file to run the divergent_priors task
Signed-off-by: David Zafman <dzafman@redhat.com>
This patch also adds some convenience facilities for making
some of the ceph_manager methods into tasks usable from a
yaml file.
Signed-off-by: Samuel Just <sjust@redhat.com>
Add the distros directory which enumerates the os_type and
os_version on which the suite is to run.
http://tracker.ceph.com/issues/9660Fixes: #9660
Signed-off-by: Loic Dachary <loic-201408@dachary.org>
Because it needs the thrasher to have min_in: 4 otherewise k=3,m=1 will
block.
http://tracker.ceph.com/issues/9648Fixes: #9648
Signed-off-by: Loic Dachary <loic-201408@dachary.org>
The ec-rados-default.yaml was linked to suites as if it was a task
although it is a workload intended for parallel upgrade tests.
The ec-rados-plugin=jerasure-k=2-m=1.yaml task is defined and used
instead, where relevant.
http://tracker.ceph.com/issues/9549Fixes: #9549
Signed-off-by: Loic Dachary <loic-201408@dachary.org>
Based on ceph/src/test/ceph_objectstore_tool.py but only does
replicated pool testing and doesn't test argument validation.
Signed-off-by: David Zafman <david.zafman@inktank.com>
The erasure-code directory is populated with files describing rados
workloads suitable to test the default erasure code plugins. They are
linked to the rados suite. The pre-existing rados workloads from the
rados suite are replaced with those. Two workloads only differed by the
fact that one of them had less operations than the other. The more
complete set of operations is kept and used for all workloads to
maximize coverage.
Signed-off-by: Loic Dachary <loic-201408@dachary.org>