 337e7f83ab
			
		
	
	337e7f83ab
	
	
	
		
			
			Using multiple replicas for all-in-one requires special swift configuration that is incompatible with multi-host swift setups.
		
			
				
	
	
		
			64 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Puppet
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.6 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 { 'ssh::server::install': }
 | |
| 
 | |
| 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']: }
 |