configuration database support
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ceph Monitor Charm |
Triaged
|
Wishlist
|
Unassigned |
Bug Description
[Impact]
In the mimic release, ceph introduced a new configuration database feature [0] with a simply stated goal: "avoid the need for external tools to manage ceph.conf configuration file."
On an initial deployment, nothing has changed. The ceph.conf file is parsed and all values are read into the configuration database.
The core issue arises with day-2 operations. Any value that already exists in the configuration database will no longer receive updates from ceph.conf. This breaks a number of settings in the ceph-* charms that rely on ceph.conf to propagate changes.
[Test Case]
# change loglevel to a new value
juju config ceph-mon loglevel 20
# verify ceph.conf values were updated
juju run --application ceph-mon 'sudo cat /etc/ceph/
# dump config
juju run --application ceph-mon 'sudo ceph config dump'
# restart ceph-mon service to pick up ceph.conf changes
juju run --application ceph-mon 'sudo systemctl restart ceph-mon'
# dump config
juju run --application ceph-mon 'sudo ceph config dump'
The debug log levels have not changed. The log levels were set in the config db during deployment, so any further changes are not picked up from ceph.conf.
[Other Info]
The upstream expectation is for configuration changes to flow through the new ceph config CLI. They provide an 'assimilate-config' command to migrate to the new minimal ceph.conf that just includes keys and mon ips. All that is required to connect to the mon config database.
This is an issue with all ceph releases since mimic.
[0] https:/
tags: | added: seg |
tags: | added: sts |
Changed in charm-ceph-mon: | |
importance: | Undecided → High |
tags: | added: field-high |
tags: | removed: field-high |
Changed in charm-ceph-mon: | |
milestone: | none → 20.10 |
Changed in charm-ceph-mon: | |
milestone: | 20.10 → 21.01 |
Changed in charm-ceph-mon: | |
milestone: | 21.01 → none |
TRIAGE:
As Liam pointed out we actually already have the infrastructure to execute ceph config set [0][1][2][3].
We will need to add all ceph-mon charm configuration parameters to the send_osd_settings [2].
[0] https:/ /github. com/openstack/ charm-ceph- mon/blob/ master/ hooks/ceph_ hooks.py# L688 /github. com/openstack/ charms. ceph/blob/ master/ charms_ ceph/utils. py#L3303 /github. com/juju/ charm-helpers/ blob/master/ charmhelpers/ contrib/ storage/ linux/ceph. py#L165 /github. com/openstack/ charm-ceph- osd/blob/ master/ hooks/ceph_ hooks.py# L666
[1] https:/
[2] https:/
[3] https:/