puppet-swift/manifests/init.pp
Newptone b0f4834165 Fix dependency problem in class swift
Class swift requires class['ssh::server::install'], otherwise it will
complain and fail to compile the catalog.

Change-Id: Ieeef735cc3e78bb6a6b514c711e5b87a861ee31b
2013-06-10 18:32:41 +08:00

77 lines
1.5 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.
#
# == 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':
name => $::swift::params::package_name,
ensure => $package_ensure,
}
}
package { 'swiftclient':
name => $::swift::params::client_package,
ensure => $package_ensure,
}
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,
content => template('swift/swift.conf.erb'),
}
file { '/var/cache/swift':
ensure => directory,
}
}