[SRU] Gathering of thin provisioning stats breaks c-vol
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Cinder |
Fix Released
|
Undecided
|
Gorka Eguileor | ||
OpenStack Cinder-Ceph charm |
Fix Released
|
Medium
|
Edward Hope-Morley | ||
Ubuntu Cloud Archive |
Fix Released
|
Undecided
|
Unassigned | ||
Ocata |
Fix Released
|
High
|
Unassigned | ||
Pike |
Fix Released
|
High
|
Unassigned |
Bug Description
[Impact]
Backport config option added in Queens to allow disabling the
collection of stats from all rbd volumes since this causes
tons of non-fatal race conditions and slows down deletes to
the point where the rpc thread pool fills up blocking further
requests. Our charms do not configure pool by default and we
are not aware of anyone doing this in the field so this patch
enables this option by default.
[Test Case]
By default no change in behaviour should occur. To test the
new feature we need to enable it i.e.:
* deploy openstack ocata
* set rbd_exclusive_
* create 100 volumes via cinder
* also create 100 volumes from the cinder pool but using the rbd client directly
* delete cinder volumes (via cinder) and delete the non-cinder rbd volumes using rbd client
* ensure there are no exceptions in cinder-volume.log
[Regression Potential]
The default behaviour is unchanged so no regression is expected.
=======
The gathering of the thin provisioning stats is done by looping over all volumes:
https:/
For larger deployments, this loop (done at start-up, upon volume deletion and as periodic a task) is taking too long and hence breaks the c-vol service.
From what I understand, the overall idea of this stats gathering is to bring the current real fill status of the pool to the admin's attention in case over-subscription was configured. For this, a fill status at the pool level (rather than the volume level) should be good enough.
summary: |
- Gat + Gathering of thin provisioning stats breaks c-vol |
tags: | added: ceph drivers rbd |
Changed in cinder: | |
status: | New → Confirmed |
no longer affects: | ubuntu |
Changed in cloud-archive: | |
status: | New → Fix Released |
Changed in charm-cinder-ceph: | |
milestone: | none → 19.04 |
assignee: | nobody → Edward Hope-Morley (hopem) |
importance: | Undecided → Medium |
tags: | added: sts-sru-done |
Changed in charm-cinder-ceph: | |
milestone: | 19.04 → 19.07 |
Changed in charm-cinder-ceph: | |
status: | Fix Committed → Fix Released |
As a simple mitigation, how about adding two config options to
- enable/disable provisioning stats gathering
- control the frequency of its periodic task ?