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

Introduce the remoting working directory concept

    XMLWordPrintable

Details

    • New Feature
    • Status: Resolved (View Workflow)
    • Major
    • Resolution: Fixed
    • remoting
    • None

    Description

      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

      Attachments

        Issue Links

          Activity

            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_issue_link 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 Oleg Nenashev added a comment -

            Released in Remoting 3.8. Needs integration into the core

            oleg_nenashev 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_issue_link 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 Oleg Nenashev added a comment -

            Merged towards Jenkins 2.68

            oleg_nenashev Oleg Nenashev added a comment - Merged towards Jenkins 2.68

            People

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

              Dates

                Created:
                Updated:
                Resolved: