SwiftRawDisks parameter doesn't work properly

Bug #1634051 reported by Christian Schwede
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
Undecided
Christian Schwede

Bug Description

There is a parameter "SwiftRawDisks" that could be used to define disks to be used by Swift as storage device.

However, it doesn't work properly: defining SwiftRawDisks adds the given device to the rings, but the device "d1" still exists, and this is just a local directory, stored on the root disk. This was unexpected; IMO the device d1 should not be used if raw disks for Swift are defined, because there is a risk to overfill the root disk and create additional I/O load on the root disk.

The XFS filesystems on the raw disks are neither created and mounted, so you have to manually workaround this.

I used this template:

 parameter_defaults:
   SwiftRawDisks: {"vdb": {}}

Using the following template everything worked as expected:

 parameter_defaults:
   controllerExtraConfig:
     swift::storage::disks::args: {"vdb": {}}
     tripleo::profile::base::swift::ringbuilder::raw_disks: [':%PORT%/vdb']

However, defining these manually might be error-prone, using the single parameter "SwiftRawDisks" seems to be a better approach.

Changed in tripleo:
status: New → In Progress
assignee: nobody → Christian Schwede (cschwede)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (master)

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

description: updated
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (master)

Reviewed: https://review.openstack.org/387278
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=82e262dff234bae5b1c892d1943fbd50e61801f6
Submitter: Jenkins
Branch: master

commit 82e262dff234bae5b1c892d1943fbd50e61801f6
Author: Christian Schwede <email address hidden>
Date: Mon Oct 17 10:54:31 2016 +0200

    Fix usage of SwiftRawDisks

    Using the SwiftRawDisks parameter neither created the XFS filesystem nor
    mounted the device, requiring manual intervention by an operaror.

    Partial-Bug: 1634051
    Change-Id: I2da0f12635a37c1f339a3be59a7d00f352adf283

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (stable/newton)

Fix proposed to branch: stable/newton
Review: https://review.openstack.org/390925

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (stable/newton)

Reviewed: https://review.openstack.org/390925
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=ebd63e19726e0b4737a46f452f6da2df6933762e
Submitter: Jenkins
Branch: stable/newton

commit ebd63e19726e0b4737a46f452f6da2df6933762e
Author: Christian Schwede <email address hidden>
Date: Mon Oct 17 10:54:31 2016 +0200

    Fix usage of SwiftRawDisks

    Using the SwiftRawDisks parameter neither created the XFS filesystem nor
    mounted the device, requiring manual intervention by an operaror.

    Partial-Bug: 1634051
    Change-Id: I2da0f12635a37c1f339a3be59a7d00f352adf283
    (cherry picked from commit 82e262dff234bae5b1c892d1943fbd50e61801f6)

tags: added: in-stable-newton
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (master)

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

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (master)

Reviewed: https://review.openstack.org/391222
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=813b3dc4fc94745719afce7192ac24b153d1dbd8
Submitter: Jenkins
Branch: master

commit 813b3dc4fc94745719afce7192ac24b153d1dbd8
Author: Christian Schwede <email address hidden>
Date: Thu Oct 27 16:54:35 2016 +0200

    Add option to disable "d1" Swift device

    A default TripleO installation uses a local directory named "d1" to be
    used by Swift. With SwiftRawDisks set it is highly unlikely that that an
    operator wants to use this any longer, because it affects system
    perforamce and might result in an overfilled the system disk. In this
    case d1 should be no longer when building rings.

    This patch makes it possible to disable the d1 device usage in the ring
    building process by using a new option "SwiftUseLocalDir". This is set
    by default to true, not changing the default behavior. If set to false,
    the d1 device won't be used when building rings.

    Closes-Bug: 1634051
    Change-Id: Ia9ad38e3ffa533e170f4cedd0518d830e9b2fa69

Changed in tripleo:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (stable/newton)

Fix proposed to branch: stable/newton
Review: https://review.openstack.org/393769

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (stable/newton)

Reviewed: https://review.openstack.org/393769
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=5046f4157de93f476bb4fca95c12c370e80d8cf3
Submitter: Jenkins
Branch: stable/newton

commit 5046f4157de93f476bb4fca95c12c370e80d8cf3
Author: Christian Schwede <email address hidden>
Date: Thu Oct 27 16:54:35 2016 +0200

    Add option to disable "d1" Swift device

    A default TripleO installation uses a local directory named "d1" to be
    used by Swift. With SwiftRawDisks set it is highly unlikely that that an
    operator wants to use this any longer, because it affects system
    perforamce and might result in an overfilled the system disk. In this
    case d1 should be no longer when building rings.

    This patch makes it possible to disable the d1 device usage in the ring
    building process by using a new option "SwiftUseLocalDir". This is set
    by default to true, not changing the default behavior. If set to false,
    the d1 device won't be used when building rings.

    Closes-Bug: 1634051
    Change-Id: Ia9ad38e3ffa533e170f4cedd0518d830e9b2fa69
    (cherry picked from commit 813b3dc4fc94745719afce7192ac24b153d1dbd8)

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tripleo-heat-templates 5.1.0

This issue was fixed in the openstack/tripleo-heat-templates 5.1.0 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tripleo-heat-templates 6.0.0.0b1

This issue was fixed in the openstack/tripleo-heat-templates 6.0.0.0b1 development milestone.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tripleo-heat-templates 5.1.0

This issue was fixed in the openstack/tripleo-heat-templates 5.1.0 release.

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.