[Beowulf] Gridengine and bash + Modules
madskaddie at gmail.com
madskaddie at gmail.com
Mon Jan 18 11:53:39 PST 2010
2010/1/18 Brian Smith <brs at usf.edu>:
> Ah, the RedHat-isms that we take for granted... hah! I forgot that the
> default ~/.bashrc I push out to everyone sources /etc/bashrc by default.
> What distro are you using?
>
Debian lenny
> There's also this bit of goodness from the man page:
>
> "Bash attempts to determine when it is being run with its standard input
> connected to a a network connection, as if by the remote shell daemon,
> usually rshd, or the secure shell daemon sshd.
>
The Debian bash man page doesn't say the word "sshd" (only "rshd"),
and I'm using ssh as the remote shell, so it may be the case (weird,
but possible).
(...)
>
> I wonder if sge_shepherd doesn't, in fact, trick shells into behaving
> this way... I know I'm not using BASH_ENV and my modules environment
> works correctly.
>
Just to be sure we aren't missing something: you can load a module
inside the submit job, correct?
Case 1:
- module load something
- qsub job.sh
- cat job.sh
#!/bin/bash
#(sge config stuff)
mpirun ...
#EOF
Case 2 (what I pretend):
- qsub job.sh
- cat job.sh
#!/bin/bash
#(sge config stuff)
module add something
mpirun ...
#EOF
>
> -Brian
>
> --
> Brian Smith
> Senior Systems Administrator
> IT Research Computing, University of South Florida
> 4202 E. Fowler Ave. ENB308
> Office Phone: +1 813 974-1467
> Organization URL: http://rc.usf.edu
>
>
> On Mon, 2010-01-18 at 14:38 +0000, madskaddie at gmail.com wrote:
>> 2010/1/16 Brian Smith <brs at usf.edu>:
>> > I'm using this in our environment. I've simply added the Modules
>> > environment code to /etc/bashrc and /etc/csh.cshrc on all nodes (I use
>> > puppet to manage everything, so this is easy). This ensures that
>> > Modules is properly integrated with your environment regardless of
>> > whether you are using an interactive or non-interactive invocation of
>> > these shells. This works for SGE (I'm on 6.2u4, ATM)
>> >
>>
>> But it seems that gridengine spawns like "bash script_name" so no rc
>> files are read. Reading bash manpage, I found the BASH_ENV environment
>> variable:
>>
>> """
>> When bash is started non-interactively, to run a shell script, for
>> example, it looks for the variable BASH_ENV in the environment,
>> expands its value if it appears there, and uses the expanded value as
>> the name of a file to read and execute. Bash behaves as if the
>> following command were executed:
>> if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
>> but the value of the PATH variable is not used to search for the file name.
>> """
>> (bash manpage)
>>
>> Right now I'm setting this variable and with the "-V" job submission
>> flag it's working well (it does not work correctly without it)
>>
>> Gil
>>
>>
>
>
--
"
It can't continue forever. The nature of exponentials is that you push
them out and eventually disaster happens.
"
Gordon Moore (Intel co-founder and author of the Moore's law)
More information about the Beowulf
mailing list