The replacement for my broken office machine came this morning. I got a nice Mac Pro this time, to get some more computing power to add to our Xgrid.
It’s a rather nice machine, but the screen, although 24″ as the iMac, seems a bit small, though. Probably just because there is not much of a border around it, so to compensate I connected two screens… which reminds me that I need to go and get a new converter for the display port before I need one for connecting my MacBook to a projector…
It was also a rather nice surprise when iStat Menus showed 16 cores instead of the previous two.
There’s actually only 8 cores (it is two quad core CPUs) but with hyper threading that is what it looks like.
So far so good.
I configured it by extracting everything from my Time Machine backup from the crashed iMac. That turned out to be a mistake, though.
When I tried to configure it for Xgrid – the reason why I got a Mac Pro rather than another iMac – I ran into trouble.
I need this machine to run a controller (because my iMac ran as the controller for our grid earlier, and the grid had been down since it was smashed), but I just couldn’t start the controller daemon! It flatly refused to read the database file (/var/xgrid/controller/datastore.db). I was under the impression that if I deleted this file it would just create a new one, but no such luck for me. There was absolutely nothing I could do to get it to accept this file (or the absence of it) in the hours I worked with this…
I gave up late afternoon and decided to just reinstall everything from scratch, so I reformatted the disk and installed again. This time I extracted Applications and Users from Time Machine only (which is all I need anyway), and finally I could start the Xgrid controller.
Now I was ready for the next problem. Configuring the controller.
I don’t remember exactly how I managed to do this the last time, but I seem to recall that I could do it with Xgrid Admin, so I downloaded that. I couldn’t set up the authentication that way this time around, though.
As a side note, configuring agents – the machines that can run jobs on the grid – is pretty easy. It is all built in, and you just go to Sharing > Xgrid, pick a controller and set a password.
There is nothing similar for the controller. There might be for the Server OS, but I couldn’t find anything on my machine.
For telling the controller which password to use, I found this blog post. Basically, you need to copy the password file you created when you configured the agent over to the controller.
That just wasn’t enough.
I still needed to tell the controller to actually use password authentication rather than any other option. Googling for an hour or more finally let me to the file /Library/Preferences/com.apple.xgrid.controller.plist for configuring the controller. Now I just needed to figure out how to tell it to use password.
In the corresponding file for agents, /Library/Preferences/com.apple.xgrid.agent.plist, there’s the field
so I tried setting the same in the controller configuration. That didn’t work, so I tried
and that did the trick.
Finally, the controller was up and running.
My machine, as an agent, only provided four cores to the grid, though, but I knew what to do about that, so I updated the agent configuration to provide 16 cores (there’s really only 8, but with hyperthreading that should probably be considered 16).
As soon as I get the other agents configured with a new controller (the new machine has a different IP address than the old one), our grid should be back up and running.
All in all I wasted an entire day getting this up and running, but without the grid there really isn’t that much of my current data analysis I can get done, so it had to be done.