support of "rbd cache = true" and "rbd cache writethrough until flush = true"
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
nova-compute (Juju Charms Collection) |
Fix Released
|
Wishlist
|
Edward Hope-Morley |
Bug Description
Ceph v0.87 Giant release or later enables "rbd cache" and "rbd cache writethrough until flush" by default[1].
In Ubuntu repositories, vivid+ or cloud-archive:
It would be nice if nova-compute charm has a config to enable "rbd cache" and "rbd cache writethrough until flush" as an option for Firefly. Regarding rbd cache settings, please refer [2].
[1] http://
> The client-side caching for librbd is now enabled by default (rbd
> cache = true). A safety option (rbd cache writethrough until flush =
> true) is also enabled so that writeback caching is not used until the
> library observes a ‘flush’ command, indicating that the librbd
> users is passing that operation through from the guest VM. This
> avoids potential data loss when used with older versions of qemu that
> do not support flush.
[2] http://
> The user space implementation of the Ceph block device (i.e., librbd)
> cannot take advantage of the Linux page cache, so it includes its own
> in-memory caching, called “RBD caching.” RBD caching behaves just
> like well-behaved hard disk caching.
Related branches
- Liam Young (community): Approve
-
Diff: 130 lines (+77/-6)2 files modifiedcharmhelpers/contrib/openstack/templates/ceph.conf (+6/-0)
tests/contrib/openstack/test_os_contexts.py (+71/-6)
- OpenStack Charmers: Pending requested
-
Diff: 77 lines (+34/-1)4 files modifiedcharm-helpers-hooks.yaml (+1/-1)
config.yaml (+8/-0)
hooks/charmhelpers/contrib/openstack/templates/ceph.conf (+6/-0)
hooks/nova_compute_context.py (+19/-0)
description: | updated |
Changed in nova-compute (Juju Charms Collection): | |
status: | New → Triaged |
importance: | Undecided → Wishlist |
milestone: | none → 15.04 |
Changed in nova-compute (Juju Charms Collection): | |
milestone: | 15.04 → 15.07 |
Changed in nova-compute (Juju Charms Collection): | |
assignee: | nobody → Edward Hope-Morley (hopem) |
Changed in nova-compute (Juju Charms Collection): | |
status: | Triaged → In Progress |
Changed in nova-compute (Juju Charms Collection): | |
milestone: | 15.07 → 15.10 |
Changed in nova-compute (Juju Charms Collection): | |
status: | In Progress → Fix Committed |
Changed in nova-compute (Juju Charms Collection): | |
status: | Fix Committed → Fix Released |
Making rbd cache settings controllable via charm makes sense for the reason
stated above but also to allow caching to be disabled for Ceph >= Giant since
some deployments may not want it to be enabled, perhaps for consistency when
performing an upgrade. Question is do we enable or disable by default in the
charms. I propose that we use an option like the following to allow Ceph
default behaviour to be used:
rbd-client-cache:
type: string
default:
description: |
Enable/disable rbd client cache. Leaving this value unset will result in
default Ceph rbd client settings being used (rbd cache is enabled by
default for Ceph >= Giant). Supported values here are "enabled" or
"disabled".