Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-16490

New versions of Remoting should be automatically pushed to Java Web Start agents

    Details

    • Similar Issues:

      Description

      As described in JENKINS-9679, merely updating the version of slave.jar served from Jenkins master does not cause JNLP agents to use the new version; they persist in using the JNLP cache. This makes debugging changes difficult, and can result in bug fixes seeming to not take effect in user deployments.

      We do set an immediate Expires header on /jnlpJars/slave.jar but apparently this does not suffice.

        Attachments

          Issue Links

            Activity

            jglick Jesse Glick created issue -
            jglick Jesse Glick made changes -
            Field Original Value New Value
            Link This issue is blocking JENKINS-9679 [ JENKINS-9679 ]
            jglick Jesse Glick made changes -
            Link This issue is duplicated by JENKINS-21642 [ JENKINS-21642 ]
            jglick Jesse Glick made changes -
            Link This issue is duplicated by JENKINS-22454 [ JENKINS-22454 ]
            Hide
            jglick Jesse Glick added a comment -

            There should also be a NodeMonitor for slaves running an old version of slave.jar.

            Show
            jglick Jesse Glick added a comment - There should also be a NodeMonitor for slaves running an old version of slave.jar .
            Hide
            danielbeck Daniel Beck added a comment -

            Jesse: It's called VersionColumn Plugin

            Show
            danielbeck Daniel Beck added a comment - Jesse: It's called VersionColumn Plugin
            Hide
            jglick Jesse Glick added a comment -

            Ah, how about that!

            Show
            jglick Jesse Glick added a comment - Ah, how about that!
            Hide
            oleg_nenashev Oleg Nenashev added a comment -

            I also think that Jenkins should have an extension point, which allows to provide custom slave.jar version to users.

            Use-cases:

            • Apply a patch for client-side without the master's restart
            • Use custom builds with modified default values, etc. (our users don't like following internal guides)
            Show
            oleg_nenashev Oleg Nenashev added a comment - I also think that Jenkins should have an extension point, which allows to provide custom slave.jar version to users. Use-cases: Apply a patch for client-side without the master's restart Use custom builds with modified default values, etc. (our users don't like following internal guides)
            Hide
            cobexer Ing. Christoph Obexer added a comment -

            I remember reading in another thread that jenkins-slave.exe is updated automatically, couldn't it take care of updating the slave.jar too?

            Another idea: would a redirect of the /jnlpJars/slave.jar to /jnlpJars/slave-vx.xxx.x.jar help?

            Last time the slave.jar had to be updated i had to learn powershell and write a script that deployed the new slave.jar across all our windows slaves - that was frustrating and took way too long for something that ought to be built in.

            Show
            cobexer Ing. Christoph Obexer added a comment - I remember reading in another thread that jenkins-slave.exe is updated automatically, couldn't it take care of updating the slave.jar too? Another idea: would a redirect of the /jnlpJars/slave.jar to /jnlpJars/slave-vx.xxx.x.jar help? Last time the slave.jar had to be updated i had to learn powershell and write a script that deployed the new slave.jar across all our windows slaves - that was frustrating and took way too long for something that ought to be built in.
            Hide
            heymjo Jorg Heymans added a comment -

            Arriving here after installing Version Column Plugin because it was featured in Plugin Spotlight on the jenkins homepage. After jenkins restart all our windows nodes were marked offline because of outdated slave.jar, fun times clicking on all of them to mark them back online Anyone found a way to force an update on JNLP slaves somehow ?

            Show
            heymjo Jorg Heymans added a comment - Arriving here after installing Version Column Plugin because it was featured in Plugin Spotlight on the jenkins homepage. After jenkins restart all our windows nodes were marked offline because of outdated slave.jar, fun times clicking on all of them to mark them back online Anyone found a way to force an update on JNLP slaves somehow ?
            Hide
            oleg_nenashev Oleg Nenashev added a comment -

            Jorg Heymans, are you using Windows service on Windows? If yes, I'm working on such feature for WinSW

            Show
            oleg_nenashev Oleg Nenashev added a comment - Jorg Heymans , are you using Windows service on Windows? If yes, I'm working on such feature for WinSW
            Hide
            heymjo Jorg Heymans added a comment -

            Yes we are using windows service.

            Show
            heymjo Jorg Heymans added a comment - Yes we are using windows service.
            rtyler R. Tyler Croy made changes -
            Workflow JNJira [ 147312 ] JNJira + In-Review [ 176870 ]
            hrmpw Patrick Wolf made changes -
            Assignee CloudBees Inc. [ cloudbees ]
            oleg_nenashev Oleg Nenashev made changes -
            Component/s remoting [ 15489 ]
            oleg_nenashev Oleg Nenashev made changes -
            Assignee CloudBees Inc. [ cloudbees ] Oleg Nenashev [ oleg_nenashev ]
            oleg_nenashev Oleg Nenashev made changes -
            Labels jnlp slave jnlp slave winsw
            Hide
            oleg_nenashev Oleg Nenashev added a comment -

            Created JENKINS-39237 as a follow-up for Windows slaves. I hope to deliver it shortly

            Show
            oleg_nenashev Oleg Nenashev added a comment - Created JENKINS-39237 as a follow-up for Windows slaves. I hope to deliver it shortly
            oleg_nenashev Oleg Nenashev made changes -
            Link This issue is related to JENKINS-39237 [ JENKINS-39237 ]
            oleg_nenashev Oleg Nenashev made changes -
            Epic Link JENKINS-38833 [ 175240 ]
            oleg_nenashev Oleg Nenashev made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            oleg_nenashev Oleg Nenashev made changes -
            Status In Progress [ 3 ] Open [ 1 ]
            Hide
            oleg_nenashev Oleg Nenashev added a comment -

            The feature for Windows service agents has been delivered in Jenkins 2.50.
            Regarding the pure agents, it is still TODO

            Show
            oleg_nenashev Oleg Nenashev added a comment - The feature for Windows service agents has been delivered in Jenkins 2.50. Regarding the pure agents, it is still TODO
            oleg_nenashev Oleg Nenashev made changes -
            Assignee Oleg Nenashev [ oleg_nenashev ]
            jedavis Jason Davis made changes -
            Labels jnlp slave winsw jnlp lts-candidate slave winsw
            jedavis Jason Davis made changes -
            Labels jnlp lts-candidate slave winsw jnlp slave winsw
            jedavis Jason Davis made changes -
            Labels jnlp slave winsw jnlp lts-candidate slave winsw
            Hide
            oleg_nenashev Oleg Nenashev added a comment -

            WinSW changes are not the LTS candidate. Whatever needs to be done for other agent types, it won't be an LTS candidate as well. And this issue is actually not a bug anyway. It's architecture flaw, but still an improvement/new feature

            Show
            oleg_nenashev Oleg Nenashev added a comment - WinSW changes are not the LTS candidate. Whatever needs to be done for other agent types, it won't be an LTS candidate as well. And this issue is actually not a bug anyway. It's architecture flaw, but still an improvement/new feature
            oleg_nenashev Oleg Nenashev made changes -
            Issue Type Bug [ 1 ] New Feature [ 2 ]
            oleg_nenashev Oleg Nenashev made changes -
            Summary New versions of slave.jar not reliably pushed via JNLP New versions of Remoting should be automatically pushed to Java Web Start agents
            oleg_nenashev Oleg Nenashev made changes -
            Epic Link JENKINS-38833 [ 175240 ] JENKINS-44099 [ 181725 ]
            danielbeck Daniel Beck made changes -
            Labels jnlp lts-candidate slave winsw jnlp slave winsw
            oleg_nenashev Oleg Nenashev made changes -
            Link This issue is duplicated by JENKINS-23880 [ JENKINS-23880 ]
            jglick Jesse Glick made changes -
            Labels jnlp slave winsw essentials jnlp slave winsw
            batmat Baptiste Mathus made changes -
            Labels essentials jnlp slave winsw essentials evergreen jnlp slave winsw
            batmat Baptiste Mathus made changes -
            Labels essentials evergreen jnlp slave winsw evergreen jnlp slave winsw

              People

              • Assignee:
                Unassigned
                Reporter:
                jglick Jesse Glick
              • Votes:
                14 Vote for this issue
                Watchers:
                21 Start watching this issue

                Dates

                • Created:
                  Updated: