Issue #4953 has been updated by Daniel Grafe. File pattern_gnome added
Please don't merge. There is an issue with SUSE Patterns we observed. In short: You can't be sure that all packages defined by the pattern really have been installed after running puppet. The result depends on already installed packages. Please see the exemplary SUSE pattern attached. It's the gnome pattern and it defines what SUSE thinks you should have installed when using the gnome desktop. It says you should have the x11 pattern installed (+Req section) plus he following list of packages. But the problem is: The list of packages is split into required (+Prq) and recommended (+Prc) packages. And to decide if the pattern is already installed zypper only checks for the required packages. If these packages are installed zypper will stop doing nothing even though a lot of recommended packages are still missing. On a clean system all of the packages will be installed as expected and your fine. But we had the situation that we were configuring the gdm autologin feature with puppet and we set a dependency on the gdm package. Puppet was then scheduling this package resource before installing the gnome pattern. We then suddenly had the packages defined as required by the pattern already installed and zypper was not installing the gnome pattern. Puppet was running non deterministically at that time and we were surprised that on several installations the outcome is so different. But even running deterministically will not help us since puppet can still schedule package installations before scheduling the patterns. Our (internal) customers currently request the installations of patterns so we can't avoid them. We are working around it by defining a dummy notify resource and we are defining "before" and "require" dependencies to this resources so that patterns will always be installed before running the notify reasource and ordinary packages will always run after this notify resource. We can live with this work around. But it's up to you to decide whether or not this SUSE pattern flaw is acceptable and if you want to support this feature. ---------------------------------------- Feature #4953: Zypper Provider should support Patterns https://projects.puppetlabs.com/issues/4953 Author: Daniel Grafe Status: Requires CLA to be signed Priority: Normal Assignee: Daniel Grafe Category: package Target version: Affected Puppet version: 2.6.0 Keywords: Branch: SUSE defines software package lists called patterns. These patterns are combining related packages to useful software collections. For instance, the pattern "Basis-Devel" would give you the autotools, gcc, kernel sources etc... Zypper can be used to install all packages from these lists by installing the pattern when setting the type explicitely to pattern. For example: zypper install -t pattern Basis-Devel When using the zypper provider in puppet it would be nice to be able to install these patterns. Please find attached our quick modification of the provider. It will detect if the given name identifies a pattern or a package and will call zypper with the appropriate flags. -- 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.
