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

Reply via email to