Project

General

Profile

Actions

Bug #9675

closed

splitting a pool doesn't start when rule_id != ruleset_id

Added by Dan van der Ster over 9 years ago. Updated about 9 years ago.

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

0%

Source:
other
Tags:
Backport:
dumpling,firefly,giant
Regression:
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

78e84f34da83abf5a62ae97bb84ab70774b164a6

Dumpling 0.67.10

Rule is like this:

{ "rule_id": 6,
"rule_name": "castor",
"ruleset": 7,
"type": 1,
"min_size": 1,
"max_size": 10,
"steps": [ { "op": "take",
"item": -21}, { "op": "chooseleaf_firstn",
"num": 0,
"type": "host"}, { "op": "emit"}]}]

Then:

ceph osd pool create testsplit 64
  1. default ruleset is 0
    ceph osd pool set testsplit pg_num 65
  2. new pg is created correctly
    ceph osd pool set testsplit crush_ruleset 7
  3. pgs are moved correctly to the other root
    ceph osd pool set testsplit pg_num 66
  4. new pg is not created
    ceph osd pool set testsplit crush_ruleset 0
  5. 65 pgs moved to default root, 66th pg still not created.
    ceph osd pool set testsplit pg_num 67
  6. 66th and 67th pgs are created.
Actions

Also available in: Atom PDF