[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [hyades-dev] Agent management
|
On Thursday, 04/29/2004 at 03:25 MST, "Kaylor, Andrew"
<andrew.kaylor@xxxxxxxxx> wrote:
> I’ve attached some introductory comments on how I see the DCE’s agent
> management working. I’m going to proceed with writing up a proposal for
> commands for this area, but I thought I’d throw this out for advance
comments.
We talked about most of this on today's con call, but I'll repeat it here
(with answers :-) in case it stimulates other discussion.
Process Launching
I do not believe we can arrange to have all processes launched by the HDC
framework. One key use case is data collection on production app servers.
I don't think we have any business inserting ourselves into the startup of
such applications. Independent launch with later attach (and detach) for
data collection is common.
Today, not all agent startups are equivalent. For example you might start
up an agent in standalone mode, which allows it to collect data without
talking to anyone - no client can attach to it. Data is collected and
left lying around on the file system. How you get from there to somewhere
the analysis/display clients can munch on it is your problem.
I forget the official name, but another way to start up an agent is to
launch the process independently with the agent effectively passive.
Standing on the street corner, waiting to be picked up - running, but not
collecting data. :-) I *believe* that in this case, the agent registers
itself with the server when it comes up. Later, clients may attach (via
the server) and ask the agent to start collecting data. This is the way in
which I have most often used the independent launch/attach scenario.
There's one more mode, I think, but I can't remember it off the top of my
head. Richard is The Man on this topic, of course. Anyway, my point is
that our world view needs to be a lot more flexible than just processes
started by some launch service. Speaking of which, presumably the launch
framework needs to synch up with whatever Kent Siefkes' Execution WG is
doing since they're merrily (deploying and) launching tests.
General Vision
Who manages the uniqueness of the interface id's? If I, as an agent
vendor, want to define a new interface, do I have to register with
eclipse.org to be assigned an interface id?
Answer: Yes. The Hyades project maintains a central registry. A portion of
the interface id is a unique group mask assigned by the Hyades. Data
collection providers request a group id from the Hyades project. The data
collection framework can incorporate new interface id's at any time.
Agent shutdown: Just as the process launch scenario's are more complex
than it might at first appear, so too shutdown. While the server should be
able to issue a shutdown command to an agent, it should not necessarily
automatically shutdown an agent just because there are no connections. If
the server didn't launch the agent, should it shut it down? What about
client's explicitly requesting termination? Also, in some cases, the agent
may be a part of the target application, such shutting down the agent
implies shutting down the system under test. Not always something you want
to do automatically.
Answer: We agreed this needs more discussion, probably after we more
clearly define the agent life cycle. The desired effect is that clients do
not have to be aware of the agent life cycle, it is managed by the server.
This may work for some uses cases and not for others. We'll come back to
this topic.