Running an SDS for the Paths Package

SDS is hard to configure and set up properly. There are a few things you should do before consulting this document, since it's not the home of SDS documentation but rather a guide to help with some common problems which we encountered when running SDS with our Paths package.

  1. Download and install the Ninja 1.5 release. Set up your classpath just like you're told, and make sure the whole thing builds before going any further. If you're lost about where to start, try the Ninja Homepage.
  2. Read the SDS documentation. Its in {ninja-root}/classpath/ninja/sds/docs/index.htm.
  3. Find someone else around you who is successfully running an SDS server (insecure will do fine) -- running a server is the hard part of this process.

Onward with the troubleshooting. First off, this guide is primarily intended for people who are running their own SDS server and are advertising their operators or running an APC service within their iSpace. If this isn't you, you probably won't gain much from this guide.

  1. I wan't to get a basic, unsecure SDS up and running so I can begin playing with paths ASAP. What do I need to do?

    First, set up an ispace.cfg file to start the basic SDS services. Something like this should do:

    ninja.ispace.services.auth.CertificateService ninja.sds.ServiceDiscoveryServer -key {ninja-root}/classpath/ninja/sds/tests/test-certs/sds-server.priv ninja.sds.SDSinsecureServer
    ninja.ispace.auth.CertificateRegistry ninja.sds.CapabilityDistributor {ninja-root}/classpath/ninja/sds/tests/test-certs/cap-dist.priv ninja.sds.CapabilityDistributor ninja.sds.iSpaceForwarder
    ninja.activeproxy.path.pxset.PathXSetService /root/path/pxset/connectors/ ninja.activeproxy.path.pxset.AutomaticPathCreatorService

      Where {ninja-root} is the path to the Ninja archive which you've hopefully installed.

    You still need to set up the Ninja config file, and create a "certs" directory at the root of the account you're planning to run the SDS from.

    Now, make sure the ~/.ninja/config file exists, and add the following lines to it:

     

      sds.CapabilitySigner ninja.sds.CapabilityDistributor
      sds.server.ServerCoverage = ###.###.###.0/255.255.255.0
      iSpace.CertificateRegistry.host = ###.###.###.###
      sds.server.Signer ninja.sds.ServiceDiscoveryServer

      Where the "###.###.###.###" business is the IP address of the machine the server is running on.

    Finally, check out {ninja-root}/classpath/ninja/sds/tests/README step #2 for directions on setting up the certs directory.

    Now, you should be able to type :

      java ninja.ispace.Main ispace.cfg

    and make the SDS start.

     

  2. A whole lot of messages will spew forth when I start the SDS; which should I be worried about? How do I know if the SDS is working properly?

    The following errors are definitely not of concern:

WARNING: could not find property ninja.ispace.services.auth.certdir - resorting to provided default ...
WARNING: could not find property sds.server.AnnouncementLifetime - resorting to provided default
WARNING: could not find property sds.server.AnnouncementRequestPort - resorting to provided default ...
WARNING: could not find property ninja.ispace.services.auth.certdir - resorting to provided default ...
WARNING: could not find property sds.capdistributor.SignerPrivateKey
WARNING: could not find property sds.capdistributor.
Signer Error starting CapabilityDistributor, you must specify both sds.capdistributor.SignerPrivateKey and sds.capdistributor.Signer in the config file. Failing badly.
Error: Error getting private key and cert for CapabilityDistributor : java.lang.NullPointerException java.lang.NullPointerException at java.io.File.(File.java) at
ninja.sds.CapabilityDistributor.getCertAndSigner(CapabilityDistributor.java:436) at
ninja.sds.CapabilityDistributor.init(CapabilityDistributor.java:115) at
ninja.ispace.iSpaceSeedThread.run(iSpaceSeedThread.java:47) ...
WARNING: could not find property ninja.sds.UseHostname - resorting to provided default
 

    If the message "Verified an ekey!!!" appears, followed by one or more "GetService: xxx" messages, the SDS is probably functioning properly.

     

  1. I'm running on a Solaris Workstation, and I get some really bizzare error messages (java.lang.NoClassDefFoundError, java.lang.OutOfMemoryError, and others) when I try to start the SDS. What's the deal?

    Java eats up file descriptors like nobody's business. Try typing "limit descriptors 1024" to increase the number of available file descriptors.

     

  2. The SDS never seems to start up, but it displays a message "Adding provider Cryptix-Java 3.0.3" early during the startup process. What's going on?

    The SDS can't locate your "certs" directory, which should be at the root of the account running the SDS. Check out {ninja-root}/classpath/ninja/sds/tests/README for some instructions on how to set up a default certs directory.

If you have other problems related specifically to setting up an insecure SDS for the purposes of running the Paths package, please contact Sam Madden (madden@cs.berkeley.edu). Send more general SDS questions to czerwin@cs.berkeley.edu.

 

Back to [Paths | Ninja Home]

This page maintained by Sam Madden (madden@cs.berkeley.edu). Last modified 1.23.00.