# 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. # # == Dependencies # # Class['ssh::server::install'] # # == Authors # # Dan Bode dan@puppetlabs.com # # == Copyright # # Copyright 2011 Puppetlabs Inc, unless otherwise noted. # class swift( $swift_hash_suffix, $package_ensure = 'present' ) { include swift::params include ssh::server::install Class['ssh::server::install'] -> Class['swift'] if !defined(Package['swift']) { package { 'swift': ensure => $package_ensure, name => $::swift::params::package_name, } } package { 'swiftclient': ensure => $package_ensure, name => $::swift::params::client_package, } File { owner => 'swift', group => 'swift', require => Package['swift'] } file { '/home/swift': ensure => directory, mode => '0700', } file { '/etc/swift': ensure => directory, mode => '2770', } user {'swift': ensure => present, } file { '/var/lib/swift': ensure => directory, owner => 'swift' } file { '/var/run/swift': ensure => directory, } file { '/etc/swift/swift.conf': ensure => present, mode => '0660', } swift_config { 'swift-hash/swift_hash_path_suffix': value => $swift_hash_suffix } }