Issue #8288 has been updated by Bill Proud.

Hi,

I now realise that there are a couple of complications with this bug:

* Packages with the parameter SUNW_PKG_ALLZONES set to true must be installed 
in the global zone and are automatically installed in all of the non-global 
zones.  The installation of such a package will fail if the "-G" option is used 
or if an installation is attempted in a non-global zone.  Mostly this isn't an 
issue as these packages will almost always be from the Solaris distribution and 
therefore probably installed in the initial server build.  You can check for 
this parameter with "pkgparam <package> SUNW_PKG_ALLZONES", for instance 
"pkgparam SUNWaccr SUNW_PKG_ALLZONES" returns true - incidentally this is a 
good example of a package that might not have been included in the server 
installation and therefore might need to be added by puppet.

* Packages that include files located in shared filesystems cannot be installed 
in sparse non-global zones - they can only be installed in the non-global zones 
by installing them in the global zone without the "-G" option.  If you are not 
familiar with the distinction between a whole root and a sparse root zone, the 
latter is configured so that some directory trees in the global zone are 
mounted as read-only loopback filesystems in the non-global zone.

Handling the above exceptions is probably too much for this bug so it would be 
enough for this feature to be an option.  But the point is that, unlike what I 
first thought, it really has to be a parameter and not hardcoded into the 
provider.

----------------------------------------
Bug #8288: Sun package provider should include '-G' flag to pkgadd on install
https://projects.puppetlabs.com/issues/8288

Author: eric sorenson
Status: Accepted
Priority: Normal
Assignee: 
Category: Solaris
Target version: 2.7.x
Affected Puppet version: 
Keywords: 
Branch: 


One of our teams ran into trouble using the sun package provider on zoned 
hosts. Without the '-G' flag, when run on a global zone, pkgadd attempts to 
install into all non-global zones, which isn't right if the non-global zones 
also run puppet.  According to the man page:

<pre>
     -G

         Add package(s) in the current zone only.  When  used  in
         the global zone, the package is added to the global zone
         only and is not propagated to any  existing  or  yet-to-
         be-created  non-global  zone.  When used in a non-global
         zone, the package(s) are added to  the  non-global  zone
         only.
</pre>

Locally I forked provider/package/sun.rb and made a one-line change to its 
'install' method, please consider taking this upstream
<pre>

125c125
<         cmd = []
---
>         cmd = ["-G"]
</pre>


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" 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-bugs?hl=en.

Reply via email to