diff options
author | Rein Henrichs <rein@puppetlabs.com> | 2010-04-13 16:47:16 -0700 |
---|---|---|
committer | test branch <puppet-dev@googlegroups.com> | 2010-02-17 06:50:53 -0800 |
commit | a166d50c3c555a38ae13c1658b9afaefd583cfc9 (patch) | |
tree | eccfda10f430377f539feb6b3bdbc46f9f9bed92 /lib/puppet/provider | |
parent | af521fade9bf64704bab00ddf5d81aa1f987fb7e (diff) | |
download | puppet-a166d50c3c555a38ae13c1658b9afaefd583cfc9.tar.gz puppet-a166d50c3c555a38ae13c1658b9afaefd583cfc9.tar.xz puppet-a166d50c3c555a38ae13c1658b9afaefd583cfc9.zip |
Fix for #3399 zone type should handle exclusive IP stacks
* corrected missing status
* added cloning and support for default router
* RH: Fix spec to return accurate value for @resource[:clone]
* RH: Add spec for untested install case when @resource[:clone] returns
a (non-falsy) value
Signed-off-by: Rein Henrichs <rein@puppetlabs.com>
Diffstat (limited to 'lib/puppet/provider')
-rw-r--r-- | lib/puppet/provider/zone/solaris.rb | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/lib/puppet/provider/zone/solaris.rb b/lib/puppet/provider/zone/solaris.rb index b047f6984..1aaa70d47 100644 --- a/lib/puppet/provider/zone/solaris.rb +++ b/lib/puppet/provider/zone/solaris.rb @@ -65,7 +65,9 @@ Puppet::Type.type(:zone).provide(:solaris) do end def install(dummy_argument=:work_arround_for_ruby_GC_bug) - if @resource[:install_args] + if @resource[:clone] # TODO: add support for "-s snapshot" + zoneadm :clone, @resource[:clone] + elsif @resource[:install_args] zoneadm :install, @resource[:install_args].split(" ") else zoneadm :install @@ -227,8 +229,17 @@ Puppet::Type.type(:zone).provide(:solaris) do if dir = config["inherit-pkg-dir"] result[:inherit] = dir.collect { |dirs| dirs[:dir] } end + result[:iptype] = config[:"ip-type"] if net = config["net"] - result[:ip] = net.collect { |params| "%s:%s" % [params[:physical], params[:address]] } + result[:ip] = net.collect do |params| + if params[:defrouter] + "%s:%s:%s" % [params[:physical], params[:address], params[:defrouter]] + elsif params[:address] + "%s:%s" % [params[:physical], params[:address]] + else + params[:physical] + end + end end result |