#502 ✓resolved
Charles Scott

dispatcher returns bad status code with sudo adapter

Reported by Charles Scott | January 11th, 2012 @ 09:44 AM | in Rundeck 1.4.2 (closed)

Inline shows to example command lines. 1st is direct ssh, 2nd is via rundeck dispatch where we execute remotely on the same single node and same user. We get a bad status code via dispatch and stderr where via ssh (using -tt for pseudoterminal) we do not get bad status code. In both invocations the results are the same (minus bad status code)

When I do this via ssh ensuring tty is used it works:

-shell-3.2$ ssh -tt imageuser@pbdevrk1v sudo -u tomcat /var/tmp/rerun.bin  frontend: install-package --installRoot /tmp/1 --url https://snapshotrepo.wsgc.com:443/simple/snapshotrepo/com/wsgc/ecommerce/wsgc-ecommerce-configuration-devint/1.0-SNAPSHOT/wsgc-ecommerce-configuration-devint-1.0-20120110.172730-4-pb-Q1.zip
Verifying archive integrity... All good.
Uncompressing desc..........................................................................
DEBUG:
INSTALLROOT: /tmp/10
URL: https://snapshotrepo.wsgc.com:443/simple/snapshotrepo/com/wsgc/ecommerce/wsgc-ecommerce-configuration-devint/1.0-SNAPSHOT/wsgc-ecommerce-configuration-devint-1.0-20120110.172730-4-pb-Q1.zip
SUDOUSER: tomcat
/tmp/tmp.bfmsFq2669 /tmp/selfgz259629437
/tmp/selfgz259629437
Archive:  /tmp/tmp.bfmsFq2669/package.zip
   creating: apps/
   creating: apps/tomcat/
   creating: apps/tomcat/bin/
   creating: apps/tomcat/apps/
   creating: apps/tomcat/apps/pb/
   creating: apps/tomcat/lib/
   creating: apps/tomcat/conf/
   creating: apps/tomcat/conf/Catalina/
   creating: apps/tomcat/conf/Catalina/localhost/
   creating: etc/
   creating: etc/httpd/
   creating: etc/httpd/conf.d/
   creating: etc/httpd/conf/
  inflating: apps/tomcat/bin/catalina.sh  
  inflating: apps/tomcat/bin/startup.sh  
  inflating: apps/tomcat/bin/setenv.sh  
  inflating: apps/tomcat/apps/pb/app-specification.properties  
  inflating: apps/tomcat/lib/settings-override.properties  
  inflating: apps/tomcat/lib/log4j.properties  
  inflating: apps/tomcat/conf/Catalina/localhost/ROOT.xml  
  inflating: apps/tomcat/conf/logging.properties  
  inflating: apps/tomcat/conf/keystore_public.jks  
  inflating: etc/httpd/conf.d/ssl.conf  
  inflating: etc/httpd/conf/httpd.conf  
  inflating: etc/httpd/conf/workers.properties  
Connection to pbdevrk1v closed.
-shell-3.2$ echo $?
0

Using rundeck dispatcher I get failure after it appears to successfully do the same thing , a socket issue seems to appear

-shell-3.2$ dispatch -L -p wsgc -I tags=pb+devint -- id -nu \; hostname
imageuser
pbdevrk1v
-shell-3.2$ dispatch -L -p wsgc -I tags=pb+devint --  sudo -u tomcat /var/tmp/rerun.bin  frontend: install-package --installRoot /tmp/2 --url https://snapshotrepo.wsgc.com:443/simple/snapshotrepo/com/wsgc/ecommerce/wsgc-ecommerce-configuration-devint/1.0-SNAPSHOT/wsgc-ecommerce-configuration-devint-1.0-20120110.172730-4-pb-Q1.zip
Verifying archive integrity... All good.
Uncompressing desc..........................................................................
DEBUG:
INSTALLROOT: /tmp/2
URL: https://snapshotrepo.wsgc.com:443/simple/snapshotrepo/com/wsgc/ecommerce/wsgc-ecommerce-configuration-devint/1.0-SNAPSHOT/wsgc-ecommerce-configuration-devint-1.0-20120110.172730-4-pb-Q1.zip
SUDOUSER: tomcat
/tmp/tmp.RWXiep2506 /tmp/selfgz24214391
/tmp/selfgz24214391
Archive:  /tmp/tmp.RWXiep2506/package.zip
   creating: apps/
   creating: apps/tomcat/
   creating: apps/tomcat/bin/
   creating: apps/tomcat/apps/
   creating: apps/tomcat/apps/pb/
   creating: apps/tomcat/lib/
   creating: apps/tomcat/conf/
   creating: apps/tomcat/conf/Catalina/
   creating: apps/tomcat/conf/Catalina/localhost/
   creating: etc/
   creating: etc/httpd/
   creating: etc/httpd/conf.d/
   creating: etc/httpd/conf/
  inflating: apps/tomcat/bin/catalina.sh  
  inflating: apps/tomcat/bin/startup.sh  
  inflating: apps/tomcat/bin/setenv.sh  
error: Remote command failed with exit status -1
error: DispatcherResult{status=false, results={pbdevrk1v=[jsch-ssh] result was failure, resultcode: -1: Remote command failed with exit status -1}}
error: DispatcherResult{status=false, results={pbdevrk1v=[jsch-ssh] result was failure, resultcode: -1: Remote command failed with exit status -1}}

When -v for verbosity is used,

heres some stack strace info:

...
...
  inflating: apps/tomcat/apps/pb/app-specification.properties  Disconnecting from pbdevrk1v port 22
Caught an exception, leaving main loop due to Socket closed
error: Remote command failed with exit status -1
error: DispatcherResult{status=false, results={pbdevrk1v=[jsch-ssh] result was failure, resultcode: -1: Remote command failed with exit status -1}}
DispatcherResult{status=false, results={pbdevrk1v=[jsch-ssh] result was failure, resultcode: -1: Remote command failed with exit status -1}}
        at com.dtolabs.rundeck.core.cli.ExecTool.runAction(ExecTool.java:619)
        at com.dtolabs.rundeck.core.cli.ExecTool.run(ExecTool.java:414)
        at com.dtolabs.rundeck.core.cli.ExecTool.main(ExecTool.java:722)
error: DispatcherResult{status=false, results={pbdevrk1v=[jsch-ssh] result was failure, resultcode: -1: Remote command failed with exit status -1}}

Comments and changes to this ticket

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

(DEPRECATED) Please use github issues for issue tracking at http://github.com/dtolabs/rundeck/issues

Shared Ticket Bins

People watching this ticket

Pages