| Summary: | Creating crush nodes that aren't aligned with crush rules can result in pools that can't store or retrieve data | ||
|---|---|---|---|
| Product: | Red Hat Ceph Storage | Reporter: | Christina Meno <gmeno> |
| Component: | Calamari | Assignee: | Boris Ranto <branto> |
| Calamari sub component: | Back-end | QA Contact: | ceph-qe-bugs <ceph-qe-bugs> |
| Status: | CLOSED WONTFIX | Docs Contact: | |
| Severity: | medium | ||
| Priority: | unspecified | CC: | ceph-eng-bugs, gmeno, hnallurv, kdreyer, uboppana, vsarmila |
| Version: | 2.0 | Keywords: | FutureFeature |
| Target Milestone: | rc | ||
| Target Release: | 3.0 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Enhancement | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2017-07-25 16:29:48 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: | |
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: