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}}