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,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if is_array($devices) {
|
||||||
|
if '/dev/' in $devices {
|
||||||
|
ceph::osd::device { $devices: }
|
||||||
|
}
|
||||||
|
else {
|
||||||
$osd_ceph = prefix($devices,'/dev/')
|
$osd_ceph = prefix($devices,'/dev/')
|
||||||
ceph::osd::device { $osd_ceph: }
|
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