The wait for start behavior is required for proper TCK automation, so
that once the start-server command finishes, we know the server is up
and running, else there is some problem.
I imagine that users also want this type of feedback when they run the
start-server command. I think it would be a bad idea to run the
command and return success and then force the user to use an
additional command or inspect the logs (or process tree) to determine
if the server was started.
The problem here is that to access this information we need an
authenticated connection via JMX. So if we can provide a limited
system-only account with a passwd that is static then we can get this
information to allow the command to work even when the "system"
account passwd has been changed. Alternatively we can provide another
mechanism to allow tools to query the running status of the server.
There is no security risk here, just need to provide some simple
mechanism to allow tools to determine the state of the server. Which
IMO seems very reasonable to me.
I'd like to not see this functionality tossed into a separate command,
but have the feature exposed to all tools.
* * *
David, how hard is it to implement a JMX authentication and limitation
system which would only grant a specific user access to invoke/get
operations/attributes on a set of gbeans?
--jason
On Mar 14, 2008, at 12:44 PM, David Jencks wrote:
On Mar 13, 2008, at 9:25 PM, Jarek Gawor wrote:
I'm trying to restart the discussion on the start-server command and
the hard-coded user credentials to see if we can fix this somehow.
Right now, the start-server command will poll the server periodically
using JMX to see if the server started up ok. That's why it needs
username/password to check on the status of the server.
Jason below described one idea how we might fix/improve the
start-server command.
I'm wondering if we need to poll the server at all. If the server is
running in the foreground the user will know if the server started up
ok or not from looking at the console. And even if the server is
started up in the background, the command should return as soon as
the
server process forked ok and not wait until the server finishes
starting up. So maybe we should separate the process of starting the
server from checking if the server started up ok. For example, add
isServerRunning or waitForServer gsh commands (which would require
creds) and make the start-server command just fork the server process
(no creds required).
Thoughts?
OK. IIRC the idea behind the current behavior was so you could
write scripts that start the server, then do stuff once it is
running. However I doubt this was explicit for the gshell
command... Anyway I'd be happy with a separate
"isServerRunning(boolean wait)" type command.
thanks
david jencks
Jarek
On Fri, Feb 22, 2008 at 6:51 AM, Jason Dillon <[EMAIL PROTECTED]>
wrote:
We might be able to open a port on localhost during startup, which
would only be used to provide status (like starting, started,
shutting
down). Then we wouldn't need to make a JMX connection to the server
at all. Though if possible, a special anonymous system account with
limited proviledges for remote JMX would be more ideal... though
I've
no idea if that is possible asis or if it would be easy to implement
if its not there.
Anyone have any other ideas?
--jason
On Feb 21, 2008, at 12:57 PM, Jarek Gawor wrote:
On Thu, Feb 21, 2008 at 2:35 PM, Jason Warner <[EMAIL PROTECTED]>
wrote:
On Thu, Feb 21, 2008 at 1:36 PM, Jarek Gawor <[EMAIL PROTECTED]>
wrote:
Yes, I've noticed that too. The deploy/* commands are not
'integrated'
with the geronimo/* commands. Looks like the JMX connection is
not
being shared between these groups of commands. We should be
able to
fix that. Please open a bug. Also, I just noticed that if an user
changes the default user/password the geronimo/start-server
command
might fail with an error.
Jarek
I just opened a jira for that original issue I mentioned.
https://issues.apache.org/jira/browse/GERONIMO-3869
I'm not sure I understand that second issue you mentioned.
The start-server command has hardcoded username/password
combination
and it cannot be specified on the command line. So if the
password is
changed and if you start the server let's say with:
geronimo/start-server --background --timeout 60
You will see something like:
.....
Geronimo Application Server started
<after <60 seconds>
ERROR Exception: Failed to start: Geronimo Server
Even though the server started up fine but then becuase of the
exception it will be killed.
Jarek