NetApp NFS drivers ignore nfs_oversub_ratio when reporting pool capacity

Bug #1449620 reported by Tom Barron
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Cinder
Fix Released
Undecided
Tom Barron
Kilo
Fix Released
Undecided
Unassigned

Bug Description

Currently NetApp NFS drivers - both cDOT and 7mode - do not make use of the nfs_oversub_ratio configuration parameter to enable OpenStack administrators to configure back ends to report anything other than the most conservative capacity and usage information up to the scheduler. Since these drivers inherit from the generic NFS driver, where nfs_oversub_ratio can be configured, they allow administrators to configure over-subscription, but do not actually implement it.

Note that this issue occurs at least as early as juno since we have a customer case reporting this as broken in that release. It is a problem-in-the field issue with nfs_oversub_ratio, not a request that NFS or NetApp drivers support the more general max_oversubscription_ratio functionality introduced in kilo.

Tom Barron (tpb)
Changed in cinder:
assignee: nobody → Tom Barron (tpb)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to cinder (master)

Fix proposed to branch: master
Review: https://review.openstack.org/180199

Changed in cinder:
status: New → In Progress
Tom Barron (tpb)
description: updated
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (master)

Reviewed: https://review.openstack.org/180199
Committed: https://git.openstack.org/cgit/openstack/cinder/commit/?id=e52f304313efc695f7dd89c222041bffd53c131a
Submitter: Jenkins
Branch: master

commit e52f304313efc695f7dd89c222041bffd53c131a
Author: Tom Barron <email address hidden>
Date: Tue Apr 21 11:07:30 2015 -0400

    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 <email address hidden>
    Closes-bug: 1449620
    Change-Id: Ic7b606b88f063b9ed6df62fd1fb7248922496326

Changed in cinder:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to cinder (stable/kilo)

Fix proposed to branch: stable/kilo
Review: https://review.openstack.org/185724

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (stable/kilo)

Reviewed: https://review.openstack.org/185724
Committed: https://git.openstack.org/cgit/openstack/cinder/commit/?id=5ff9497e906c0d41a6b6ef59f057073eeb0fa1c6
Submitter: Jenkins
Branch: stable/kilo

commit 5ff9497e906c0d41a6b6ef59f057073eeb0fa1c6
Author: Tom Barron <email address hidden>
Date: Tue Apr 21 11:07:30 2015 -0400

    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 <email address hidden>
    Closes-bug: 1449620
    Change-Id: Ic7b606b88f063b9ed6df62fd1fb7248922496326
    (cherry picked from commit e52f304313efc695f7dd89c222041bffd53c131a)

tags: added: in-stable-kilo
Thierry Carrez (ttx)
Changed in cinder:
milestone: none → liberty-1
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in cinder:
milestone: liberty-1 → 7.0.0
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.