Files
puppet-swift/manifests/init.pp
Gael Chamoulaud b75290b54c Require swift package installation before swift user.
- The user 'swift' is being ensured without any restriction on openstack-swift
package, so it is highly potential that the user is created before package is
installed with /bin/bash instead of /sbin/nologin as shell.

Closes-bug: #1525243
Change-Id: I4c7b7afb7eefeda0379db631f14eb8c32cbe8671
Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
2015-12-11 10:05:46 +01:00

82 lines
1.9 KiB
Puppet

# Install and configure base swift components
#
# == Parameters
#
# [*swift_hash_suffix*] string of text to be used
# as a salt when hashing to determine mappings in the ring.
# This file should be the same on every node in the cluster.
#
# [*package_ensure*] The ensure state for the swift package.
# (Optional) Defaults to present.
#
# [*client_package_ensure*] The ensure state for the swift client package.
# (Optional) Defaults to present.
#
# [*max_header_size*] Max HTTP header size for incoming requests for all swift
# services. Recommended size is 32768 for PKI keystone tokens.
# (Optional) Defaults to 8192
#
# == Dependencies
#
# None
#
# == Authors
#
# Dan Bode dan@puppetlabs.com
#
# == Copyright
#
# Copyright 2011 Puppetlabs Inc, unless otherwise noted.
#
class swift(
$swift_hash_suffix,
$package_ensure = 'present',
$client_package_ensure = 'present',
$max_header_size = '8192',
) {
include ::swift::params
if !defined(Package['swift']) {
package { 'swift':
ensure => $package_ensure,
name => $::swift::params::package_name,
tag => ['openstack', 'swift-package'],
}
}
class { '::swift::client':
ensure => $client_package_ensure;
}
File { owner => 'swift', group => 'swift', require => Package['swift'] }
file { '/etc/swift':
ensure => directory,
}
user {'swift':
ensure => present,
require => Package['swift'],
}
file { '/var/lib/swift':
ensure => directory,
}
file { '/var/run/swift':
ensure => directory,
selinux_ignore_defaults => true,
}
file { '/etc/swift/swift.conf':
ensure => file,
}
File['/etc/swift/swift.conf'] -> Swift_config<||>
swift_config { 'swift-hash/swift_hash_path_suffix':
value => $swift_hash_suffix,
}
swift_config { 'swift-constraints/max_header_size':
value => $max_header_size,
}
}