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.
