The USE_SETSID defaults to false because I was unable to predict all the places where users might have depended on the existing behavior.
For example, I'm not sure what would happen to a JNLP agent that was started from a shell which had a running ssh-agent. I've learned by sad experience that the combinations and configurations I test are a fraction of the combinations and configurations that are important to users. I'm not aware of any specific cases where USE_SETSID=true would have an undesirable result, but I didn't want to risk incompatibility for a case that I believe is rare. I believe that most Jenkins agents are not run from a controlling terminal. I think it is uncommon to launch a long-running process like a Jenkins agent from a controlling terminal. Mark Waite On Wed, May 2, 2018 at 8:49 AM Jannis Achstetter < [email protected]> wrote: > Hi Mark, > > > > Nailed it! Thanks for the fast response, using setsid solves the problem! > I’d like to add this to the wiki but due to some ldap-server fallout, I’m > currently unable to login. > > > > About the Java property org.jenkinsci.plugins.gitclient.USE_SETSID you > mentioned some “compatibility” issues that lead to this property not being > set to true by default. Are there any problems to be expected using setsid? > > > > Thanks, > > Jannis > > > > *From:* [email protected] [mailto: > [email protected]] *On Behalf Of *Mark Waite > *Sent:* Wednesday, 2 May, 2018 16:02 > *To:* [email protected] > *Subject:* Re: Nodes via Headless WebStart: Unable to checkout git > repository using credentials > > > > Since you're running `java -jar agent.jar -jnlpUrl > https://MASTER/computer/SLAVENAME/slave-agent.jnlp -secret SECRET` from a > command line, the ssh command invoked by command line git believes there is > a controlling terminal and prompts on that controlling terminal for the > passphrase. > > > > You can probably prevent that prompt on Linux by adding `setsid` before > that command to launch the JNLP agent. The `setsid` command runs the > program in a new session, detached from the controlling terminal. > > > > The new command would be: > > > > setsid java -jar agent.jar -jnlpUrl > https://MASTER/computer/SLAVENAME/slave-agent.jnlp -secret SECRET > > > > There is a Java property that attempts to force that behavior. For > compatibility purposes, that property defaults to false. You should be > able to set it to true with the additional argument: > > > > -Dorg.jenkinsci.plugins.gitclient.USE_SETSID=true > > > > Mark Waite > > > > On Wed, May 2, 2018 at 7:42 AM Jannis Achstetter < > [email protected]> wrote: > > Hi, > > > > I'm facing an issue in a master/slave Jenkins setup. Version of master is > 2.89.2, slaves are running Linux. > > > > If a node is connected via the "Launch slave agent via SSH" method, > everything is working as expected. > > > > When I use the "Launch agent via Java Web Start" method and use this > command to connect the node to the master: > > java -jar agent.jar -jnlpUrl > https://MASTER/computer/SLAVENAME/slave-agent.jnlp -secret SECRET > > the node is connected successfully to the master and jobs are being > executed. > > > > The problem arises when a second git repository is to be checked out > during build with this step in our build pipelines: > > dir('keys') { > > git url: > '[email protected]:ORG/REPO.git', > credentialsId: 'MyCredentials' > > } > > ‘MyCredentials’ is a private SSH key with username and passphrase to > decrypt the key, stored in the Jenkins master. > > > > The build times out after waiting 10 minutes for the step to finish with > no relevant info (stack trace + exit code for SIGTERM + no stdout + no > stderr) in the build log. However, on the terminal where the agent.jar was > started there is this output: > > May 02, 2018 2:25:05 PM > hudson.remoting.jnlp.Main$CuiListener status > > INFO: Connected > > Enter passphrase for key '/var/lib/jenkins/workspace/PROJECTNAME': > > > > So it seems that when using the WebStart-method, something is wrong with > the stdin/stdout redirection. In the wiki ( > https://wiki.jenkins.io/display/JENKINS/Distributed+builds) it says: > “execute the agent program like java -jar agent.jar, on the right computer, > and have its stdin/stdout connect to your script's stdin/stdout”. I’m not > sure if I’m doing something wrong because all examples for headless just > run the java command as shown above. > > > > Any ideas if this is valid bug, I’m doing something wrong or that scenario > is currently just not supported? > > > > Thanks! > > > > Jannis Achstetter > Technical Engineer Mobility > Innovation & Technology Digitization > Industry Business > Schneider Electric Automation GmbH > > D +49 9391 606 - 2897 <+49%209391%206062897> > > <https://maps.google.com/?q=Schneiderplatz+1+%0D%0A+97828+Marktheidenfeld+%0D%0A+Germany&entry=gmail&source=g>E > [email protected] > > <https://maps.google.com/?q=Schneiderplatz+1+%0D%0A+97828+Marktheidenfeld+%0D%0A+Germany&entry=gmail&source=g> > > Schneiderplatz 1 > <https://maps.google.com/?q=Schneiderplatz+1+%0D%0A97828+Marktheidenfeld+%0D%0AGermany&entry=gmail&source=g> > 97828 Marktheidenfeld > <https://maps.google.com/?q=Schneiderplatz+1+%0D%0A97828+Marktheidenfeld+%0D%0AGermany&entry=gmail&source=g> > Germany > <https://maps.google.com/?q=Schneiderplatz+1+%0D%0A97828+Marktheidenfeld+%0D%0AGermany&entry=gmail&source=g> > > http://www.schneider-electric.com/ww/en/ > > > > > > *Please consider the environment before printing this e-mail > > > > > > *Sitz der Gesellschaft:* Marktheidenfeld | Amtsgericht Würzburg | HRB > 10733 | USt-IdNr. DE261529553 > * Geschäftsführer:* Thomas Martis, Ottmar Himmelsbach > > > > > > -- > You received this message because you are subscribed to the Google Groups > "Jenkins Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/jenkinsci-users/VI1PR04MB31506BC1A82F0403511F1DB2D2800%40VI1PR04MB3150.eurprd04.prod.outlook.com > <https://groups.google.com/d/msgid/jenkinsci-users/VI1PR04MB31506BC1A82F0403511F1DB2D2800%40VI1PR04MB3150.eurprd04.prod.outlook.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > > -- > You received this message because you are subscribed to the Google Groups > "Jenkins Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/jenkinsci-users/CAO49JtFpbJCQ5s_L8c6zZxwoSCJf11JcpvzDGvG4UGk7rYnPFQ%40mail.gmail.com > <https://groups.google.com/d/msgid/jenkinsci-users/CAO49JtFpbJCQ5s_L8c6zZxwoSCJf11JcpvzDGvG4UGk7rYnPFQ%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > > ______________________________________________________________________ > This email has been scanned by the Symantec Email Security.cloud service. > ______________________________________________________________________ > > -- > You received this message because you are subscribed to the Google Groups > "Jenkins Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/jenkinsci-users/VI1PR04MB3150B8EF045545525BC66F9AD2800%40VI1PR04MB3150.eurprd04.prod.outlook.com > <https://groups.google.com/d/msgid/jenkinsci-users/VI1PR04MB3150B8EF045545525BC66F9AD2800%40VI1PR04MB3150.eurprd04.prod.outlook.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Jenkins Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CAO49JtEHsaFjYTL8KtV99%2BRUcpUpYVFRgKk7r9BNgFkboAd0eg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
