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

Re: [HTCondor-users] Requirements statement to exclude a list of machines in a file



Thanks Vikrant and Todd for your suggestions. Iâll give them a try and see how it goes.

 

Motivation is for a temporary kludge while our Networks Team (and Active Directory DNS Team) sort out

a DNS issue within âsomeâ of our wireless VLANs.

 

Now that we are including laptop machines as execute nodes, many of these hook into the local on-site

wifi systems. Some are also connected directly via wired ethernet at the same time.

 

These laptops and wireless networks are spread over multiple sites around the country, and there seems

to be some possible firewall issues.

 

nslookup fails for some wireless VLANs, weirdly enough when talking to a DNS server via IPv6, but not IPv4.

A laptop in a different wireless VLAN can talk to the same DNS server via IPv6 OK.

 

This userâs jobs talk to a specific hostname, so jobs fail if this name is not resolved. The executable is sort

of 3rd party, so using an IP address instead will require a recompile, which could take weeks and is out of

our immediate control. His failed jobs requeue but it is affecting his overall job throughput.

 

So, just trying to keep a user happy while the things I have no control over get sorted out.

 

Cheers

 

Greg

 

From: Todd Tannenbaum <tannenba@xxxxxxxxxxx>
Sent: Thursday, 13 May 2021 4:25 AM
To: HTCondor-Users Mail List <htcondor-users@xxxxxxxxxxx>; Hitchen, Greg (IM&T, Kensington WA) <Greg.Hitchen@xxxxxxxx>
Subject: Re: [HTCondor-users] Requirements statement to exclude a list of machines in a file

 

On 5/11/2021 10:39 PM, Hitchen, Greg (IM&T, Kensington WA) wrote:

Hi All
 
Quick question.
 
I know how to exclude a certain machine (or a few), e.g. with the requirements = (Machine =!= "unwanted_machine.something)
type of statement, or even using it with regexp, but, what about a list of 200+ randomly named machines listed in a file?
 
Is there a quick/easy/hard/kludgy/dirty way of doing this?


Hi Greg,

Curious, what is your motivation for this?

At any rate, a quick-n-dirty example off the top of my head would look like the below.  Maybe there is a better / more elegant way, especially if you care to use Python, but this is the first thing that came to mind using the command-line tools:

Contents of file "badlist.txt":

# List of machines to avoid, note the backslash
# character serving as a line-continuation at the end
# of each line.
BadList = \
foo.xxx.edu \
bar.xxx.edu \
alpha.xxx.edu \
beta.xxx.edu

Contents of your submit file:

executable = foo.exe
requirements = stringListIMember(Machine,"$(BadList)")==False
include : badlist.txt
queue



Hope this helps,
Todd