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

Re: [HTCondor-users] Disable HasFileTransfer for hosts?



I'd like to find a solution that avoids changing existing processes, if possible. This diff gives the behavior I'm looking for:

[jdito@arch-jdito-01 htcondor-branch]$ git diff
diff --git a/src/condor_starter.V6.1/starter_v61_main.cpp b/src/condor_starter.V6.1/starter_v61_main.cpp
index e9f59a7..4e61ae1 100644
--- a/src/condor_starter.V6.1/starter_v61_main.cpp
+++ b/src/condor_starter.V6.1/starter_v61_main.cpp
@@ -85,13 +85,19 @@ printClassAd( void )
Â{
ÂÂÂÂÂÂÂ printf( "%s = \"%s\"\n", ATTR_VERSION, CondorVersion() );
ÂÂÂÂÂÂÂ printf( "%s = True\n", ATTR_IS_DAEMON_CORE );
-ÂÂÂÂÂÂ printf( "%s = True\n", ATTR_HAS_FILE_TRANSFER );
ÂÂÂÂÂÂÂ printf( "%s = True\n", ATTR_HAS_PER_FILE_ENCRYPTION );
ÂÂÂÂÂÂÂ printf( "%s = True\n", ATTR_HAS_RECONNECT );
ÂÂÂÂÂÂÂ printf( "%s = True\n", ATTR_HAS_MPI );
ÂÂÂÂÂÂÂ printf( "%s = True\n", ATTR_HAS_TDP );
ÂÂÂÂÂÂÂ printf( "%s = True\n", ATTR_HAS_JOB_DEFERRAL );
-ÂÂÂ printf( "%s = True\n", ATTR_HAS_TRANSFER_INPUT_REMAPS );
+ÂÂÂÂÂÂ printf( "%s = True\n", ATTR_HAS_TRANSFER_INPUT_REMAPS );
+
+ÂÂÂÂÂÂ if(param(ATTR_HAS_FILE_TRANSFER)) {
+ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ printf( "%s = %s\n", ATTR_HAS_FILE_TRANSFER, param(ATTR_HAS_FILE_TRANSFER) );
+ÂÂÂÂÂÂ }
+ÂÂÂÂÂÂ else {
+ÂÂÂÂÂÂÂÂÂÂÂÂÂÂ printf( "%s = True\n", ATTR_HAS_FILE_TRANSFER );
+ÂÂÂÂÂÂ }
Â
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ /*
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ Attributes describing what kinds of Job Info Communicators

Is that something I should push?

On Tue, May 29, 2018 at 11:27 AM, Greg Thain <gthain@xxxxxxxxxxx> wrote:
On 05/29/2018 10:07 AM, Joe DiTommasso wrote:
I've got a cluster composed of machines in multiple filesystem domains. I want to be able to explicitly control where jobs are executed. If HasFileTransfer is true, jobs will be started on any machine in the cluster, regardless of their filesystem domain. Is there some other way I should be going about this?

If you control all the submit points, you can set (in the submit file, or via a schedd transform)

should_transfer_files = no

and the schedd will append && (Target.FileSystemDomain == My.FileSystemDomain) to every job's requirements _expression_.


By default, the schedd will insert the schedd's FILE_SYSTEM_DOMAIN from the config file into the job ad, but if you want to be more specific, you can put your desired FileSystemDomain into each job with with a +FileSystemDomain:

should_transfer_files = no
+FileSystemDomain = "blue"

Then this job would only match machines in the "blue" FileSystemDomain, but not do file transfer.


-greg

_______________________________________________
HTCondor-users mailing list
To unsubscribe, send a message to htcondor-users-request@xxxxxxx.edu with a
subject: Unsubscribe
You can also unsubscribe by visiting
https://lists.cs.wisc.edu/mailman/listinfo/htcondor-users

The archives can be found at:
https://lists.cs.wisc.edu/archive/htcondor-users/