[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Condor-users] do I have to use custom classad functions?




Just to prevent possible confusion, I should mention that in order to run your own "Hawkeye" modules that publish information in a machine ClassAd, you don't need to download or install any additional software. All you need is Condor's built-in "startd cron" mechanism. It is very simple. The startd periodically calls your script, your script prints out some ClassAd variable assignments, and this gets published in the machine ClassAd.


--Dan

gregg.cooke@xxxxxxx wrote:

I -am- looking for realtime monitoring & control and Hawkeye fits the bill perfectly!  Had Hawkeye on my list of things to evaluate, but now its at the top -- thanks Ian!

Hawkeye looks like the piece that completes the Condor puzzle for us -- it adds a level of control that we expect over our distributed systems.  But is it ready for the enterprise?

	-Gregg


-----Original Message----- From: condor-users-bounces@xxxxxxxxxxx [mailto:condor-users-bounces@xxxxxxxxxxx]On Behalf Of Ian Chesal Sent: April 29, 2005 3:47 PM To: Condor-Users Mail List Subject: RE: [Condor-users] do I have to use custom classad functions?




I've been playing around with job submission policies in my submit files and I have a few scenarios that I can't see a way around except by using custom classad functions:

- I'd like to submit a job that will only go to those machines that are also running some other application...for instance, a daemon whose service my task would use. The idea is to make a "service-sensitive" policy. I suppose I could do this by writing a classad function but I don't have access to the source code (yet).

- I'd like to submit a job that will only go to machines that have a certain shared filesystem mounted. Again, a classad function might work...but I don't think I can do that (...can I? or do I really need the source code to add my own functions?)

Both of these could be done if I had the ability to run a shell command and assign the output to an attribute in my machine classad. Is there a way to do this without getting the source code and writing a new classad function? Or has someone written a classad function that I can use to do this? Are there libraries of contributed functions out there that I might tap into?



Just let me make sure I'm understanding what you want here: you have machines that have different shared file systems mounted on them. You want to steer your jobs towards these machines. You also have machines that are running (or just have installed/access) particular software packages and you'd like your jobs to use only these machines.

Are these the two, not necessarily mutually exclusive, scenarios?

If they are the answer to your questions does not require source code
access to condor.

On the machines that have the certain FS or software installed you need
to tell the Condor world about this fact by creating custom ClassAd
attributes and advertising them in the startd ClassAds for the machines.

Lets say MachineA has one processor and has the /foo shared filesystem
mounted and the 'bar' software package installed. In the
condor_config.local file for this machine I would add two new classad
attributes (one for the filesystem, and one for the software package) by
addng the following lines:

	MySharedFilesystem = /foo
	MyHasBarSoftware = True

And to make sure my startd(s) for this machine had these attributes in
their classad advertisements:

	START_EXPRS = $(STARTD_EXPRS), MySharedFilesystem,
MyHasBarSoftware

And now, on my job side if I need the /foo filesystem AND the 'bar'
software package I would say in my submission ticket file:

	requirements = (MySharedFilesystem =?= "/foo") &&
(MyHasBarSoftware =?= True)

Now my job will only run on a machine that has those ClassAd attributes
advertised AND set to "/foo" and True.

If you wanted some sort of realtime monitoring and control over the
value of MySharedFilesystem and MyHasBarSoftware you have two options:

1) Take a look at the Hawkeye Monitoring tool;
2) Take a look at using condor_config_val in conjuncton with cron and
some glue like a Perl script.

Hope that helps.

- Ian


_______________________________________________ Condor-users mailing list Condor-users@xxxxxxxxxxx https://lists.cs.wisc.edu/mailman/listinfo/condor-users

Visit our website at http://www.ubs.com

This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system.

E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. This message is provided for informational purposes and should not be construed as a solicitation or offer to buy or sell any securities or related financial instruments.


_______________________________________________
Condor-users mailing list
Condor-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/condor-users