Allow Swift fallocate_reserve to be set per service

Bug #1545018 reported by Andy McCrae
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack-Ansible
Fix Released
High
Andy McCrae
Kilo
Won't Fix
Undecided
Unassigned
Liberty
Fix Committed
Medium
Kevin Carter
Trunk
Fix Released
High
Andy McCrae

Bug Description

When swift drives fill up completely it becomes difficult to administrate - you can't delete objects since this requires a write (of a tombstone file).

There is a built in fallocate_reserve value (per service) that will allow a set amount of space to be seen as "full", by the swift storage services, without actually being in use.

We should expose this value and default it to something smallish (e.g. 10GB since max swift write is 5GB).

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to openstack-ansible (master)

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

Changed in openstack-ansible:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to openstack-ansible-os_swift (master)

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

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on openstack-ansible (master)

Change abandoned by Andy McCrae (<email address hidden>) on branch: master
Review: https://review.openstack.org/279589
Reason: Moving repos

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to openstack-ansible-os_swift (master)

Reviewed: https://review.openstack.org/287912
Committed: https://git.openstack.org/cgit/openstack/openstack-ansible-os_swift/commit/?id=81aecda55fd612ff095f1546521b48dd0216ffbd
Submitter: Jenkins
Branch: master

commit 81aecda55fd612ff095f1546521b48dd0216ffbd
Author: Andy McCrae <email address hidden>
Date: Fri Feb 12 15:04:49 2016 +0000

    Expose and set a default fallocate_reserve value

    When swift disks fill up completely it becomes difficult to perform
    operations since delete operations require a write.

    By setting this value we can ensure that PUT requests won't happen when
    the disk space is below the threshold set (in bytes). This will not
    govern rsyncs, which can still happen to fill up the disks, but assuming
    a reasonably uniform distribution of data this should help prevent disks
    from filling up.

    Change-Id: I753de5e5ed09a21571575ef51c38752edc0730cb
    Closes-Bug: #1545018

Changed in openstack-ansible:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to openstack-ansible-os_swift (stable/mitaka)

Fix proposed to branch: stable/mitaka
Review: https://review.openstack.org/312780

Revision history for this message
Kevin Carter (kevin-carter) wrote :

Fix for liberty has been created here: https://review.openstack.org/312784

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to openstack-ansible-os_swift (stable/mitaka)

Reviewed: https://review.openstack.org/312780
Committed: https://git.openstack.org/cgit/openstack/openstack-ansible-os_swift/commit/?id=ca1d2fe0574f68bd515eb22f981bd3920d611561
Submitter: Jenkins
Branch: stable/mitaka

commit ca1d2fe0574f68bd515eb22f981bd3920d611561
Author: Andy McCrae <email address hidden>
Date: Fri Feb 12 15:04:49 2016 +0000

    Expose and set a default fallocate_reserve value

    When swift disks fill up completely it becomes difficult to perform
    operations since delete operations require a write.

    By setting this value we can ensure that PUT requests won't happen when
    the disk space is below the threshold set (in bytes). This will not
    govern rsyncs, which can still happen to fill up the disks, but assuming
    a reasonably uniform distribution of data this should help prevent disks
    from filling up.

    Change-Id: I753de5e5ed09a21571575ef51c38752edc0730cb
    Closes-Bug: #1545018
    (cherry picked from commit 81aecda55fd612ff095f1546521b48dd0216ffbd)

tags: added: in-stable-mitaka
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to openstack-ansible (liberty)

Reviewed: https://review.openstack.org/312784
Committed: https://git.openstack.org/cgit/openstack/openstack-ansible/commit/?id=96aee26133fbf29cee2fb179cfddeea3142276f9
Submitter: Jenkins
Branch: liberty

commit 96aee26133fbf29cee2fb179cfddeea3142276f9
Author: Kevin Carter <email address hidden>
Date: Wed May 4 18:27:22 2016 -0500

    Expose and set a default fallocate_reserve value

    When swift disks fill up completely it becomes difficult to perform
    operations since delete operations require a write.

    By setting this value we can ensure that PUT requests won't happen when
    the disk space is below the threshold set (in bytes). This will not
    govern rsyncs, which can still happen to fill up the disks, but assuming
    a reasonably uniform distribution of data this should help prevent disks
    from filling up.

    Change-Id: I753de5e5ed09a21571575ef51c38752edc0730cb
    Closes-Bug: #1545018
    (cherry picked from commit 81aecda55fd612ff095f1546521b48dd0216ffbd)
    Signed-off-by: Kevin Carter <email address hidden>

Revision history for this message
Doug Hellmann (doug-hellmann) wrote : Fix included in openstack/openstack-ansible 12.0.13

This issue was fixed in the openstack/openstack-ansible 12.0.13 release.

Revision history for this message
Davanum Srinivas (DIMS) (dims-v) wrote : Fix included in openstack/openstack-ansible-os_swift 13.1.2

This issue was fixed in the openstack/openstack-ansible-os_swift 13.1.2 release.

Revision history for this message
Thierry Carrez (ttx) wrote : Fix included in openstack/openstack-ansible-os_swift 14.0.0.0b1

This issue was fixed in the openstack/openstack-ansible-os_swift 14.0.0.0b1 development milestone.

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.