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

Re: [HTCondor-users] Executable file not found error for docker universe job



After investigation I found that the PATH originally set in Dockerfile (ENV PATH ".:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin) is not shown up when the image is sent to condor, instead the PATH become to the paths that I set in .bash_profile of my home directory. After giving the absolute path to the executable file, the problem is solved.

Another finding is that inside docker container, whoami shows I am root. But when the docker image sent to condor, whoami shows my user id, not root's. This caused some permission denied issue.

Are there any intentions of doing these?

Thank you,

Zhuo


Edier Zapata wrote on 5/16/2017 12:21 PM:
Hi Zhuo,
 did you try enabling file transfer?
 should_transfer_files = True
I found that error with docker some times and was because I didn't allowed tranfer files.

Maybe this help you.


On Tue, May 16, 2017 at 11:16 AM, Zhuo Zhang <zhuo.zhang@xxxxxxxx> wrote:
Hi,

I have a simple docker image fm, and it can run successful when launching the image container locally. But when I use docker universe and send the image fm to HTCondor, the job is in Hold status. And the hold reason is "Error running docker job: [8] System error: exec: 'run_fm.pl': executable file not found in $PATH".

The perl script run_fm.pl can be run inside docker container successfully when launching container on the host, but why it cannot be found when sending the image to condor?

FYI, my Dockerfile is:

        ----------------------------------

        FROM centos:latest
        LABEL maintainer="xxx"
        RUN mkdir -p /home/user/working_dir
        COPY xxx...
        ENV PATH ".:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
        ENV LD_LIBRARY_PATH "/usr/lib64:/usr/lib:/usr/local/lib:/usr/local/lib64"
        WORKDIR /home/user/working_dir
        RUN ...

                ...

        ENTRYPOINT ["run_fm.pl"]
        CMD ["/home/user/working_dir", "test.cfg", "test.log"]

        ---------------------------------

The submit file is:

        ---------------------------------

        Universe                        = docker
        docker_image               = fm
#        executable                     = ./run_fm.pl
#        arguments                     = "/home/user/working_dir test_docker.cfg /test/test.log"
        log                                 = fm.sub.log
        output                          = fm.sub.out
        error                             = fm.sub.err
        initialdir                       = /my_initial_dir
        Request_cpus             = 1
        Request_disk              = 20000
        Request_memory      = 10000
        should_transfer_files = YES
        notification                  = Complete
        getenv                          = True
        queue                             1

        ---------------------------------

Thank you,

Zhuo

_______________________________________________
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/



--
Edier Alberto Zapata Hernández
Ingeniero de Soporte en Infraestructura
CIER - Sur



_______________________________________________
HTCondor-users mailing list
To unsubscribe, send a message to htcondor-users-request@xxxxxxxxxxx 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/