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

Introduce the remoting working directory concept

    • Icon: New Feature New Feature
    • Resolution: Fixed
    • Icon: Major Major
    • remoting
    • None

      Right now remoting has no it's own Working Directory on startup. It complicates implementation of features like JENKINS-39369 and JENKINS-18578

      Requirements:

      • The directory is compatible with the current agent workspace architecture of JNLP slaves and
      • The directory is being created only if explicitly required (behavior compatibility for the current workspace-less agents)
      • The workspace should not interfere with Jenkins plugins putting the data to the root of the agent workspace

          [JENKINS-39370] Introduce the remoting working directory concept

          Code changed in jenkins
          User: Oleg Nenashev
          Path:
          README.md
          docs/logging.md
          docs/workDir.md
          src/main/java/hudson/remoting/Engine.java
          src/main/java/hudson/remoting/FileSystemJarCache.java
          src/main/java/hudson/remoting/Launcher.java
          src/main/java/hudson/remoting/TeeOutputStream.java
          src/main/java/hudson/remoting/jnlp/Main.java
          src/main/java/org/jenkinsci/remoting/engine/WorkDirManager.java
          src/test/java/org/jenkinsci/remoting/engine/WorkDirManagerTest.java
          http://jenkins-ci.org/commit/remoting/76c9b8ccf14f7def1141565b0dee2e4d1c5508d4
          Log:
          [JENKINS-39370,JENKINS-39369] - Support of work directories in Remoting (#129)

          • [JENKINS-39370,JENKINS-39369] - Add workDir parameter and automatically create logs there if specified
          • Save the progress
          • JENKINS-39370 - Generalize the workspace manager for Java Web Start
          • JENKINS-39370 - Restrict the range of supported symbols in the remoting work directory
          • JENKINS-39130 - Allow specifying flag for failing initialization if workdir is missing
          • JENKINS-39370 - @stephenc noticed that workDir may be null, Intellij IDEA adoption fun
          • JENKINS-39370 - Another message, which likely breaks the CI instance
          • JENKINS-39817 - Introduce the agentLog parameter in remoting.jnlp.Main

          @stephenc suggested doing it in the PR, so I decided to address it as a part of JENKINS-39370.
          But the code still has initialization in hudson.remoting.Launcher for other logging modes.

          • Enable JUL logging to a log-rotated file by default
          • JENKINS-18578 - If workspace manager is defined, use JAR Cache within its interbal directory
          • JENKINS-39370 - Fix the workDirManager's log initialization in Launcher
          • JENKINS-39369 - Make JUL logging system configurable via property file
          • JENKINS-39369 - Fixes in logging management after the manual testing
          • JENKINS-39369 - Respect configuration being passed from java.util.logging.config.file system property

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oleg Nenashev Path: README.md docs/logging.md docs/workDir.md src/main/java/hudson/remoting/Engine.java src/main/java/hudson/remoting/FileSystemJarCache.java src/main/java/hudson/remoting/Launcher.java src/main/java/hudson/remoting/TeeOutputStream.java src/main/java/hudson/remoting/jnlp/Main.java src/main/java/org/jenkinsci/remoting/engine/WorkDirManager.java src/test/java/org/jenkinsci/remoting/engine/WorkDirManagerTest.java http://jenkins-ci.org/commit/remoting/76c9b8ccf14f7def1141565b0dee2e4d1c5508d4 Log: [JENKINS-39370,JENKINS-39369] - Support of work directories in Remoting (#129) [JENKINS-39370,JENKINS-39369] - Add workDir parameter and automatically create logs there if specified Save the progress JENKINS-39370 - Generalize the workspace manager for Java Web Start JENKINS-39370 - WiP - Save progress in the test suite JENKINS-39370 - Add tests for WorkDirManager JENKINS-39370 - Restrict the range of supported symbols in the remoting work directory JENKINS-39370 - Generalize the workspace initialization checks JENKINS-39130 - Allow specifying flag for failing initialization if workdir is missing JENKINS-39370 - Reference DirType in WorkDirManager Javadocs JENKINS-39370 - @stephenc noticed that workDir may be null, Intellij IDEA adoption fun JENKINS-39370 - Seems this message breaks our CI JENKINS-39370 - Another message, which likely breaks the CI instance JENKINS-39370 - Simplify the log handling logic JENKINS-39817 - Introduce the agentLog parameter in remoting.jnlp.Main @stephenc suggested doing it in the PR, so I decided to address it as a part of JENKINS-39370 . But the code still has initialization in hudson.remoting.Launcher for other logging modes. Enable JUL logging to a log-rotated file by default JENKINS-18578 - If workspace manager is defined, use JAR Cache within its interbal directory JENKINS-39370 - Fix the workDirManager's log initialization in Launcher JENKINS-39370 - Draft the documentation JENKINS-39369 - Make JUL logging system configurable via property file JENKINS-39369 - Fixes in logging management after the manual testing JENKINS-39369 - Add tests for the logging subsystem JENKINS-39369 - Respect configuration being passed from java.util.logging.config.file system property

          Oleg Nenashev added a comment -

          Released in Remoting 3.8. Needs integration into the core

          Oleg Nenashev added a comment - Released in Remoting 3.8. Needs integration into the core

          Code changed in jenkins
          User: Oleg Nenashev
          Path:
          core/src/test/java/hudson/LauncherTest.java
          pom.xml
          test/src/test/java/hudson/slaves/JNLPLauncherTest.java
          http://jenkins-ci.org/commit/jenkins/e7cdd6517cf25940a497f9abced72c888a398720
          Log:
          JENKINS-39370 - Update Remoting in Jenkins core to 3.10 (#2886)

          • Update Remoting in Jenkins core to 3.8
          • JENKINS-39370 - Introduce support of Work Directories in remoting (opt-in).
          • PR 129 - Allow configuring java.util.logging settings via a property file (-loggingConfig or JUL system property). See the Logging page for more details.
          • JENKINS-37567 - Change of the code signing certificate

          More info: https://github.com/jenkinsci/remoting/blob/master/CHANGELOG.md#38

          • JENKINS-39370 - Add direct tests for JNLP Launcher start with -workDir
          • Pick Remoting 3.9
          • Improve error message of LauncherTest#remoteKill()
          • Update Remoting to 3.10

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oleg Nenashev Path: core/src/test/java/hudson/LauncherTest.java pom.xml test/src/test/java/hudson/slaves/JNLPLauncherTest.java http://jenkins-ci.org/commit/jenkins/e7cdd6517cf25940a497f9abced72c888a398720 Log: JENKINS-39370 - Update Remoting in Jenkins core to 3.10 (#2886) Update Remoting in Jenkins core to 3.8 JENKINS-39370 - Introduce support of Work Directories in remoting (opt-in). PR 129 - Allow configuring java.util.logging settings via a property file (-loggingConfig or JUL system property). See the Logging page for more details. JENKINS-37567 - Change of the code signing certificate More info: https://github.com/jenkinsci/remoting/blob/master/CHANGELOG.md#38 JENKINS-39370 - Add direct tests for JNLP Launcher start with -workDir Pick Remoting 3.9 Improve error message of LauncherTest#remoteKill() Update Remoting to 3.10

          Oleg Nenashev added a comment -

          Merged towards Jenkins 2.68

          Oleg Nenashev added a comment - Merged towards Jenkins 2.68

            oleg_nenashev Oleg Nenashev
            oleg_nenashev Oleg Nenashev
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: