admin@glassfish.java.net

directory layout

From: Bill Shannon <bill.shannon_at_sun.com>
Date: Wed, 10 Mar 2010 15:38:40 -0800

Under the install directory, the directory structure for v2 is this:

domains
   || ---- domain1

nodeagents
   || ---- <nodeagent1>
          || ---- agent
                  || ---- bin
                  || ---- config
                          | ---- das.properties ----> information about DAS
                          | ---- nodeagent.properties
                          | ---- domain.xml
                          | ---- admin-keyfile
                          | ---- admsn
                          | ---- cacerts.jks
                          | ---- domain-passwords
                          | ---- keystore.jks
                          | ---- login.conf
                          | ---- server.policy
                  || ---- logs
                          | ---- server.log
          || ---- <instance1>
                  || ---- bin
                  || ---- config
                          || ---- <cluster1-config>
                  || ---- logs
                  || ---- applications
                  || ---- generated
                  || ---- lib
                          || ---- applibs
                          || ---- classes
                          || ---- ext
                  || ---- docroot
                  || ---- jbi
                  || ---- imq


I'm trying to understand how this works, and how it should work when
there's no node agent.

It looks like everything from the domain's config directory is in
agent/config, except the config-specific config directory. Is that
correct?

What happens to log files? Do all instances log to the same log
file? I assume not. I assume they each have their own log file
in the <instance>/logs directory and the agent/logs directory is
used for logs for the node agent itself. Correct?

If the instances do their own synchronization, it seems that we can't
support having a single config directory per node, shared by all the
instances. The config data will have to be moved under the
<instance>/config directory. Anyone see any problems with that?

The agent/config/das.properties file can continue to be used to
configure the DAS address for all instances under this node agent
(or fake node agent).

We need to allow both an instance and the DAS to run on the same machine
using the same software installation image. That means the instance
can't keep its data under the domains directory. With no node agent,
does it make sense to keep the data under the nodeagents directory?
We could use a fake node agent name such as "default" or "none" for
this case.

With a single v2 software installation, multiple node agents supporting
instances in multiple domains can be created. With no actual node
agents, how can we support the same? Seems like we need multiple
"fake" node agent directories. Should the names of these directories
be derived from the domain name or the DAS address, at least by default,
so that users don't need to choose the name of a directory that doesn't
matter to them?

Alternatively, we could enhance the create-node-agent command to have
a "--fake" option, or something like that, so that we could use it to
create the directory structure above. Then a "create-local-instance"
command (or "create-instance --local") could be used to configure the
instance-specific part.

I'm leaning towards this latter approach.

Comments?