The radmind server doesn't startup after reboot. How do I fix it?

By: Richard Glaser - Revised: 2006-09-21 richard

Introduction

This issue can arise if you used the GUI frontend, Radmind Assistant, to start the radmind server. Its default StartupParameters.plist, needs a slight modification to startup more consistently. Or, if you didn't use the GUI frontend to start the radmind server, you need to make sure that your created the directories listed in the next section. Next, make sure that the permissions on these file & directories are set correctly.

For example, default permissions installed by the Radmind Assistant are...

drwxr-xr-x   4 root  wheel  136 May 15 17:16 RadmindServer

-rwxr-xr-x   1 root  wheel  397 Jun  7 10:14 RadmindServer
-rw-r--r--   1 root  wheel  287 May 15 17:16 StartupParameters.plist

Radmind Assistant
The first time you use Radmind Assistant to startup the radmind server it creates the following directories & items:

/Library/StartupItems/RadmindServer
/Library/StartupItems/RadmindServer/RadmindServer
/Library/StartupItems/RadmindServer/StartupParameters.plist

radmind daemon
And the radmind daemon creates the following directories

/var/radmind/command
/var/radmind/file
/var/radmind/special
/var/radmind/transcript
/var/radmind/tmp
/var/radmind/tmp/transcript
/var/radmind/tmp/file

Startup Parameters

Here is the default StartupParameters.plist:

{
    Description = "Radmind Server";
    Provides = ("Radmind Server");
    Requires = ("Resolver");
    OrderPreference = "None";
    Messages =
    {
        start = "Starting radmind server";
        stop = "Stopping radmind server";
        restart = "Restarting radmind server";
    };
}

Change the following line:

Provides = ("Radmind Server");

To:

Provides = ("Radmind Server", "Disks");


RadmindServer Script

Here is the default StartupItem script:

#!/bin/sh
. /etc/rc.common

##
# Start up radmind server
##

if [ -f /var/radmind/config ]; then
       CheckForNetwork
       if [ "${NETWORKUP}" = "-NO-" ]; then exit; fi
       ConsoleMessage "Starting Radmind Server"
       /usr/local/sbin/radmind -u 077
fi

Note, if you want to use Bonjour (aka Rendezvous,) you will need to modify the script line to include the -R option.

/usr/local/sbin/radmind -R -u 077

Note, currently Bonjour is used for server discovering, and ideally using other methods like certificate, hostname or IP address might be better for identifying clients.

Radmind Assistant

Another option to setup startup items is  "Radmind Assistant" and "Run Setup Steps" from the Session menu...

Radmind Assistant - Run Setup Steps

Next, select the button "I'm new, and I want to setup a radmind server."

Radmind Assistant - First Run

Next, select option to startup radmind server. Note, Bonjour (aka Rendezvous) was included with the tools for clients to discover the server and isn't the best method for client identification. So, probably it is best to select button "Start the radmind server Rendezvous off.".

Radmind Assistant - First Run - Startup Server Rendezvous

Last, if the server installation was successful, you will get the following window.

Radmind Assistant - First Run - Server Success

Armadillo

Armadillo is a freeware GUI aplication for Mac OS X which facilitates the creation of Mac OS X Startup Items. Armadillo is a fairly straightforward application.

You can download it from:
http://sveinbjorn.sytes.net/armadillo

If you want to create your own Startup Items, but are little uncomfortable with the process it is a  good tool  to try out.

Armadillo - Default Window

Name
This is the name of your Startup Item. Both your Startup Item directory and the script within it will eventually bear this name. Also, this is the name of the service your Startup Item will be recognized as providing by SystemStarter.

Description
The description string should be a human-readable name for your Startup Item.

Order Preference
The order preference for your item can be First, Early, None, Late or Last. This provides SystemStarter with information about what stage of the boot process is desirable for loading your Startup Item. This value should not be relied on, however, as SystemStarter may ignore it.

Requires
You can edit a list of other Startup Items your particular Startup Item absolutely requires to function. You specify these items by name. These can be other Startup Items of your creation or, more likely, some of the Startup Items which are an inherent part of Mac OS X. For a list of Apple's items, see the list at the bottom of this document.

Uses
You can edit a list of other Startup Items your particular Startup Item uses but are not essential to its functionality. You specify these items by name. These can be other Startup Items of your creation or some of the Startup Items which are an inherent part of Mac OS X. For a list of Apple's items, see the list at the bottom of this document.

Bundled files
If your script requires external files as resources, you may possibly want to bundle them with your Startup Item. You can edit a list of files to bundle with the item.

Startup Script
This is an editable text field for your startup script. In most cases, you will only need to add some lines of your own. Several functions are defined, namely StartService, StopService and RestartService. Not all of these functions must neccesarily be implemented. However, if your Startup Item is to actually do something, you will probably want to flesh out the StartService function with some commands of your own. A rudimentary knowledge of shell scripting is required for this.

Create and Install
This button will create a Startup Item from your settings in Armadillo and install it in /Library/StartupItems, the place where third-party Startup Items are generally placed. Apple's own Startup Items are located in /System/Library/StartupItems.

Create
This button will create a Startup Item from your settings in Armadillo in a location you specify. The Startup Item can subsequently be installed manually or added to an installer package..

Import Script
You can import a script from some other file to load into the Startup Scrip text field.

Restore Default Script
This will restore the default startup script which Armadillo loads when launched.

Check Script Syntax
This function will check the syntax of your script and report errors. This function is only useful for shell scripts, since the script is piped through sh -n.