puppet-swift/manifests/ringbuilder/rebalance.pp

30 lines
880 B
Puppet

# == Class: swift::ringbuilder::rebalance
#
# Reblances the specified ring. Assumes that the ring already exists
# and is stored at /etc/swift/${name}.builder
#
# == Parameters
#
# [*ring_type*]
# Optional. Type of ring to rebalance. The ring file is assumed to be at
# the path /etc/swift/${ring_type}.builder
#
# [*seed*]
# Optional. Seed value used to seed pythons pseudo-random for ringbuilding.
#
define swift::ringbuilder::rebalance(
Swift::RingType $ring_type = $name,
Optional[Variant[Integer[0], Pattern[/^\d+$/]]] $seed = undef
) {
include swift::deps
exec { "rebalance_${ring_type}":
command => strip("swift-ring-builder /etc/swift/${ring_type}.builder rebalance ${seed}"),
path => ['/usr/bin'],
refreshonly => true,
before => Anchor['swift::config::end'],
returns => [0, 1],
}
}