Hi Gary, On 29.06.2009, at 14:12, 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?
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)
I think that copying recursive directory data in huge amounts will crash your puppetmaster, even with only one client. (Hints: xmlrpc and file-serving)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?
no, see above.
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!
uh? Why do you thinkg this is unconventional? Puppet manages computers. What these computers are used for is irrelevant :) We do manage some macs (laptops and workstations) with puppet and everything works fine. Package managment does require quite a lot of time, but that is not puppet's fault.
Have fun, udo. -- :: udo waechter - r...@zoide.net :: N 52º16'30.5" E 8º3'10.1" :: genuine input for your ears: http://auriculabovinari.de :: your eyes: http://ezag.zoide.net :: your brain: http://zoide.net
smime.p7s
Description: S/MIME cryptographic signature