87 lines
2.0 KiB
Puppet
87 lines
2.0 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.
|
|
#
|
|
# [*swift_ssh_key*] NOT YET IMPLEMENTED. I am not entirely sure what
|
|
# this key is intended to be used for.
|
|
#
|
|
# == Dependencies
|
|
#
|
|
# Class['ssh::server::install']
|
|
#
|
|
# == Authors
|
|
#
|
|
# Dan Bode dan@puppetlabs.com
|
|
#
|
|
# == Copyright
|
|
#
|
|
# Copyright 2011 Puppetlabs Inc, unless otherwise noted.
|
|
#
|
|
class swift(
|
|
$swift_hash_suffix,
|
|
# $swift_ssh_key,
|
|
$package_ensure = 'present'
|
|
) {
|
|
|
|
# maybe I should just install ssh?
|
|
Class['ssh::server::install'] -> Class['swift']
|
|
|
|
package { 'swift':
|
|
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,
|
|
}
|
|
|
|
file { '/var/run/swift':
|
|
ensure => directory,
|
|
}
|
|
|
|
file { '/etc/swift/swift.conf':
|
|
ensure => present,
|
|
mode => 0660,
|
|
content => template('swift/swift.conf.erb'),
|
|
}
|
|
|
|
# if ($swift_ssh_key) {
|
|
# if $swift_ssh_key !~ /^(ssh-...) +([^ ]*) *([^ \n]*)/ {
|
|
# err("Can't parse swift_ssh_key")
|
|
# notify { "Can't parse public key file $name on the keymaster: skipping ensure => $e
|
|
#nsure": }
|
|
# } else {
|
|
# $keytype = $1
|
|
# $modulus = $2
|
|
# $comment = $3
|
|
# ssh_authorized_key { $comment:
|
|
# ensure => "present",
|
|
# user => "swift",
|
|
# type => $keytype,
|
|
# key => $modulus,
|
|
# options => $options ? { "" => undef, default => $options },
|
|
# require => File["/home/swift"]
|
|
# }
|
|
# }
|
|
# }
|
|
# does swift need an ssh key?
|
|
# they are adding one in the openstack modules
|
|
|
|
#
|
|
# I do not understand how to configure the rings
|
|
# or why rings would be configured on the proxy?
|
|
|
|
}
|