Skip to main content

[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.

Back to the top