Bug 1369586 - ceph osd pool create uses 'rule_id' vs 'ruleset' when ruleset name specified during pool creation
Summary: ceph osd pool create uses 'rule_id' vs 'ruleset' when ruleset name specified ...
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Ceph Storage
Classification: Red Hat
Component: RADOS
Version: 1.3.2
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: rc
: 3.0
Assignee: Kefu Chai
QA Contact: Parikshith
Erin Donnelly
URL:
Whiteboard:
Keywords:
Depends On:
Blocks: 1372071 1494421
TreeView+ depends on / blocked
 
Reported: 2016-08-23 20:53 UTC by Mike Hackett
Modified: 2017-12-05 23:31 UTC (History)
11 users (show)

(edit)
.Creating a new pool after manually modifying the CRUSH map and removing a CRUSH ruleset no longer causes issues

Previously, creating a new pool after manually modifying the CRUSH map and removing a CRUSH ruleset caused the newly created pool to use `rule_id` rather than the specified `ruleset`. This lead to other issues in the cluster, such as the inability to unprotect snapshots because the newly created pool was in an incorrect state. The underlying issue has been fixed, and the newly created pools have the correct specified CRUSH ruleset and behave as expected.
Clone Of:
: 1372071 (view as bug list)
(edit)
Last Closed: 2017-12-05 23:31:14 UTC


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2017:3387 normal SHIPPED_LIVE Red Hat Ceph Storage 3.0 bug fix and enhancement update 2017-12-06 03:03:45 UTC
Ceph Project Bug Tracker 17138 None None None 2016-08-25 20:01 UTC
Red Hat Knowledge Base (Solution) 2573101 None None None 2016-08-26 05:56 UTC

Description Mike Hackett 2016-08-23 20:53:55 UTC
Description of problem:
Creating a new pool after manually modifying the CRUSH map and removing a CRUSH ruleset causes the newly created pool to use rule_id rather than the specified ruleset. This can lead to other issues in the cluster such as not being able to unprotect snapshots due to the newly created pool being in an errored state.

Version-Release number of selected component (if applicable):
RHCS 1.3.2
Ceph-0.94.6

How reproducible:
Always

Steps to Reproduce:
1. Have 3 crush rulesets with consecutive rule ID's (ex. 0, 1, 2)
2. Manually manipulate the CRUSH map and delete the middle ruleset. Leaving a gap between rule_id 0 and 2 and inject the new map.
3. Create a new pool and specify the ruleset name for rule_id 2. Pool shows as successfully created but PG's never get created and pool shows it's using a crush_ruleset that does not exist.

Actual results:
The pool gets created with an incorrect crush_ruleset

Expected results:
Pool should get created with correct specified crush ruleset.

Additional info:
Similar to https://bugzilla.redhat.com/show_bug.cgi?id=1258953

Comment 4 Mike Hackett 2016-08-25 20:01:24 UTC
Upstream tracker: http://tracker.ceph.com/issues/17138

Comment 12 Josh Durgin 2017-08-30 17:27:23 UTC
https://github.com/ceph/ceph/pull/13683

Comment 13 Ken Dreyer (Red Hat) 2017-09-27 19:04:44 UTC
PR 13683 has been available since v12.1.0

Comment 25 errata-xmlrpc 2017-12-05 23:31:14 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2017:3387


Note You need to log in before you can comment on or make changes to this bug.