For testing you could edit the facter ruby code to return hardcoded values instead of running system profiler. I think it just adds everything to a hash then prefixes it with 'sp' if I remember correctly. I've edited ours to return other data.
Kyle On Dec 22, 2008, at 1:02 PM, Carl Caum <carl.c...@gmail.com> wrote: > Ok, yeah. That's what I was thinking. I can't test this on > physical hardware since both our physical XServes are in > production. I'll see if I can get a mac mini ordered. > > On Dec 22, 2008, at 11:57 AM, Crawford Kyle wrote: > >> Is the client running on Mac hardware and not in a VM? Seems like >> system_profiler, which is used to generate default facts is >> failing. Maybe it doesn't work because of virtual hardware. >> >> >> On Dec 22, 2008, at 12:28 PM, Carl Caum wrote: >> >>> Most plist management can be done with the defaults command. It >>> means we exec out everytime, but we could write a definition/ >>> plugin around it. >>> >>> I'm having trouble getting puppet to run on OS X. I installed >>> 0.24.7 on my OS X server VM using gems. After signing the >>> certificate on the puppetmaster side, I get this on the client side: >>> >>> 2008-12-22 11:25:35.796 system_profiler[6552:10b] Exception while >>> calling [SPPlatformReporter updateDictionary:] >>> *** -[NSCFArray objectAtIndex:]: index (3) beyond bounds (2) >>> err: Could not retrieve catalog: undefined method `[]' for >>> nil:NilClass >>> >>> Any ideas? >>> On Dec 19, 2008, at 11:16 PM, Crawford Kyle wrote: >>> >>>> >>>> On Dec 19, 2008, at 10:48 PM, Nigel Kersten wrote: >>>> >>>>> >>>>> >>>>> On Fri, Dec 19, 2008 at 7:23 PM, Crawford Kyle >>>>> <kcrw...@gmail.com> wrote: >>>>> >>>>> On Dec 19, 2008, at 7:55 PM, Nigel Kersten wrote: >>>>>> >>>>>> On Fri, Dec 19, 2008 at 2:29 PM, Carl Caum >>>>>> <carl.c...@gmail.com> wrote: >>>>>> >>>>>> Does anyone know how to go about joining Mac OS X Leopard to an >>>>>> Active >>>>>> Directory domain with puppet? >>>>>> Primarily it needs to be broken down in to doing LDAP >>>>>> authentication >>>>>> with a few attribute mappings and using kerberos for the password >>>>>> authentication. >>>>>> >>>>>> You're going to want to push out your DS preferences and then >>>>>> do an exec for the joining of the machine account I imagine, >>>>>> although you could do some of this with templates..... >>>>>> >>>>>> How were you doing this before Puppet? >>>>>> >>>>>> There are no native types now, because those of us doing the >>>>>> Mac stuff with Puppet don't work in AD environments :) >>>>>> >>>>>> I'm more than happy to spend time helping you work through this >>>>>> though Carl. I'm reasonably familiar with AD integration even >>>>>> though we don't do it here. >>>>>> >>>>>> This would be a great recipe to get up on the Puppet wiki. >>>>> >>>>> We are in a large AD environment using Puppet. We currently >>>>> handle the AD joining outside of Puppet with a python script in >>>>> a launchd job that runs at first boot, though we will probably >>>>> be moving this to Puppet. >>>>> >>>>> The typical steps are: >>>>> Make sure time server is set and time is set correctly >>>>> ( ntpd.conf or exec systemsetup ) >>>>> Activate AD plugin by enabling it in DirectoryService.plist. >>>>> ( just a simple key value but I think you need to restart >>>>> DirectoryService for it to notice ) >>>>> Configure AD plugin using dsconfigad options. ( this can take a >>>>> lot of options all of these just change key values in >>>>> ActiveDirectory.plist ) >>>>> Join to domain using dsconfigad with a limited AD account and >>>>> password with permissions to add machines to your OU. ( this >>>>> would need to exec the dsconfigad command with username, >>>>> password, OU, machine join name. Unfortunately the password is >>>>> passed to dsconfigad in clear text as a parameter ) >>>>> Set the authentication search path to Custom, and include your >>>>> AD domain node using dscl. ( dscl exec ) >>>>> >>>>> We do manage the time server with Puppet and setting a couple of >>>>> mapping attributes in the AD plists. >>>>> >>>>> I'm happy to help you get this all working in Puppet as well. >>>>> >>>>> oh cool. I didn't realize you were doing AD integration Kyle. >>>>> >>>>> How are you ensuring that AD continues to be configured on the >>>>> clients? Does the python launchd job do all of this? Or are you >>>>> managing some components as Puppet resources? >>>>> >>>>> I've been thinking for a while about how to mange >>>>> DirectoryService nodes as native Puppet types, but there are so >>>>> many attributes to think about I'm not sure it actually >>>>> simplifies matters all that much... >>>> >>>> Yes, I've done a lot of AD integration work. The python script I >>>> wrote tests the configuration and scenarios related to AD Node >>>> status and takes action if necessary. The only part in Puppet so >>>> far is management of a couple AD plist keys. >>>> >>>> Agreed, DirectoryService node configuration can get complex. >>>> There may be lower hanging fruit like improved plist management >>>> that would help in all areas including DirectoryService. >>>> >>>> Kyle >>>> >>>> >>>> >>>> >>> >>> >>> >>> >> >> >> >> > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---