erasure-code: Set reed_sol_van to be the default technique for Jerasure if none is specified.#61674
Conversation
beb88fc to
d3702c0
Compare
|
Testing for ErasureCodePluginJerasure.cc:
Also tested the
|
|
Changes look good, but this unit test is failing because we have made the code match the documentation and default to reed_sol_van! src/test/erasure-code/TestErasureCodePluginJerasure.cc We should fix the test so it provides an invalid technique for this first test adding something like |
…re if none is specified. Also make the erasure_code_plugin_exists function in ceph-helpers.sh differentiate between a non-existent plugin and an initialization failure. Fixes: https://tracker.ceph.com/issues/69758 Fixes: https://tracker.ceph.com/issues/69762 Signed-off-by: Connor Fawcett <connorfa@uk.ibm.com>
d3702c0 to
f7cce29
Compare
|
Hopefully will see green now. [root@ceph build]# bin/unittest_erasure_code_plugin_jerasure [----------] Global test environment tear-down |
|
jenkins retest this please |
|
jenkins test windows |
|
@ljflores all the checks have passed on this one but I saw you've added the |
|
Hey @connorfawcett yeah, the "needs-qa" tag means that it is in the queue to go into integration testing. We'll add it in the next batch. I added you to the Slack channel where integration testing is coordinated. We often do integration testing in batches to conserve resources. However, you are also welcome to test your PR yourself. The main thing is that the PR should pass integration testing before being merged, whether it goes through the batched pipeline or your own. Here's the doc page that summarizes how to schedule integration tests if you're curious: https://docs.ceph.com/en/latest/dev/developer_guide/testing_integration_tests/tests-integration-testing-teuthology-intro/ And here's a page describing the "batched" process and how we review/approve the results prior to merging: https://tracker.ceph.com/projects/rados/wiki/QA_ANALYSIS |
This PR will set the default technique for Jerasure to be reed_sol_van if none is specified as per the documentation. This used to work for jerasure because the profile would inherit the options from the osd_pool_default_erasure_code_profile conf file setting which set the default plugin to jerasure, which meant that the erasure code profile was successfully created. When the conf file setting is changed to isal this stops working because it is invalid to create a jerasure profile without specifying a technique.
This PR also makes a small change to the erasure_code_plugin_exists function, this issue highlighted the function does not properly cases where the plugin exists but the command fails for some other reason e.g. missing technique parameter. I have added a special case for this, although it should no longer be exercised now the ErasureCodePluginJerasure.cc change.
Fixes: https://tracker.ceph.com/issues/69758
Fixes: https://tracker.ceph.com/issues/69762
Contribution Guidelines
To sign and title your commits, please refer to Submitting Patches to Ceph.
If you are submitting a fix for a stable branch (e.g. "quincy"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.
When filling out the below checklist, you may click boxes directly in the GitHub web UI. When entering or editing the entire PR message in the GitHub web UI editor, you may also select a checklist item by adding an
xbetween the brackets:[x]. Spaces and capitalization matter when checking off items this way.Checklist
Show available Jenkins commands
jenkins retest this pleasejenkins test classic perfjenkins test crimson perfjenkins test signedjenkins test make checkjenkins test make check arm64jenkins test submodulesjenkins test dashboardjenkins test dashboard cephadmjenkins test apijenkins test docsjenkins render docsjenkins test ceph-volume alljenkins test ceph-volume toxjenkins test windowsjenkins test rook e2e