Tuesday, April 18, 2017

condor trouble shoot

Always Idle:   server has bad parts
        condor_status.
          (1) No output --> something wrong
          (2) All claimed ---> good and wait
          (3) LoadAv above number of cpu

Held:
condor_q -better-analyze -global
The end of the Hold reason contains the likely error message

             (1)Permission denied

If you get this on a script, it's checking to see if the file is "executable" which means it's permissions look like:
~$ ls -l script.py
-rwxrwxr-x 1 diane diane 103 2009-11-12 14:24 script.py*
(Note the 'x'es in the first column. those tell the operating system and condor that the owning user (first x), the owning group (second x) and everyone else (third x). can run this script.
However if you just change the permissions, you're likely to run into the Failed to execute <script> error. So you should just go read that solution now.

             (2)Failed to execute <script>

This can happen to a variety of scripts, shell scripts, python scripts, etc. Basically anything that is not a binary executable. The discussion below assumes a python script.
condor doesn't know that '.py's should be run with the python interpreter. So you have two choices for how to tell it.
One is to change the permissions of eland_results... to include the "executable" bit with something likechmod a+g eland_results... (or chmod 755 eland_results). which should change the ls -l output from
-rw-r--r-- 1 user user 953 2010-01-09 15:31 eland_results_to_fasta_input.py
to:
-rwxr-xr-x 1 user user 953 2010-01-09 15:31 eland_results_to_fasta_input.py
in addition if using this method you'll also need to add:
#!/usr/bin/env python
to the top of the file. The advantage to this is now linux will know that this is an executable and you can run it with eland_results_to_fasta_input.py args.. from the shell as well. (leaving off the python.)

The other choice is to change the executable in the condor submit script from eland_results_to_fasta_input.py to python and treat eland_results_to_fasta_input.py as the first argument in the condor submit script.

No comments:

Post a Comment