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:
Dan Bode 2012-01-23 13:12:57 -08:00
parent 01d2a78bc8
commit 4ff3e18f3a
4 changed files with 108 additions and 107 deletions

View File

@ -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
View 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
View 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'],
}

View File

@ -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'],
}
}