178f4b18dc
* Fix following warnings: * double quoted string containing no variables * indentation of => is not properly aligned * mode should be represented as a 4 digit octal value or symbolic mode * string containing only a variable * top-scope variable being used without an explicit namespace * unquoted file mode * variable not enclosed in {} * Fix following errors: * trailing whitespace found * two-space soft tabs not used * Remove quotes around class in include/require statements Change-Id: Ia920d848e1955612a6486ec8731309e6d3a70f63
63 lines
1.5 KiB
Puppet
63 lines
1.5 KiB
Puppet
#
|
|
# This example file is almost the
|
|
# can be used to build out a sample swift all in one environment
|
|
#
|
|
$swift_local_net_ip='127.0.0.1'
|
|
|
|
$swift_shared_secret='changeme'
|
|
|
|
Exec { logoutput => true }
|
|
|
|
package { 'curl': ensure => present }
|
|
|
|
|
|
class { 'memcached':
|
|
listen_ip => $swift_local_net_ip,
|
|
}
|
|
|
|
class { 'swift':
|
|
# not sure how I want to deal with this shared secret
|
|
swift_hash_suffix => $swift_shared_secret,
|
|
package_ensure => latest,
|
|
}
|
|
|
|
# === Configure Storage
|
|
|
|
class { 'swift::storage':
|
|
storage_local_net_ip => $swift_local_net_ip
|
|
}
|
|
|
|
# create xfs partitions on a loopback device and mounts them
|
|
swift::storage::loopback { '2':
|
|
require => Class['swift'],
|
|
}
|
|
|
|
# sets up storage nodes which is composed of a single
|
|
# device that contains an endpoint for an object, account, and container
|
|
|
|
swift::storage::node { '2':
|
|
mnt_base_dir => '/srv/node',
|
|
weight => 1,
|
|
manage_ring => true,
|
|
zone => '2',
|
|
storage_local_net_ip => $swift_local_net_ip,
|
|
require => Swift::Storage::Loopback[2] ,
|
|
}
|
|
|
|
class { 'swift::ringbuilder':
|
|
part_power => '18',
|
|
replicas => '1',
|
|
min_part_hours => 1,
|
|
require => Class['swift'],
|
|
}
|
|
|
|
|
|
# TODO should I enable swath in the default config?
|
|
class { 'swift::proxy':
|
|
proxy_local_net_ip => $swift_local_net_ip,
|
|
pipeline => ['healthcheck', 'cache', 'tempauth', 'proxy-server'],
|
|
account_autocreate => true,
|
|
require => Class['swift::ringbuilder'],
|
|
}
|
|
class { ['swift::proxy::healthcheck', 'swift::proxy::cache', 'swift::proxy::tempauth']: }
|