 2d84cf4e16
			
		
	
	2d84cf4e16
	
	
	
		
			
			swift_hash_suffix was deprecated in Mitaka and should be removed in Newton. See http://docs.openstack.org/icehouse/config-reference/content/swift-general-service-configuration.html Change-Id: I3b5c55607bcd8a2aa5288cdfefa96a152d1682cb
		
			
				
	
	
		
			92 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Puppet
		
	
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			2.1 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_path_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']: }
 | |
| 
 | |
| class { '::swift::proxy::tempauth':
 | |
|   account_user_list => [
 | |
|     {
 | |
|       'user'    => 'admin',
 | |
|       'account' => 'admin',
 | |
|       'key'     => 'admin',
 | |
|       'groups'  => [ 'admin', 'reseller_admin' ],
 | |
|     },
 | |
|     {
 | |
|       'user'    => 'tester',
 | |
|       'account' => 'test',
 | |
|       'key'     => 'testing',
 | |
|       'groups'  => ['admin'],
 | |
|     },
 | |
|     {
 | |
|       'user'    => 'tester2',
 | |
|       'account' => 'test2',
 | |
|       'key'     => 'testing2',
 | |
|       'groups'  => ['admin'],
 | |
|     },
 | |
|     {
 | |
|       'user'    => 'tester',
 | |
|       'account' => 'test',
 | |
|       'key'     => 'testing3',
 | |
|       'groups'  => [],
 | |
|     },
 | |
|   ]
 | |
| }
 |