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)

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?

I think that copying recursive directory data in huge amounts will crash your puppetmaster, even with only one client. (Hints: xmlrpc and file-serving)

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




Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to