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

ATH erroneously installs detached plugins, causing needless restarts

      The acceptance test harness must restart Jenkins after plugin installation due to the fact that outdated, detached plugins are installed by default. As per this outdated commit, it looks like the intent is just to fix failing tests which have never had to declare detached plugins in their WithPlugins.

      One impact of this is that almost every test case must restart Jenkins because it installs updated plugins over the existing detached ones, which prevents dynamic deployment from working.

      I think we actually must take the hard path here and fix up the WithPlugins to be accurate.

          [JENKINS-38307] ATH erroneously installs detached plugins, causing needless restarts

          Ryan Campbell created issue -
          Ryan Campbell made changes -
          Description Original: The acceptance test harness must restart Jenkins after plugin installation due to the fact that outdated, [detached plugins are installed|https://github.com/jenkinsci/acceptance-test-harness/blob/c1512e4da9dc3b4dd701988dae103eaec405ec25/src/main/java/org/jenkinsci/test/acceptance/controller/LocalController.java#L182] by default. As per this [outdated commit|https://github.com/jenkinsci/acceptance-test-harness/commit/61e55fa7517efd2ee41b61312d6659c0ce31d0a2], it looks like the intent is just to fix failing tests which have never had to declare detached plugins in their WithPlugins.

          I think we actually must take the hard path here and fix up the WithPlugins to be accurate.
          New: The acceptance test harness must restart Jenkins after plugin installation due to the fact that outdated, [detached plugins are installed|https://github.com/jenkinsci/acceptance-test-harness/blob/c1512e4da9dc3b4dd701988dae103eaec405ec25/src/main/java/org/jenkinsci/test/acceptance/controller/LocalController.java#L182] by default. As per this [outdated commit|https://github.com/jenkinsci/acceptance-test-harness/commit/61e55fa7517efd2ee41b61312d6659c0ce31d0a2], it looks like the intent is just to fix failing tests which have never had to declare detached plugins in their WithPlugins.

          One impact of this is that almost every test case must restart Jenkins because it installs updated plugins over the existing detached ones, which prevents dynamic deployment from working.

          I think we actually must take the hard path here and fix up the WithPlugins to be accurate.
          Ryan Campbell made changes -
          Assignee Original: Oliver Gondža [ olivergondza ] New: Ryan Campbell [ recampbell ]
          Ryan Campbell made changes -
          Remote Link New: This issue links to "PR (Web Link)" [ 14850 ]
          Ryan Campbell made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]

          Ryan Campbell added a comment -

          It turns out that much of the trouble making this work is caused by JENKINS-37545. Plugins with old parent poms will pull in the correct dependencies when installed via the update center, but those dependencies won't be installed when the plugin is uploaded.

          Ryan Campbell added a comment - It turns out that much of the trouble making this work is caused by JENKINS-37545 . Plugins with old parent poms will pull in the correct dependencies when installed via the update center, but those dependencies won't be installed when the plugin is uploaded.
          Ryan Campbell made changes -
          Link New: This issue is blocked by JENKINS-37545 [ JENKINS-37545 ]
          Jesse Glick made changes -
          Link New: This issue relates to JENKINS-40092 [ JENKINS-40092 ]

          Jesse Glick added a comment -

          I also find that if a test specifies a detached plugin without a version, that bundled version will be used, even if LOCAL_SNAPSHOTS=true; you need to add an @ version newer than the detached version to force ATH to use the specified version.

          I think ATH against Jenkins 2 should completely ignore detached plugins, and always pick the latest version from the UC (or a local snapshot if requested).

          Jesse Glick added a comment - I also find that if a test specifies a detached plugin without a version, that bundled version will be used, even if LOCAL_SNAPSHOTS=true ; you need to add an @ version newer than the detached version to force ATH to use the specified version. I think ATH against Jenkins 2 should completely ignore detached plugins, and always pick the latest version from the UC (or a local snapshot if requested).

          Code changed in jenkins
          User: Jesse Glick
          Path:
          src/test/java/plugins/SshSlavesPluginTest.java
          http://jenkins-ci.org/commit/acceptance-test-harness/a5ae9dc40e32dfd8847c3d63efa9a315a1fe21e9
          Log:
          JENKINS-38307 Pending #191, make sure we are installing recent versions of plugins, not whatever old stuff happened to be in the detached list.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: src/test/java/plugins/SshSlavesPluginTest.java http://jenkins-ci.org/commit/acceptance-test-harness/a5ae9dc40e32dfd8847c3d63efa9a315a1fe21e9 Log: JENKINS-38307 Pending #191, make sure we are installing recent versions of plugins, not whatever old stuff happened to be in the detached list.

            recampbell Ryan Campbell
            recampbell Ryan Campbell
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: