Files
puppet-swift/manifests/ringbuilder/create.pp
Sebastien Badia 77be0932fc Upgrade puppet-lint and fix metadata, parameter and style lint issues
This patch bump puppet-lint gem and add metadata and parameters checks.
Metadata lint issues (SPDX ID), missing parameters documentation and
syntaxe lint issues was also fixed in this patch

Doc for metadata syntax.
https://docs.puppetlabs.com/puppet/latest/reference/modules_publishing.html

Change-Id: Ia6bb3483b3ffdbeed60b58702a36e0c7b31ffb86
2015-03-24 15:18:28 +01:00

46 lines
1.2 KiB
Puppet

# Creates a swift ring using ringbuilder.
# It creates the associated ring file as /etc/swift/${name}.builder
# It will not create a ring if the file already exists.
#
# == Parameters
#
# [*name*] The type of ring to create. Accepts object|container|account
# [*part_power*] Number of partitions in the ring. (specified as the power of 2)
# Optional. Defaults to 18 (2^18)
# [*replicas] Number of replicas to store.
# Optional. Defaults to 3
# [*min_part_hours*] Time before a partition can be moved.
# Optional. Defaults to 24.
#
# == Examples
#
# swift::ringbuilder::create { 'account':
# part_power => 19,
# replicas => 5,
# min_part_hours => 1,
# }
#
# == Authors
#
# Pupppetlabs <info@puppetlabs.com>
#
# == Copyright
#
# Copyright 2011 Puppetlabs Inc, unless otherwise noted.
#
define swift::ringbuilder::create(
$part_power = 18,
$replicas = 3,
$min_part_hours = 24
) {
validate_re($name, '^object|container|account$')
exec { "create_${name}":
command => "swift-ring-builder /etc/swift/${name}.builder create ${part_power} ${replicas} ${min_part_hours}",
path => ['/usr/bin'],
creates => "/etc/swift/${name}.builder",
}
}