diff options
| author | Derek Olsen <derek.olsen@e-hps.com> | 2011-01-13 14:07:00 -0800 |
|---|---|---|
| committer | Daniel Pittman <daniel@puppetlabs.com> | 2011-03-10 16:52:12 -0800 |
| commit | 0a2a58c8650e8956a4ae464d364310ced244303b (patch) | |
| tree | 8025c4689923424e89be26f19492f5923de9ea5c /lib | |
| parent | 6ff2e5cd775c5802113d27f85ed518e25365d563 (diff) | |
| download | puppet-0a2a58c8650e8956a4ae464d364310ced244303b.tar.gz puppet-0a2a58c8650e8956a4ae464d364310ced244303b.tar.xz puppet-0a2a58c8650e8956a4ae464d364310ced244303b.zip | |
(#5479) Autorequire zfs filesystem when zone dataset is configured
A zone dataset is just a zfs filesystem in the global zone.
This zfs filesystem needs to exist before it can be given to a zone as a
dataset. It seemed to make sense to autorequire the zfs filesystem. This
patch just autorequires the zfs filesystem which will be the dataset and let's
the zfs type manage autorequiring the parent zfs filesystems and zpool.
Reviewed-By: Daniel Pittman <daniel@puppetlabs.com>
Reviewed-By: Matt Robinson <matt@puppetlabs.com>
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/puppet/type/zone.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/puppet/type/zone.rb b/lib/puppet/type/zone.rb index fc524a541..c7c2aa143 100644 --- a/lib/puppet/type/zone.rb +++ b/lib/puppet/type/zone.rb @@ -413,6 +413,23 @@ Puppet::Type.newtype(:zone) do end end + # If Puppet is also managing the zfs filesystem which is the zone dataset + # then list it as a prerequisite. Zpool's get autorequired by the zfs + # type. We just need to autorequire the dataset zfs itself as the zfs type + # will autorequire all of the zfs parents and zpool. + autorequire(:zfs) do + + # Check if we have datasets in our zone configuration + if @parameters.include? :dataset + reqs = [] + # Autorequire each dataset + self[:dataset].each { |value| + reqs << value + } + reqs + end + end + def validate_ip(ip, name) IPAddr.new(ip) if ip rescue ArgumentError |
