 67d53de23a
			
		
	
	67d53de23a
	
	
	
		
			
			This commit removes The swift::storage::node declaration from the swift::storage::loopback definition. This is done to decouple the code that creates and mounts partitions from the code that creates swift devices.
		
			
				
	
	
		
			45 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Puppet
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Puppet
		
	
	
	
	
	
| # follow the instructions for creating a loopback device
 | |
| # for storage from: http://swift.openstack.org/development_saio.html
 | |
| #
 | |
| #
 | |
| # creates a managed loopback interface
 | |
| #   - creates a file
 | |
| #   - formats the file to be an xfs device and mounts it as a loopback device at /srv/node/$name
 | |
| #   - sets up each mount point as a swift endpoint
 | |
| define swift::storage::loopback(
 | |
|   $base_dir  = '/srv/loopback-device',
 | |
|   $mnt_base_dir = '/srv/node',
 | |
|   $byte_size = '1024',
 | |
|   $seek      = '25000'
 | |
| ) {
 | |
| 
 | |
|   if(!defined(File[$base_dir])) {
 | |
|     file { $base_dir:
 | |
|       ensure => directory,
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   if(!defined(File[$mnt_base_dir])) {
 | |
|     file { $mnt_base_dir:
 | |
|       owner  => 'swift',
 | |
|       group  => 'swift',
 | |
|       ensure => directory,
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   exec { "create_partition-${name}":
 | |
|     command     => "dd if=/dev/zero of=${base_dir}/${name} bs=${byte_size} count=0 seek=${seek}",
 | |
|     path        => ['/usr/bin/', '/bin'],
 | |
|     unless      => "test -f ${base_dir}/${name}",
 | |
|     require     => File[$base_dir],
 | |
|   }
 | |
| 
 | |
|   swift::storage::xfs { $name:
 | |
|     device       => "${base_dir}/${name}",
 | |
|     mnt_base_dir => $mnt_base_dir,
 | |
|     byte_size    => $byte_size,
 | |
|     subscribe    => Exec["create_partition-${name}"],
 | |
|   }
 | |
| 
 | |
| }
 |