Allow to dedicate a journal by OSD.
The device name for an OSD or for a journal can be specified as a full-qualifed name (eg. /dev/sde) or a short-qualifed device name (eg. sde).
This commit is contained in:
		
				
					committed by
					
						
						Sebastien Badia
					
				
			
			
				
	
			
			
			
						parent
						
							2e482d275e
						
					
				
				
					commit
					524c698f0e
				
			@@ -16,7 +16,7 @@
 | 
				
			|||||||
class cloud::storage::rbd::osd (
 | 
					class cloud::storage::rbd::osd (
 | 
				
			||||||
  $public_address  = '127.0.0.1',
 | 
					  $public_address  = '127.0.0.1',
 | 
				
			||||||
  $cluster_address = '127.0.0.1',
 | 
					  $cluster_address = '127.0.0.1',
 | 
				
			||||||
  $devices         = ['sdb','sdc'],
 | 
					  $devices         = ['sdb','/dev/sdc'],
 | 
				
			||||||
) {
 | 
					) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  include 'cloud::storage::rbd'
 | 
					  include 'cloud::storage::rbd'
 | 
				
			||||||
@@ -26,7 +26,16 @@ class cloud::storage::rbd::osd (
 | 
				
			|||||||
    cluster_address => $cluster_address,
 | 
					    cluster_address => $cluster_address,
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  $osd_ceph = prefix($devices,'/dev/')
 | 
					  if is_array($devices) {
 | 
				
			||||||
  ceph::osd::device { $osd_ceph: }
 | 
					    if '/dev/' in $devices {
 | 
				
			||||||
 | 
					      ceph::osd::device { $devices: }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    else {
 | 
				
			||||||
 | 
					      $osd_ceph = prefix($devices,'/dev/')
 | 
				
			||||||
 | 
					      ceph::osd::device { $osd_ceph: }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  elsif is_hash($devices) {
 | 
				
			||||||
 | 
					    create_resources('ceph::osd::device', $devices)
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,8 +31,7 @@ describe 'cloud::storage::rbd::osd' do
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    let :params do
 | 
					    let :params do
 | 
				
			||||||
      { :public_address  => '10.0.0.1',
 | 
					      { :public_address  => '10.0.0.1',
 | 
				
			||||||
        :cluster_address => '192.168.0.1',
 | 
					        :cluster_address => '192.168.0.1' }
 | 
				
			||||||
        :devices         => ['sdb','sdc','sdd'] }
 | 
					 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    it 'configure ceph common' do
 | 
					    it 'configure ceph common' do
 | 
				
			||||||
@@ -50,7 +49,16 @@ describe 'cloud::storage::rbd::osd' do
 | 
				
			|||||||
        :public_address  => '10.0.0.1',
 | 
					        :public_address  => '10.0.0.1',
 | 
				
			||||||
        :cluster_address => '192.168.0.1'
 | 
					        :cluster_address => '192.168.0.1'
 | 
				
			||||||
      )
 | 
					      )
 | 
				
			||||||
      is_expected.to contain_ceph__osd__device('/dev/sdb','/dev/sdc','/dev/sdd')
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    context 'without specified journal' do
 | 
				
			||||||
 | 
					      before :each do
 | 
				
			||||||
 | 
					        params.merge!( :devices => ['sdb','sdc','sdd'] )
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      it 'configure ceph osd with a mixed full-qualified and short device name' do
 | 
				
			||||||
 | 
					        is_expected.to contain_ceph__osd__device('/dev/sdb','/dev/sdc','sdd')
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
@@ -61,7 +69,6 @@ describe 'cloud::storage::rbd::osd' do
 | 
				
			|||||||
        :concat_basedir => '/var/lib/puppet/concat',
 | 
					        :concat_basedir => '/var/lib/puppet/concat',
 | 
				
			||||||
        :uniqueid       => '123' }
 | 
					        :uniqueid       => '123' }
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					 | 
				
			||||||
    it_configures 'ceph osd'
 | 
					    it_configures 'ceph osd'
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user