Bug 1638092
Summary: | Default crush rule is not enforced | ||
---|---|---|---|
Product: | [Red Hat Storage] Red Hat Ceph Storage | Reporter: | Gregory Charot <gcharot> |
Component: | Ceph-Ansible | Assignee: | Dimitri Savineau <dsavinea> |
Status: | CLOSED ERRATA | QA Contact: | Vasishta <vashastr> |
Severity: | medium | Docs Contact: | |
Priority: | urgent | ||
Version: | 3.0 | CC: | anharris, aschoen, ceph-eng-bugs, dsavinea, gabrioux, gcharot, gfidente, gmeno, nthomas, pasik, sankarshan, tchandra, tserlin, yrabl |
Target Milestone: | z2 | ||
Target Release: | 3.2 | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | RHEL: ceph-ansible-3.2.10-1.el7cp Ubuntu: ceph-ansible_3.2.10-2redhat1 | Doc Type: | No Doc Update |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2019-04-30 15:56:43 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: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 1578730 |
Description
Gregory Charot
2018-10-10 16:03:40 UTC
So the issue is still present in ceph-ansible stable-3.2 but it depends on the ceph cluster architecture. As Greg reported, the osd_pool_default_crush_rule parameter seems to be apply correctly in the ceph.conf file (according to the ansible logs) but finally not present. In fact, the parameter is correctly set during the mons configuration (crush_rules.yml tasks [1]) but the mgrs configuration (which is executed after the mons) will erase it by reapplying the default ceph.conf template + overrides [2] (via the ceph-config role). So when I try with mon and mgr collocated on the same host I have the same issue than Greg. I suppose this come from a TripleO environment for him. Can you confirm this point ? When I try with mon and mgr on dedicated hosts, this works as expected # ceph osd pool create get_schwifty 64 pool 'get_schwifty' created # ceph osd pool get get_schwifty crush_rule crush_rule: standard # ceph osd crush rule ls replicated_rule standard ceph --admin-daemon /var/run/ceph/ceph-mon.mon0.asok config get osd_pool_default_crush_rule { "osd_pool_default_crush_rule": "1" } # grep osd_pool_default_crush_rule /etc/ceph/ceph.conf osd_pool_default_crush_rule = 1 [1] https://github.com/ceph/ceph-ansible/blob/stable-3.2/roles/ceph-mon/tasks/crush_rules.yml [2] https://github.com/ceph/ceph-ansible/blob/stable-3.2/roles/ceph-config/tasks/main.yml#L173-L189 Yes it comes from a TripleO environment. We talked about it with Seb some times ago and it indeed seems the config gets erased when the manager config gets written. IIRC the outcome was to avoid using a "ini_file" task. Working fine with ceph-ansible-3.2.13-1.el7cp.noarch Moving to VERIFIED state. 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/RHSA-2019:0911 |