For most of our testing purposes we used the standard organizational units for resource objects of our local machines and we decided to enter the Information from the DSRT into the "Description", "Fax" and "Address" fields. It is not too difficult to design your own objects within the LDAP framework to use within the LDAP server -- in the case below we used the object class of an organizational unit to store the CPU Server information in it. Here is the contents for our machine budapest.cs.uiuc.edu while running the sample program from the distribution:
The "Description" field was assigned to hold the data for each process, the "Fax" field holds the information for the CPU Server and the "Address" field indicates whether a CPU Server is running or not on that resource.
For this customized setup we assigned the LDAP environment variable the following values:
setenv LDAP_HOSTNAME "athena.cs.uiuc.edu"
setenv LDAP_PORT 13597
setenv LDAP_BIND_DN "cn=Directory Manager"
setenv LDAP_STATUS_SERVER "facsimiletelephonenumber"
setenv LDAP_STATUS_PROCESS "description"
setenv LDAP_STATUS_REGISTER "registeredAddress"
setenv LDAP_UPDATETIME 5
We found out that the Java API of the Netscape Directory Server is case
sensitive whereas the C API is not, so this might be good to keep in mind.
To run the CpuReporter you have to specify a modify_dn which
would be in the case of the two snapshots above the path to the resource
budapest.cs.uiuc.edu. So the CpuReporter could be started like the
following -- you will be asked then for the Directory Server password.
If you are using the CPU Server with the -LDAP option the CpuReporter is forked automatically by the CPU Server.
To run the RemoteCpuMonitor you have to give it a base_dn to
specify the base from where the RemoteCpuMonitor should look for
running CPU Servers. In our case the object Monet does include all our
resources and the distinguished name of the object Monet is sufficient
to find all the resources where a the CPU Server could run. The command
to run the
RemoteCpuMonitor would be:
The information is stored in the fields "status", "cpuload1" and "cpuload5" which are usually updated by Globus every 5 hours and are not meant for the purpose we used it for. These are just temporary fields where the CPU Server information can view viewed and in the next larger release of Globus there might be more fields for customized use.
After a complete installation you will be provided with the Directory Server Password and you can configure the LDAP environment. Below is an example how we configure our LDAP environment variables to use the MDS together with the CPU Server:
setenv LDAP_HOSTNAME "mds.globus.org"
setenv LDAP_PORT 389
setenv LDAP_BIND_DN "cn=Directory Manager, ou=Multimedia Operating Systems and Networking Group,ou=Department of Computer Science,o=The University of Illinois Urbana-Champaign,o=Globus,c=US"
setenv LDAP_STATUS_SERVER "cpuload1"
setenv LDAP_STATUS_PROCESS "cpuload5"
setenv LDAP_STATUS_REGISTER "status"
setenv LDAP_UPDATETIME 5
Command to run the CpuReporter and RemoteCpuMonitor for us using the
Globus MDS are:
%CpuReporter "hn=budapest.cs.uiuc.edu,ou=Multimedia Operating Systems and Networking Group,ou=Department of Computer Science,o=The University of Illinois Urbana-Champaign,o=Globus,c=US"
%RemoteCpuMonitor "ou=Multimedia Operating Systems and Networking
Group,ou=Department of Computer Science,o=The University of Illinois Urbana-Champaign,o=Globus,c=US"
With either the MDS or Customized LDAP solution you are now able to user the -LDAP option for the CPU Server and use the RemoteCpuMonitor.