Skip to content

Commit 1ee57c0

Browse files
committed
Merge pull request #115 from camptocamp/features/safe_dirs
Add support for datastore safedirs
2 parents c4bdfd0 + a8dc9d7 commit 1ee57c0

3 files changed

Lines changed: 13 additions & 10 deletions

File tree

lib/puppet/provider/onedatastore/cli.rb

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ def create
3030
NAME = <%= resource[:name] %>
3131
TM_MAD = <%= resource[:tm] %>
3232
TYPE = <%= resource[:type].to_s.upcase %>
33+
<% if resource[:safe_dirs] %>
34+
SAFE_DIRS = <%= resource[:safe_dirs].join(' ') %>
35+
<% end %>
3336
<% if resource[:dm] %>
3437
DS_MAD = <%= resource[:dm] %>
3538
<% end %>
@@ -54,12 +57,13 @@ def exists?
5457
def self.instances
5558
REXML::Document.new(onedatastore('list', '-x')).elements.collect("DATASTORE_POOL/DATASTORE") do |datastore|
5659
new(
57-
:name => datastore.elements["NAME"].text,
58-
:ensure => :present,
59-
:type => datastore.elements["TEMPLATE/TYPE"].text,
60-
:dm => (datastore.elements["TEMPLATE/DS_MAD"].text unless datastore.elements["TEMPLATE/DS_MAD"].nil?),
61-
:tm =>( datastore.elements["TEMPLATE/TM_MAD"].text unless datastore.elements["TEMPLATE/TM_MAD"].nil?),
62-
:disktype => {0 => 'file', 1 => 'block', 2 => 'rdb'}[datastore.elements["DISK_TYPE"].text]
60+
:name => datastore.elements["NAME"].text,
61+
:ensure => :present,
62+
:type => datastore.elements["TEMPLATE/TYPE"].text,
63+
:dm => (datastore.elements["TEMPLATE/DS_MAD"].text unless datastore.elements["TEMPLATE/DS_MAD"].nil?),
64+
:safe_dirs => (datastore.elements["TEMPLATE/SAFE_DIRS"].text.split(' ') unless datastore.elements["TEMPLATE/SAFE_DIRS"].nil?),
65+
:tm => ( datastore.elements["TEMPLATE/TM_MAD"].text unless datastore.elements["TEMPLATE/TM_MAD"].nil?),
66+
:disktype => {0 => 'file', 1 => 'block', 2 => 'rdb'}[datastore.elements["DISK_TYPE"].text]
6367
)
6468
end
6569
end

lib/puppet/type/onedatastore.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@
4040
desc "Choose a disk type: file, block, rdb"
4141
end
4242

43-
# newproperty(:safedirs, :array_matching => :all) do
44-
# desc "Array of safe directories"
45-
# end
43+
newproperty(:safe_dirs, :array_matching => :all) do
44+
desc "Array of safe directories"
45+
end
4646

4747
# newproperty(:restricteddirs, :array_matching => :all) do
4848
# desc "Array of restricted directory names"

spec/acceptance/onedatastore_spec.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ class { 'one':
2727

2828
describe 'when creating a Files datastore' do
2929
it 'should idempotently run' do
30-
pending 'missing safe_dirs property'
3130
pp = <<-EOS
3231
onedatastore { 'kernels':
3332
dm => 'fs',

0 commit comments

Comments
 (0)