Relevant mostly to OS X admins
When ds_finalize doesn’t
January 30, 2013Posted by on
When I get a new Mac in the office, it goes directly to my no-imaging workflow: NetBoot it to DeployStudio, and run my 10.8 Out Of Box workflow, which names the machine, binds to AD, runs configuration scripts, installs software, and even installs software that installs more software- Munki. I’ve got this workflow down, and I’ve run it dozens and dozens of times.
But yesterday was different: I took a 15″ retina (refub, like most we get) out of the box, NetBooted to DS, ran the workflow, and ran out for an errand, thinking my automated steps would be working in my absence. When I returned, I first noticed the login screen wasn’t right for a machine that had local accounts made, but was waiting for me to properly categorize it in Profile Manager. I tried the administrator account that should work, but it was instantly rejected. Reboot didn’t change things.
I ran the Out Of Box workflow again, this time watching it. After doing all the expected copying and a reboot, it never went into ds_finalize- it just skipped straight to loginwindow. I inquired in the ever-useful ##osx-server channel on IRC if anybody had experienced this, and Rich Trouton suggested starting over, via Internet Recovery reinstall. I did that, got the same results on the initial DS run.
After that, I took out the even more nuclear option: boot from recovery partition, use Disk Utility to erase the main volume, Internet Recovery, then run my Out Of Box DS workflow: success.
During my analysis of the failed runs, I found that only one of the LaunchDaemons was being made, along with just one of the scripts they call. I don’t have an understanding why it worked out this way, but know that a full nuke (not just reinstall) was the only fix I found. I’d be willing to dig more, but of course, the setup was for a new hire starting the next day…
EDIT: I returned to use DS the next day on a different machine, and found the same errors- ds_finalize was never kicking in. I ended up discussing the experience in the DeployStudio forums, and found that the DS folks has been aware of it, and had released an update, without upping the version number. That update fixed things.