Split example manifests into separate files
This commit splits the example manifest into separate files all and pre and removes the node declarations
This commit is contained in:
parent
01d2a78bc8
commit
4ff3e18f3a
@ -146,9 +146,11 @@ There are a few known issues with this code:
|
||||
|
||||
This example can be used as follows:
|
||||
|
||||
puppet apply examples/site.pp --certname pre_swift
|
||||
# set up pre-reqs
|
||||
puppet apply examples/pre.pp
|
||||
|
||||
puppet apply examples/site.pp --certname swift_all
|
||||
# install all swift components on a single node
|
||||
puppet apply examples/all.pp
|
||||
|
||||
# Verifying installation #
|
||||
|
||||
|
81
examples/all.pp
Normal file
81
examples/all.pp
Normal file
@ -0,0 +1,81 @@
|
||||
#
|
||||
# This example file is almost the
|
||||
# same as what I have been using
|
||||
# to build swift in my environment (which is based on vagrant)
|
||||
|
||||
$proxy_local_net_ip='127.0.0.1'
|
||||
$swift_shared_secret='changeme'
|
||||
Exec { logoutput => true }
|
||||
|
||||
package { 'curl': ensure => present }
|
||||
class { 'ssh::server::install': }
|
||||
class { 'memcached':
|
||||
listen_ip => $proxy_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,
|
||||
}
|
||||
swift::storage::loopback { ['1', '2', '3']:
|
||||
require => Class['swift'],
|
||||
}
|
||||
|
||||
Ring_object_device { weight => 1 }
|
||||
Ring_container_device { weight => 1 }
|
||||
Ring_account_device { weight => 1 }
|
||||
|
||||
ring_object_device { '127.0.0.1:6010':
|
||||
zone => 1,
|
||||
device_name => '1',
|
||||
}
|
||||
ring_object_device { '127.0.0.1:6020':
|
||||
zone => 2,
|
||||
device_name => '2',
|
||||
}
|
||||
ring_object_device { '127.0.0.1:6030':
|
||||
zone => 3,
|
||||
device_name => '3',
|
||||
}
|
||||
|
||||
ring_container_device { '127.0.0.1:6011':
|
||||
zone => 1,
|
||||
device_name => '1',
|
||||
}
|
||||
ring_container_device { '127.0.0.1:6021':
|
||||
zone => 2,
|
||||
device_name => '2',
|
||||
}
|
||||
ring_container_device { '127.0.0.1:6031':
|
||||
zone => 3,
|
||||
device_name => '3',
|
||||
}
|
||||
|
||||
ring_account_device { '127.0.0.1:6012':
|
||||
zone => 1,
|
||||
device_name => '1',
|
||||
}
|
||||
ring_account_device { '127.0.0.1:6022':
|
||||
zone => 2,
|
||||
device_name => '2',
|
||||
}
|
||||
ring_account_device { '127.0.0.1:6032':
|
||||
zone => 3,
|
||||
device_name => '3',
|
||||
}
|
||||
|
||||
class { 'swift::ringbuilder':
|
||||
part_power => '18',
|
||||
replicas => '3',
|
||||
min_part_hours => 1,
|
||||
require => Class['swift'],
|
||||
}
|
||||
|
||||
class { 'swift::storage': }
|
||||
|
||||
# TODO should I enable swath in the default config?
|
||||
class { 'swift::proxy':
|
||||
account_autocreate => true,
|
||||
require => Class['swift::ringbuilder'],
|
||||
}
|
||||
|
23
examples/pre.pp
Normal file
23
examples/pre.pp
Normal file
@ -0,0 +1,23 @@
|
||||
# this file
|
||||
# contains puppet resources
|
||||
# that I used to set up my
|
||||
# environment before installing swift
|
||||
|
||||
# set up all of the pre steps
|
||||
# this shoud be run
|
||||
|
||||
class { 'apt':}
|
||||
# use the swift trunk ppa
|
||||
class { 'swift::repo::trunk':}
|
||||
|
||||
# use our apt repo
|
||||
apt::source { 'puppet':
|
||||
location => 'http://apt.puppetlabs.com/ubuntu',
|
||||
release => 'natty',
|
||||
key => '4BD6EC30',
|
||||
}
|
||||
# install the latest version of Puppet
|
||||
package { 'puppet':
|
||||
ensure => latest,
|
||||
require => Apt::Source['puppet'],
|
||||
}
|
105
examples/site.pp
105
examples/site.pp
@ -1,105 +0,0 @@
|
||||
#
|
||||
# This example file is almost the
|
||||
# same as what I have been using
|
||||
# to build swift in my environment (which is based on vagrant)
|
||||
|
||||
$proxy_local_net_ip='127.0.0.1'
|
||||
$swift_shared_secret='changeme'
|
||||
Exec { logoutput => true }
|
||||
|
||||
# set up all of the pre steps
|
||||
# this shoud be run
|
||||
node pre_swift {
|
||||
|
||||
class { 'apt':}
|
||||
# use the swift trunk ppa
|
||||
class { 'swift::repo::trunk':}
|
||||
|
||||
# use our apt repo
|
||||
apt::source { 'puppet':
|
||||
location => 'http://apt.puppetlabs.com/ubuntu',
|
||||
release => 'natty',
|
||||
key => '4BD6EC30',
|
||||
}
|
||||
# install the latest version of Puppet
|
||||
package { 'puppet':
|
||||
ensure => latest,
|
||||
require => Apt::Source['puppet'],
|
||||
}
|
||||
}
|
||||
|
||||
node swift_all {
|
||||
package { 'curl': ensure => present }
|
||||
class { 'ssh::server::install': }
|
||||
class { 'memcached':
|
||||
listen_ip => $proxy_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,
|
||||
}
|
||||
swift::storage::loopback { ['1', '2', '3']:
|
||||
require => Class['swift'],
|
||||
}
|
||||
|
||||
Ring_object_device { weight => 1 }
|
||||
Ring_container_device { weight => 1 }
|
||||
Ring_account_device { weight => 1 }
|
||||
|
||||
ring_object_device { '127.0.0.1:6010':
|
||||
zone => 1,
|
||||
device_name => '1',
|
||||
}
|
||||
ring_object_device { '127.0.0.1:6020':
|
||||
zone => 2,
|
||||
device_name => '2',
|
||||
}
|
||||
ring_object_device { '127.0.0.1:6030':
|
||||
zone => 3,
|
||||
device_name => '3',
|
||||
}
|
||||
|
||||
ring_container_device { '127.0.0.1:6011':
|
||||
zone => 1,
|
||||
device_name => '1',
|
||||
}
|
||||
ring_container_device { '127.0.0.1:6021':
|
||||
zone => 2,
|
||||
device_name => '2',
|
||||
}
|
||||
ring_container_device { '127.0.0.1:6031':
|
||||
zone => 3,
|
||||
device_name => '3',
|
||||
}
|
||||
|
||||
ring_account_device { '127.0.0.1:6012':
|
||||
zone => 1,
|
||||
device_name => '1',
|
||||
}
|
||||
ring_account_device { '127.0.0.1:6022':
|
||||
zone => 2,
|
||||
device_name => '2',
|
||||
}
|
||||
ring_account_device { '127.0.0.1:6032':
|
||||
zone => 3,
|
||||
device_name => '3',
|
||||
}
|
||||
|
||||
class { 'swift::ringbuilder':
|
||||
part_power => '18',
|
||||
replicas => '3',
|
||||
min_part_hours => 1,
|
||||
require => Class['swift'],
|
||||
}
|
||||
|
||||
class { 'swift::storage': }
|
||||
|
||||
# TODO should I enable swath in the default config?
|
||||
class { 'swift::proxy':
|
||||
account_autocreate => true,
|
||||
require => Class['swift::ringbuilder'],
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user