Project

General

Profile

Feature #9589

erasure-code: query plugin for erasure-code-profile defaults

Added by Loïc Dachary over 9 years ago. Updated almost 9 years ago.

Status:
Resolved
Priority:
High
Assignee:
Category:
-
Target version:
-
% Done:

0%

Source:
other
Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:

Description

When a parameter is missing from an erasure-code-profile (ruleset-failure-domain for instance) it falls back to the default of the plugin. The defaults are documented ( http://ceph.com/docs/master/rados/operations/erasure-code-isa/ for instance ) but they do not show when displaying the erasure-code-profile which is confusing for the user.

The get erasure-code-profile should display both the content of the profile and the parameters that are set implicitly by the plugin.

An method should be added to the interface of plugins to validate an erasure code profile and add the default values. This would also make the stored profile less fragile because it would not depend on parameters implicitly provided by the plugin. The profile introspection function should also be the only one providing defaults. When creating an ErasureCodeInstance via the factory, the requirement could be that all parameters need to be provided.


Related issues

Related to Ceph - Bug #9579: Default parameters are not getting initialized for EC profile using isa EC plugin Won't Fix 09/24/2014

Associated revisions

Revision 4b3ba2ab (diff)
Added by Loic Dachary almost 9 years ago

erasure-code: ErasureCode default value is a string

The to_int, to_bool prototypes are modified and the default values are
changed to string instead of int. If a default value is set, the profile
is modified to contain the default value.

The to_string helper is added so it can be used to set the default value
of a string, in a way that is consistent with to_int and to_bool.

http://tracker.ceph.com/issues/9589 Fixes: #9589

Signed-off-by: Loic Dachary <>

Revision 6eaeb567 (diff)
Added by Loic Dachary almost 9 years ago

erasure-code: ErasureCodeIsa update default values to string

Update the ErasureCodeIsa::init function to use string default values
and update the profile accordingly.

Also fix a bug by which the plugin would incorrectly report using the
default technique when the reed_sol_van or cauchy techniques are the
only legitimate values.

http://tracker.ceph.com/issues/9589 Fixes: #9589

Signed-off-by: Loic Dachary <>

Revision 14a59e5a (diff)
Added by Loic Dachary almost 9 years ago

erasure-code: ErasureCodeJerasure update default values to string

Update the ErasureCodeJerasure::init function to use string default values
and update the profile accordingly.

The ErasureCodeJerasure::revert_to_default prototype is modified so it
can update the profile.

http://tracker.ceph.com/issues/9589 Fixes: #9589

Signed-off-by: Loic Dachary <>

Revision 395eba9b (diff)
Added by Loic Dachary almost 9 years ago

erasure-code: ErasureCodeLrc update default values to string

Update the ErasureCodeLrc::init function to use string default values
and update the profile accordingly.

If the k,m,l values are set and generate mappings and layers entries,
those are not stored in the profile. The details of what k,m,l create
are private and not exposed to the caller.

http://tracker.ceph.com/issues/9589 Fixes: #9589

Signed-off-by: Loic Dachary <>

Revision a199ff9d (diff)
Added by Loic Dachary almost 9 years ago

erasure-code: ErasureCodeShec update default values to string

Update the ErasureCodeShec::init function to use string default
values. The default profile values for technique, ruleset-root and
ruleset-failure-domain are set for the user to see.

The error message when an invalid technique is provided is written to
the error stream to be returned to the user instead of being written to
the OSD log.

Updating other values from the profile would require deeper changes and
is left for later.

http://tracker.ceph.com/issues/9589 Fixes: #9589

Signed-off-by: Loic Dachary <>

History

#1 Updated by Loïc Dachary almost 9 years ago

  • Status changed from 12 to In Progress

#2 Updated by Loïc Dachary almost 9 years ago

  • Status changed from In Progress to Fix Under Review
  • Assignee set to Loïc Dachary

#3 Updated by Loïc Dachary almost 9 years ago

  • Status changed from Fix Under Review to Resolved

Also available in: Atom PDF