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

Change name of "slave.jar" to "agent.jar"

    XMLWordPrintable

Details

    • Improvement
    • Status: Resolved (View Workflow)
    • Major
    • Resolution: Fixed
    • core
    • Jenkins 2.6

    Description

      Found when launching a jnlp agent from command line:
      "java -jar slave.jar -jnlpUrl ..."

      The name of this jar should match agreed naming guidelines.

      Attachments

        Issue Links

          Activity

            oleg_nenashev Oleg Nenashev added a comment -

            It's not so easy, because many automation flows download slave.jar, windows-slave.exe and other such files from Jenkins. We can only add new endpoints and fix UIs, but the previous entries must be retained

            oleg_nenashev Oleg Nenashev added a comment - It's not so easy, because many automation flows download slave.jar, windows-slave.exe and other such files from Jenkins. We can only add new endpoints and fix UIs, but the previous entries must be retained
            bitwiseman Liam Newman added a comment - - edited

            Is eternal backward compatibility a core requirement? Can we create a plan for phasing these out? Provide both for some time period and then remove the old.

            File names in particular heavily influence the terms people use when talking about the product and features. Keeping "slave" in the file names essentially defeats any effort to remove the term "slave" from association with our product. As part of this transition, we're seeing people add the term "agent" but not remove the term "slave" from descriptions. "I'm have a problem with my jenkins slave agent." To get people to drop "slave", I think we need to not show them "slave-blah" every time they start an agent.

            bitwiseman Liam Newman added a comment - - edited Is eternal backward compatibility a core requirement? Can we create a plan for phasing these out? Provide both for some time period and then remove the old. File names in particular heavily influence the terms people use when talking about the product and features. Keeping "slave" in the file names essentially defeats any effort to remove the term "slave" from association with our product. As part of this transition, we're seeing people add the term "agent" but not remove the term "slave" from descriptions. "I'm have a problem with my jenkins slave agent." To get people to drop "slave", I think we need to not show them "slave-blah" every time they start an agent.
            oleg_nenashev Oleg Nenashev added a comment -

            > Can we create a plan for phasing these out? Provide both for some time period and then remove the old.

            We cannot, because there is no API deprecation policy/engine.
            As a remoting maintainer, I'm strongly -1 on removing original links within any visible timeframe. Too much fixing efforts and regressions due to just a renaming

            oleg_nenashev Oleg Nenashev added a comment - > Can we create a plan for phasing these out? Provide both for some time period and then remove the old. We cannot, because there is no API deprecation policy/engine. As a remoting maintainer, I'm strongly -1 on removing original links within any visible timeframe. Too much fixing efforts and regressions due to just a renaming
            bitwiseman Liam Newman added a comment -

            The originally agreement was that the term slave would be removed from the UI, but left in the APIs to avoid breaking compatibility both for plugins and customer tools/scripts.   The problem is that line of where the UI stops and the API begins is a somewhat fluid when your users are engineers.

            I understand that filenames and urls are effectively part of the API and so changing them is problematic and could be considered out of scope.   But filenames and urls are also part of the end-user experience (the UI) for every Jenkins user. And the files and urls related to adding an agent are some of the first and most commonly used.

            bitwiseman Liam Newman added a comment - The originally agreement was that the term slave would be removed from the UI, but left in the APIs to avoid breaking compatibility both for plugins and customer tools/scripts.   The problem is that line of where the UI stops and the API begins is a somewhat fluid when your users are engineers. I understand that filenames and urls are effectively part of the API and so changing them is problematic and could be considered out of scope.   But filenames and urls are also part of the end-user experience (the UI) for every Jenkins user. And the files and urls related to adding an agent are some of the first and most commonly used.
            jamesdumay James Dumay added a comment -

            Surely we can do a hard redirect when someone is asking for /slave.jar?

            jamesdumay James Dumay added a comment - Surely we can do a hard redirect when someone is asking for /slave.jar?

            see https://github.com/jenkinsci/jenkins/pull/3004 as a minimal backward compatible fix. slave.jar still supported to ensure no regression, but document use of agent.jar

            ndeloof Nicolas De Loof added a comment - see https://github.com/jenkinsci/jenkins/pull/3004  as a minimal backward compatible fix. slave.jar still supported to ensure no regression, but document use of agent.jar
            bitwiseman Liam Newman added a comment -

            ndeloof Thanks!

            bitwiseman Liam Newman added a comment - ndeloof Thanks!

            Code changed in jenkins
            User: Oleg Nenashev
            Path:
            core/src/main/java/hudson/FilePath.java
            core/src/main/java/hudson/Launcher.java
            core/src/main/java/hudson/model/Slave.java
            core/src/main/java/hudson/slaves/Channels.java
            core/src/main/java/hudson/slaves/CommandLauncher.java
            core/src/main/java/hudson/slaves/SlaveComputer.java
            core/src/main/resources/hudson/slaves/CommandLauncher/help-command.html
            core/src/main/resources/hudson/slaves/CommandLauncher/help-command_bg.html
            core/src/main/resources/hudson/slaves/CommandLauncher/help-command_fr.html
            core/src/main/resources/hudson/slaves/CommandLauncher/help-command_ja.html
            core/src/main/resources/hudson/slaves/CommandLauncher/help-command_ru.html
            core/src/main/resources/hudson/slaves/JNLPLauncher/main.jelly
            core/src/main/resources/windows-service/jenkins-slave.xml
            test/src/test/java/hudson/model/Slave2Test.java
            test/src/test/resources/hudson/model/update-center.json
            http://jenkins-ci.org/commit/jenkins/0a2d6ca2bad601c2ad80502e0f4de861e93c6f2c
            Log:
            Merge pull request #3004 from ndeloof/agent

            JENKINS-35451 - prefer ‘agent.jar’ over ‘slave.jar’

            Compare: https://github.com/jenkinsci/jenkins/compare/7f093d3dd786...0a2d6ca2bad6

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oleg Nenashev Path: core/src/main/java/hudson/FilePath.java core/src/main/java/hudson/Launcher.java core/src/main/java/hudson/model/Slave.java core/src/main/java/hudson/slaves/Channels.java core/src/main/java/hudson/slaves/CommandLauncher.java core/src/main/java/hudson/slaves/SlaveComputer.java core/src/main/resources/hudson/slaves/CommandLauncher/help-command.html core/src/main/resources/hudson/slaves/CommandLauncher/help-command_bg.html core/src/main/resources/hudson/slaves/CommandLauncher/help-command_fr.html core/src/main/resources/hudson/slaves/CommandLauncher/help-command_ja.html core/src/main/resources/hudson/slaves/CommandLauncher/help-command_ru.html core/src/main/resources/hudson/slaves/JNLPLauncher/main.jelly core/src/main/resources/windows-service/jenkins-slave.xml test/src/test/java/hudson/model/Slave2Test.java test/src/test/resources/hudson/model/update-center.json http://jenkins-ci.org/commit/jenkins/0a2d6ca2bad601c2ad80502e0f4de861e93c6f2c Log: Merge pull request #3004 from ndeloof/agent JENKINS-35451 - prefer ‘agent.jar’ over ‘slave.jar’ Compare: https://github.com/jenkinsci/jenkins/compare/7f093d3dd786...0a2d6ca2bad6
            danielbeck Daniel Beck added a comment -

            Fixed in 2.77.

            Someone reported this issue as a problem on the changelog. Please indicate in a comment what the encountered problem is, nor file a separate issue for that, and link it here and/or from the changelog. Thanks!

            danielbeck Daniel Beck added a comment - Fixed in 2.77. Someone reported this issue as a problem on the changelog. Please indicate in a comment what the encountered problem is, nor file a separate issue for that, and link it here and/or from the changelog. Thanks!

            People

              Unassigned Unassigned
              bitwiseman Liam Newman
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: