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.
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.
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.
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.
Java eats up file descriptors like nobody's business. Try typing "limit descriptors 1024" to increase the number of available file descriptors.
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]