Bugfix: Account for consumed space better
When the volume service starts up, it goes through all
volumes for a host in the db and adds up the volume size as
a mechanism to account for that allocate space against the
backend. The problem was that the volume manager was only
counting volumes with a state of 'in-use' or 'available'.
If a volume has a host set on it, then we account for it's
allocated space.
This patch adds other volume states to use to account for
allocated space at volume service startup.
Closes-Bug: 1910767
Change-Id: I90d5dfbe62e630dc8042e725d411cadc2762db56
(cherry picked from commit 72da8249d9
)
This commit is contained in:
parent
a3c8857ee3
commit
aa920e2fd4
|
@ -585,8 +585,8 @@ class VolumeManager(manager.CleanableManager,
|
|||
|
||||
try:
|
||||
for volume in volumes:
|
||||
# available volume should also be counted into allocated
|
||||
if volume['status'] in ['in-use', 'available']:
|
||||
# Account for volumes that have been provisioned already.
|
||||
if volume['host']:
|
||||
# calculate allocated capacity for driver
|
||||
self._count_allocated_capacity(ctxt, volume)
|
||||
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
fixes:
|
||||
- |
|
||||
`Bug #1910767 <https://bugs.launchpad.net/cinder/+bug/1910767>`_: Fixed
|
||||
the calculation of the allocated capacity for the volume manager.
|
||||
The fix takes into account all volumes that have a host setting, not just
|
||||
volumes with a status of 'in-use' or 'available'.
|
Loading…
Reference in New Issue