Bug 4275 - globus-gram-local-proxy-tool fails on Solaris
: globus-gram-local-proxy-tool fails on Solaris
Status: RESOLVED FIXED
: GRAM
wsrf managed execution job service
: 4.0.0
: Sun Solaris
: P3 normal
: 4.0.7
Assigned To:
:
:
:
:
  Show dependency treegraph
 
Reported: 2006-03-10 00:07 by
Modified: 2008-02-28 14:09 (History)


Attachments
jobrun.sh (1.46 KB, text/plain)
2006-03-10 00:09, tashiro
Details


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2006-03-10 00:07:54
globus-gram-local-proxy-tool fails on Solaris.
I'm using Solaris 9 for my WS container (WS GRAM server).

Thus, my WS GRAM request including "globusrun-ws -job-delegate"
fails on WS GRAM server.

globus-gram-local-proxy-tool is /bin/sh script.
On Linux, there are "set -C" command.
But on Solaris, there are no "set -C" command.

bash$ /bin/sh
$ set -C
-C: bad option(s)
$

$ $GLOBUS_LOCATION/libexec/globus-gram-local-proxy-tool \
  $GLOBUS_LOCATION -write $PWD/tmpfile
Generating a 512 bit RSA private key
...........++++++++++++
.......++++++++++++
writing new private key to stdout
-----
-----BEGIN CERTIFICATE REQUEST-----
MIHMMHgCAQAwEzERMA8GA1UEAxMISm9obiBEb2UwXDANBgkqhkiG9w0BAQEFAANL
ADBIAkEA1/XxPSvc/iODOffv3ZUTgY2zOvgy3HwX3lqH4QilRrh5SF7N2ztUbDmW
GldVUqJe5Gc+rJlrZ7sb4FISEFl2swIDAQABoAAwDQYJKoZIhvcNAQEEBQADQQBX
NChqdcW0BBNXte/GEy0JGG9je9u9tv74rQjfk17ipIs4/8nMtDTevRtvCV1+Z5M7
6gMNHa9ni/YGH7e/ug3N
-----END CERTIFICATE REQUEST-----
/home/somewhere/gt4/libexec/globus-gram-local-proxy-tool: -C: bad
option(s)
$

Just commenting out the "set -C" from the shell script
worked fine for me.

I attach the shell script jobrun.sh to reproduce the problem.

Usage:
% ./jobrun.sh your-host your-port subject delegate

Giving "delegate" argument causes an error.
Giving no "delegate" argument causes no-error.

jobrun.sh uses uuidgen command. But Solaris has no uuidgen.
please prepare uuidgen command or just uuid-string yourself. 
sorry.

My WS container error:

...
2006-03-10 11:32:48,781 ERROR factory.ManagedJobFactoryService
[ServiceThread-15,createManagedJob:357] Job creation failed.
java.lang.RuntimeException: Couldn't obtain a delegated credential.  at
org.globus.exec.service.job.ManagedJobResourceImpl.getJobCredential(M
anagedJobResourceImpl.java:422)
...

Caused by: java.io.IOException: Unable to change owner of file
/home/myhome/.globus/gram_job_proxy_29bacf00-afde-11da-9f39-d79ea15d6311 to myna
me.
        at
org.globus.exec.service.utils.UserProxyCreator.run(UserProxyCreator.j
ava:225)
...

Thanks.
------- Comment #1 From 2006-03-10 00:09:56 -------
Created an attachment (id=866) [details]
jobrun.sh

jobrun.sh to reproduce the problem.
------- Comment #2 From 2006-04-19 11:40:21 -------
I also encountered this problem.  I was able to fix it by changing the first
line of globus-gram-local-proxy-tool from

#!/bin/sh

to

#!/bin/bash

It appears that /bin/bash is not standard on solaris.  But nevertheless,
changing the shell to bash seems to do the trick.
------- Comment #3 From 2006-09-21 04:55:15 -------
(In reply to comment #2)
> #!/bin/sh
> to
> #!/bin/bash
> It appears that /bin/bash is not standard on solaris. 

how about /bin/ksh.
------- Comment #4 From 2006-10-02 17:43:59 -------
Since we are planning pluggable job proxy creation (#3741), I'm turning this
into a documentation bug in that there isn't a prerequeisite for Bourne shell.
Once we implement the plugin interface, you'll be free to specify a plugin that
uses a ksh script for Solaris. Either that or just install /bin/sh. I'm rather
surprised Solaris doesn't include that by default.
------- Comment #5 From 2007-08-20 15:05:21 -------
This bug looks to have been a victim of a misunderstanding.  "set -C" doesn't
exist in bourne shell (sh), it only exists in the bourne-again shell (bash). 
It looks like the noclobber could be simulated by doing something like:

if [ ! -e "$PROXYFILE.cert" ]; then
  cat > "$PROXYFILE.cert"
fi

and the like.  This tool needs to either be sh-compatible or not pretend to be
launched with /bin/sh.
------- Comment #6 From 2008-02-28 14:09:14 -------
Committed fix (avoid bash extensions) to 4.0 branch and trunk.