Hi list,
i tried to write my first type and provider that should create logical
volumes. Seems like i'm missing something as i get nothing when i use
it: No errors and no logical volume :-(
type/logicalvolume.rb:
=================
Puppet::Type.newtype(:logicalvolume) do
@doc = "Manage logical volumes"
ensurable
newparam(:lvname) do
desc "The logcal volume's name"
validate do |value|
unless value =~ /^[a-z0-9]+/
raise ArgumentError , "%s is not a valid lv name" %
value
end
end
isnamevar
end
newparam(:size) do
desc "The size in M or G"
validate do |value|
unless value =~ /^[0-9]+[MG]/
raise ArgumentError , "%s is not a valid lv size" %
value
end
end
end
newparam(:vg) do
desc "The volumevg to create the volume in"
validate do |value|
unless value =~ /^[a-z0-9]+/
raise ArgumentError , "%s is not a valid lv name" %
value
end
end
end
end
provider/logicalvolume/logicalvolume.rb
===============================
Puppet::Type.type(:logicalvolume).provide(:logicalvolume) do
desc "LogicalVolume management"
commands :lvcreate => "lvcreate"
def create
lvcreate "-L", resource[:size], "-n", resource[:name],
resource[:vg]
end
def destroy
return true
end
def exists?
return nil
end
end
Test class Bozo
=============
class bozo {
logicalvolume { "test01lv":
size => "100M",
vg => "datavg",
#provider => "logicalvolume",
}
file { "/tmp/lvtest":
content => "aaa",
}
}
The file is created and no notice about the volume. I checken my type
and provider and it seems to be ok:
ruby -rpuppet type/logicalvolume.rb
ruby -rpuppet provider/logicalvolume/logicalvolume.rb
It's my first try and it may be obvious to you but i just don't get
it.
Thanks,
Daniel
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.