Project

General

Profile

Feature #10887

erasure-code: allow upgrades for shec plugins

Added by Loic Dachary over 5 years ago. Updated almost 5 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
OSD
Target version:
-
% Done:

0%

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

Description

When upgrading from Giant to Hammer, an erasure coded pool using the two newly supported plugin (shec) must only be created when they are available cluster wide. The general solution is addressed in #7291 and an interim solution is needed.


Related issues

Copied from Ceph - Feature #9343: erasure-code: allow upgrades for lrc and isa plugins Resolved 09/04/2014

Associated revisions

Revision 427f48bf (diff)
Added by Loic Dachary about 5 years ago

erasure-code: CEPH_FEATURE_ERASURE_CODE_PLUGINS_V3 integration tests

http://tracker.ceph.com/issues/10887 Refs: #10887

Signed-off-by: Loic Dachary <>

Revision 271513f8 (diff)
Added by Loic Dachary almost 5 years ago

erasure-code: shec plugin feature

There is one new plugin (shec). When upgrading a cluster, there
must be a protection against the following scenario:

  • the mon are upgraded but not the osd
  • a new pool is created using plugin shec
  • the osd fail to load the shec plugin because they have not been
    upgraded

A feature bit is added : PLUGINS_V3. The monitor will only agree to
create an erasure code profile for the shec plugin if all OSDs
supports PLUGINS_V3. Once such an erasure code profile is stored in the
OSDMap, an OSD can only boot if it supports the PLUGINS_V3 feature,
which means it is able to load the shec plugin.

The monitors will only activate the PLUGINS_V3 feature if all monitors
in the quorum support it. It protects against the following scenario:

  • the leader is upgraded the peons are not upgraded
  • the leader creates a pool with plugin=shec because all OSD have
    the PLUGINS_V3 feature
  • the leader goes down and a non upgraded peon becomes the leader
  • an old OSD tries to join the cluster
  • the new leader will let the OSD boot because it does not contain
    the logic that would excluded it
  • the old OSD will fail when required to load the plugin shec

This is going to be needed each time new plugins are added, which is
impractical. A more generic plugin upgrade support should be added
instead, as described in http://tracker.ceph.com/issues/7291.

See also 9687150ceac9cc7e506bc227f430d4207a6d7489 for the PLUGINS_V2
implementation.

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

Signed-off-by: Loic Dachary <>

History

#1 Updated by Loic Dachary over 5 years ago

  • Description updated (diff)
  • Status changed from New to 12

#2 Updated by Loic Dachary about 5 years ago

  • Status changed from 12 to In Progress

#3 Updated by Loic Dachary about 5 years ago

  • Status changed from In Progress to Fix Under Review

#4 Updated by Loic Dachary about 5 years ago

  • Status changed from Fix Under Review to In Progress

#5 Updated by Loic Dachary about 5 years ago

  • Status changed from In Progress to Fix Under Review

#6 Updated by Loic Dachary almost 5 years ago

  • Status changed from Fix Under Review to Resolved

Also available in: Atom PDF