Bug 1560069

Summary: Backport RBD volume stats patch from upstream
Product: Red Hat OpenStack Reporter: Jon Bernard <jobernar>
Component: openstack-cinderAssignee: Elise Gafford <egafford>
Status: CLOSED ERRATA QA Contact: Avi Avraham <aavraham>
Severity: medium Docs Contact: Kim Nylander <knylande>
Priority: medium    
Version: 12.0 (Pike)CC: aavraham, abishop, cinder-bugs, dcadzow, egafford, geguileo, knylande, pgrist, scohen, srevivo, tshefi
Target Milestone: ---Keywords: FeatureBackport, Triaged, ZStream
Target Release: 12.0 (Pike)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openstack-cinder-11.1.0-20.el7ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1560068
: 1560070 (view as bug list) Environment:
Last Closed: 2018-12-05 18:49:12 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: 1560068    
Bug Blocks: 1560070    

Description Jon Bernard 2018-03-23 20:17:55 UTC
+++ This bug was initially created as a clone of Bug #1560068 +++

Gorka submitted a patch upstream recently to improve statistics collection for large numbers of RBD volumes in Cinder.  The patch is reasonably isolated and earlier versions or RHOS would benefit greatly from this.

Comment 9 Tzach Shefi 2018-11-23 03:01:17 UTC
Verified on:
openstack-cinder-11.1.0-22.el7ost.noarch

With rbd_exclusive_cinder_pool = true
On a controller create two volumes, directly on RBD backend, via:
#rbd create --size 10240 volumes/vol10G
#rbd create --size 10240 volumes/vol10-2G

cinder get-pools --detail    
| allocated_capacity_gb       | 0                                   |
| free_capacity_gb            | 47.36                               |
| max_over_subscription_ratio | 20.0                                |
| total_capacity_gb           | 47.36

Looks fine, as due to true setting we shouldn't see the 10G*2 showup. 

cinder create 2 
cinder get-pools --detail
+-----------------------------+-------------------------------------+
| Property                    | Value                               |
+-----------------------------+-------------------------------------+
| allocated_capacity_gb       | 2                                   |
| free_capacity_gb            | 47.36                               |
| reserved_percentage         | 0                                   |
| total_capacity_gb           | 47.36                               |

Attach and fill cinder's volume with data. 
(overcloud) [stack@undercloud-0 ~]$ cinder get-pools --detail
+-----------------------------+-------------------------------------+
| Property                    | Value                               |
+-----------------------------+-------------------------------------+
| allocated_capacity_gb       | 2                                   |
| free_capacity_gb            | 46.64      -> as expected           |
| reserved_percentage         | 0                                   |
| total_capacity_gb           | 47.33                               |



Now switched to rbd_exclusive_cinder_pool = false + restarting c-vol.
cinder get-pools --detail
+-----------------------------+-------------------------------------+                                                             
| Property                    | Value                               |                                                             
+-----------------------------+-------------------------------------+                                                             
| allocated_capacity_gb       | 2                                   |                                                             
| free_capacity_gb            | 46.68                               |                                                             
| provisioned_capacity_gb     | 22.0 -> now also exposes initial 2*10G rbd vols  
| reserved_percentage         | 0                                   |
| total_capacity_gb           | 47.36                               |


With false setting we now a new line added on output:
provisioned_capacity_gb 22

Which is true per the 2*10G volumes created on RBD's backend. 
Correctly reflected, OK to verify.

Comment 11 Alan Bishop 2018-11-28 18:41:38 UTC
See the doc text for bug #1593316 (also OSP-12, same root issue).

Comment 13 errata-xmlrpc 2018-12-05 18:49:12 UTC
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/RHBA-2018:3785