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:
|
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 #
|
# 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