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.

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)?

---
Thanks,

Allan Marcus
505-667-5666



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
> >


--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to