Hi,

Recently I've moved the Jenkins installation to a different HDD location on 
the same host, and to be started by a different user, reasons for the move 
was that it was previously freeloading from another user. After this move 
all *nix slave nodes connects fine but the windows jnlp slave node doesn't 
come up anymore with the following errors in the slave node logs:

jenkins-slave.err.log:

JNLP file 
http://my.machine.com:8080/jenkins/computer/node01/slave-agent.jnlp?encrypt=true
 
has invalid arguments: [<some_hex>, node01, -url, 
http://my.machine.com:8080/jenkins/, -url, 
http://my.machine.com:8080:8080/jenkins/, -headless, -jar-cache, 
C:\.jenkins\cache\jars]
Most likely a configuration error in the master
"http://my.machine.com:8080:8080/jenkins/"; is not a valid value for "-url"


I had a look in the downloaded slave-agent.jnlp file from the website and 
it has:

<jnlp spec="1.0+" 
codebase="http://my.machine.com:8080/jenkins/computer/node01/";><information><title>Slave
 
Agent for node01</title><vendor>Jenkins project</vendor><homepage 
href="https://jenkins-ci.org/"/></information><security><all-permissions/></security><resources><j2se
 
version="1.5+"/><jar 
href="http://my.machine.com:8080/jenkins/jnlpJars/remoting.jar"/><property 
name="hudson.showWindowsServiceInstallLink" 
value="true"/></resources><application-desc 
main-class="hudson.remoting.jnlp.Main"><argument>some_hex</argument><argument>node01</argument><argument>-url</argument><argument>http://my.machine.com:8080/jenkins/</argument><argument>-url</argument><argument
*>http://my.machine.com:8080:8080/jenkins/*
</argument></application-desc></jnlp>

The part where it is marked in bold font is the part where it is 
complaining about, whereas before the move it didn't have this extra url.

I then had a look at the Jenkins source code to see where did this url come 
from:

The file in 
jenkins-master/core/src/main/resources/hudson/slaves/SlaveComputer/slave-agent.jnlp.jelly
 
has this:

        <j:if test="${rootURL!=app.rootUrlFromRequest}">
          <!--
            rootURL is based on the URL in the system config, but there has 
been
            numerous reports about people moving Jenkins to another place 
but
            forgetting to update it. To improve the user experience in this 
regard,
            let's also pass the URL that the browser sent us as well, so 
that the
            JNLP Main class can try both.

            Note that rootURL is still necessary in various situations, such
            as reverse HTTP proxy situation, which makes rootUrlFromRequest 
incorrect.
          -->
          <argument>-url</argument>
          <argument>${app.rootUrlFromRequest}</argument>

Thus, this means that somehow after the move the rootUrlFromRequest is now 
different. Except now I'm lost where to find and correct the "root URL from 
request" or where that is being set.

After the move I've already grep and replaced paths in the Jenkins setting 
that pointed to the old location.

Any pointers to where I should look next?

Cheers,
Hansen


-- 
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 jenkinsci-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to