Bug 1372846

Summary: [Documentation] use the supported values for K/M options for Erasure Coding
Product: [Red Hat Storage] Red Hat Ceph Storage Reporter: Neil Levine <nlevine>
Component: DocumentationAssignee: Aron Gunn <agunn>
Status: CLOSED CURRENTRELEASE QA Contact: Vidushi Mishra <vimishra>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 2.0CC: agunn, aperotti, asriram, ceph-eng-bugs, dzafman, hnallurv, icolle, japplewh, jdurgin, kchai, kdreyer, khartsoe, ldachary, sjust, uboppana, vumrao
Target Milestone: rc   
Target Release: 2.3   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-06-20 18:23:10 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1437903    

Description Neil Levine 2016-09-02 22:06:03 UTC
Currently, we don't specify which k/m values we support. We need to explicitly test and document the following values which are the same used by RHGS.

1. 8+3
2. 8+4
3. 4+2

This will require upstream tests to be added too.

Support values should be documented at: https://access.redhat.com/articles/1548993

Comment 3 Neil Levine 2016-09-02 22:07:15 UTC
These values also need to be exposed on RHScon.

Comment 4 Loic Dachary 2016-10-20 18:41:23 UTC
From the point of view of data integrity we explicitly test the following combinations for

SHEC plugin: https://github.com/ceph/ceph-erasure-code-corpus/blob/master/v0.92-988/non-regression.sh#L66
LRC plugin: https://github.com/ceph/ceph-erasure-code-corpus/blob/master/v0.92-988/non-regression.sh#L94
ISA plugin: https://github.com/ceph/ceph-erasure-code-corpus/blob/master/v0.92-988/non-regression.sh#L113
jerasure plugin:
  with cauchy and cauchy_good techniques :
         https://github.com/ceph/ceph-erasure-code-corpus/blob/master/v0.92-988/non-regression.sh#L220
  with reed_sol_van technique:
         https://github.com/ceph/ceph-erasure-code-corpus/blob/master/v0.92-988/non-regression.sh#L243

From the point of view of how rados handles erasure coded pools we have:

LRC plugin with k=4,m=2,l=3
   https://github.com/ceph/ceph-qa-suite/blob/master/suites/rados/thrash-erasure-code-big/workloads/ec-rados-plugin%3Dlrc-k%3D4-m%3D2-l%3D3.yaml
ISA plugin with k=2,m=1
   https://github.com/ceph/ceph-qa-suite/blob/master/suites/rados/thrash-erasure-code-isa/workloads/ec-rados-plugin%3Disa-k%3D2-m%3D1.yaml
SHEC plugin with k=4,m=3,c=2
   https://github.com/ceph/ceph-qa-suite/blob/master/suites/rados/thrash-erasure-code-shec/workloads/ec-rados-plugin%3Dshec-k%3D4-m%3D3-c%3D2.yaml
jerasure plugin with k=2, m=1 and k=3, m=1

From the point of view of upgrades we are using the jerasure plugin with k=2, m=1 and scenarios verifying an erasure coded pool behaves during upgrades from:

  hammer to kraken : https://github.com/ceph/ceph-qa-suite/tree/master/suites/upgrade/hammer-x
  jewel to kraken : https://github.com/ceph/ceph-qa-suite/tree/master/suites/upgrade/jewel-x

Comment 6 Neil Levine 2016-10-21 21:27:07 UTC
Perfect! 

Ken: feels like we can turn this into a doc task. I am going to update the supported config page but we should also include the support K/M values explicitly in the erasure code section of our docs.

Comment 7 Neil Levine 2016-12-08 00:34:36 UTC
Can we add in 2+2 as well?

Comment 8 Loic Dachary 2016-12-08 06:53:51 UTC
@Neil added 2+2 tests upstream, scheduled for backport to jewel.

Comment 10 Josh Durgin 2017-04-01 01:18:29 UTC
https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/2/html/storage_strategies_guide/erasure_code_pools#erasure_code_profiles

Does not mention anything about supported values.

Re-adding the accidentally cleared needinfo from Neil from comment #6

Comment 14 John Poelstra 2017-06-20 18:23:10 UTC
Closing this bug as the documentation has been published with the release