]> 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>
Wed, 13 May 2015 20:52:57 +0000 (20:52 +0000)
commite52f304313efc695f7dd89c222041bffd53c131a
treea91c6a4026730ccd216a6d9687d7c2d92b60b217
parenta8b5aea8491584cc88096f1c94ea10b601224d31
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
12 files changed:
cinder/tests/unit/test_netapp_nfs.py
cinder/tests/unit/volume/drivers/netapp/dataontap/client/test_client_7mode.py
cinder/tests/unit/volume/drivers/netapp/dataontap/client/test_client_cmode.py
cinder/tests/unit/volume/drivers/netapp/dataontap/fakes.py
cinder/tests/unit/volume/drivers/netapp/dataontap/test_nfs_7mode.py [new file with mode: 0644]
cinder/tests/unit/volume/drivers/netapp/dataontap/test_nfs_base.py
cinder/tests/unit/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