]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commit
Use nfs_oversub_ratio when reporting pool capacity
authorTom Barron <tpb@dyncloud.net>
Tue, 21 Apr 2015 15:07:30 +0000 (11:07 -0400)
committerTom Barron <tpb@dyncloud.net>
Tue, 26 May 2015 20:00:47 +0000 (20:00 +0000)
commit5ff9497e906c0d41a6b6ef59f057073eeb0fa1c6
treecbcb62cf1e850c87be5a6a3d2bd45c9d9c9be08d
parentc0f12f28be44a2e05932de1f222698dce221b2b7
Use nfs_oversub_ratio when reporting pool capacity

Currently NetApp NFS drivers do not make use of the nfs_oversub_ratio
configuration parameter to enable OpenStack administrators to report
anything other than the most conservative capacity and usage information
up to the scheduler

This commit:
  *  modifies the NetApp drivers to use the nfs_oversub_ratio as
     documented.
  *  uses direct API with filers to gather capacity information rather
     than stat and du commands
  *  brings our reporting of reserved percentage in line with the way
     the scheduler actually makes use of this statistic
  *  simplifies and cleans up the way we gather and report pool statistics

Note that this fix addresses an in-the-field bug report from juno
and is intended to be the basis for backported fixes.

In kilo, a more general approach to overprovisioning using
     max_oversubscription_ratio
was introduced via commit 3548a4bc9edbb26b248b5af5ecc2145f2c6f7481.
In this newer approach, the scheduler computes "virtual" free space
rather than the driver reporting "apparent" free space.

This fix to bring NetApp NFS drivers into conformity with the generic
NFS driver is not intended as a substitute for introducing support
in our drivers for the newer approach to overprovisioning.  Rather,
it is a bug-fix for an existing failure to honor the nfs_oversub_ratio.

DocImpact
Co-Authored-By: Dustin Schoenbrun <dustin.schoenbrun@netapp.com>
Closes-bug: 1449620
Change-Id: Ic7b606b88f063b9ed6df62fd1fb7248922496326
(cherry picked from commit e52f304313efc695f7dd89c222041bffd53c131a)
12 files changed:
cinder/tests/test_netapp_nfs.py
cinder/tests/volume/drivers/netapp/dataontap/client/test_client_7mode.py
cinder/tests/volume/drivers/netapp/dataontap/client/test_client_cmode.py
cinder/tests/volume/drivers/netapp/dataontap/fakes.py
cinder/tests/volume/drivers/netapp/dataontap/test_nfs_7mode.py [new file with mode: 0644]
cinder/tests/volume/drivers/netapp/dataontap/test_nfs_base.py
cinder/tests/volume/drivers/netapp/dataontap/test_nfs_cmode.py
cinder/volume/drivers/netapp/dataontap/client/client_7mode.py
cinder/volume/drivers/netapp/dataontap/client/client_cmode.py
cinder/volume/drivers/netapp/dataontap/nfs_7mode.py
cinder/volume/drivers/netapp/dataontap/nfs_base.py
cinder/volume/drivers/netapp/dataontap/nfs_cmode.py