On Mon, Jun 29, 2009 at 4:13 PM, Allan Marcus<al...@lanl.gov> wrote: > > I think people are missing Gary's point (or maybe I am). Puppet works > by ensuring a package is installed. If the package version changes, > puppet will install the new version. > > I a lab where those pesky students might delete a file in, say the MS > Office directory, puppet would do nothing since the package version > has not changed. > > There is very well architected solution to this: radmind.
There's an even better solution for labs. Permissions :) This was what I was referring to with a) though. Files you consider mandatory that Puppet can use the existence of to determine whether a package should be reinstalled. > > In my mind, puppet is great in an environment where there is either > good system administrative controls on the computers, or knowledgeable > users that know not to delete an arbitrary file. In a student lab > situation where who knows what might happen, radmind or even deep > freeze might be a better solution. > > That said, i want to thank Udo's explanation for how the provider > works. He explanation should be added to the wiki page: > http://reductivelabs.com/trac/puppet/wiki/PuppetMacOSX > >> pkg_deploy is only a convenience/wrapper define around the package- >> type. >> Since OS X does not really have something like a package-management, >> you can really only install stuff. >> The package-type does mark a successfull installation of a package >> by creating a >> /var/db/.puppet_[pkg|app]dmg_<packagename> >> >> Thats it. You can remove that file by hand, then puppet thinks it >> did not install the package and reinstalls it again. >> Another trick (what we do), is to simply increase the version number >> of the package. One could also call it: rename the package. >> (OfficeX-2008.1.dmg -> OfficeX-2008.2.dmg) > > The only issue I see is the possible proliferation of these .puppet_ > files in /var/db. How do people deal with them (or not)? I don't bother. They're invisible files that take up almost no space. > > > > On Jun 29, 2009, at 6:12 AM, Gary Larizza wrote: > >> >> Hi All, >> >> I'm successfully using pkg_deploy to deploy DMG-encapsulated packages >> on Mac Clients. My question would be - since Puppet is essentially >> used to define a "state" that the computer is in, what would be the >> best way to maintain a "state" after deploying a package? >> >> For example, if you deployed a package to install Microsoft Office, >> you would probably ensure that the Microsoft Office directory (as well >> as the individual .Apps) was Present. If the directory WASN'T present >> (someone deleted it, for example), is there a way to call pkg_deploy >> again to re-deploy the package, or would you have to keep the >> Microsoft Office directory structure on the Puppetmaster server >> (inside your module/files directory, for example) in order for it to >> send the directory structure down to the damaged client? >> >> In that vein (and a separate question), how does puppet know that >> pkg_deploy has been run and that the DMG-encapsulated package has been >> run/installed? It doesn't call pkg_deploy on subsequent catalog >> checks by the client - so it's not bringing down the DMG again and >> attempting an install. Is there some sort of "receipt" that it checks >> - or does it actually USE the Receipts directory to monitor >> installation? >> >> I know I'm trying to use Puppet to maintain staff and lab computers - >> which is somewhat unconventional, but it stands up to the >> implementation! Thanks for all your help and support! >> >> -Gary >> > > > > > > -- Nigel Kersten nig...@google.com System Administrator Google, Inc. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en -~----------~----~----~----~------~----~------~--~---