Bug 1331592 - Creating crush nodes that aren't aligned with crush rules can result in pools that can't store or retrieve data
Summary: Creating crush nodes that aren't aligned with crush rules can result in pools...
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Ceph Storage
Classification: Red Hat
Component: Calamari
Version: 2.0
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: rc
: 3.0
Assignee: Boris Ranto
QA Contact: ceph-qe-bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-04-28 22:37 UTC by Christina Meno
Modified: 2022-02-21 18:03 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-07-25 16:29:48 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Christina Meno 2016-04-28 22:37:46 UTC
Description of problem:
The calamari API allows creation of CRUSH nodes and CRUSH rules
but the validation of semantics are lacking.

for example you can
Make a new root node that contains all existing OSDs and the default crush rules will be very unhappy

rule replicated_ruleset {
        ruleset 0
        type replicated
        min_size 1
        max_size 10
        step take default
        step chooseleaf firstn 0 type host
        step emit
}

since we don't have hosts between the root node and the osd and the name of the root isn't called default this rule will not select any OSDs for pools using the replicated ruleset


Version-Release number of selected component (if applicable):


How reproducible:
100%

Steps to Reproduce:
1. POST {"bucket_type": "root", "name": "general", "items": [{"id": 0, "weight": 0.0, "pos": 0}]} to /api/v2/cluster/<FSID>/crush_node

2.
3.

Actual results:
HTTP 201

Expected results:
HTTP 4XX -- some validation error

Additional info:


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