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

Re: [Condor-users] Avoiding Cross-Flocking



Hi,

You could run a cron job on each of your pools that changes FLOCK_TO and
FLOCK_FROM depending on what's going on in your system. If query your
schedds for one current pool, look at the values of TotalFlockedJobs,
you can set FLOCK_FROM for machines in that pool to be empty if any
schedd has TotalFlockedJobs > 0.

I'm not sure if FLOCK_TO or FLOCK_FROM can contain ClassAd expression
logic. If they can you might be able to do something fancier using
ClassAd expressions and some logic right in the setting. See:
http://www.cs.wisc.edu/condor/manual/v7.2/4_1Condor_s_ClassAd.html#33494

I'm not a user of flock technology -- maybe someone who uses it has a
more elegant way to do it. But that's the first brute force method that
comes to mind.

- Ian

I have configured following in the central managers local configuration file:
ENABLE_RUNTIME_CONFIG = True
ENABLE_PERSISTENT_CONFIG = True
PERSISTENT_CONFIG_DIR = /opt/condor/local/persistent_config
SETTABLE_ATTRS_CONFIG = *
SETTABLE_ATTRS_OWNER = flock_to, flock_from, flocking_partner

And I configured in the global configuration file:
FLOCK_FROM = $(flocking_partner)
FLOCK_TO = $(flocking_partner)

I tested:
condor_config_val -master -set "flocking_partner=xxxx"
condor_config_val -master -rset "flocking_partner=xxxx"
condor_reconfig -master -full

Two problems:
1. It seems that I can not change the FLOCK_FROM and FLOCK_TO during runtime. 2. I have always TotalFlockedJobs = 0 (also when there is flocking, I checked with command: condor_status -schedd -l | grep TotalFlockedJobs).

Birol