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

Dependency versions should NOT change for a given plugin release

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Critical Critical
    • None

      Problem Statement

      It appears that pinned versions of the blue ocean plugin will have dependencies change unexpectedly.  Here is some output from the init container for our helm release:

      io.jenkins.tools.pluginmanager.impl.AggregatePluginPrerequisitesNotMetException: Multiple plugin prerequisites not met:
      Plugin blueocean:1.25.8 (via blueocean-git-pipeline:1.27.1) depends on git:5.0.0, but there is an older version defined on the top level - git:4.14.1,
      Plugin blueocean:1.25.8 (via blueocean-pipeline-api-impl:1.27.1) depends on git:5.0.0, but there is an older version defined on the top level - git:4.14.1
              at io.jenkins.tools.pluginmanager.impl.PluginManager.start(PluginManager.java:240)
              at io.jenkins.tools.pluginmanager.impl.PluginManager.start(PluginManager.java:189)
              at io.jenkins.tools.pluginmanager.cli.Main.main(Main.java:52)
              Suppressed: io.jenkins.tools.pluginmanager.impl.PluginDependencyException: Plugin blueocean:1.25.8 (via blueocean-git-pipeline:1.27.1) depends on git:5.0.0, but there is an older version defined on the top level - git:4.14.1
                      at io.jenkins.tools.pluginmanager.impl.PluginManager.resolveRecursiveDependencies(PluginManager.java:1125)
                      at io.jenkins.tools.pluginmanager.impl.PluginManager.findPluginsAndDependencies(PluginManager.java:692)
                      at io.jenkins.tools.pluginmanager.impl.PluginManager.start(PluginManager.java:232)
                      ... 2 more
              Suppressed: io.jenkins.tools.pluginmanager.impl.PluginDependencyException: Plugin blueocean:1.25.8 (via blueocean-pipeline-api-impl:1.27.1) depends on git:5.0.0, but there is an older version defined on the top level - git:4.14.1
                      at io.jenkins.tools.pluginmanager.impl.PluginManager.resolveRecursiveDependencies(PluginManager.java:1125)
                      at io.jenkins.tools.pluginmanager.impl.PluginManager.findPluginsAndDependencies(PluginManager.java:692)
                      at io.jenkins.tools.pluginmanager.impl.PluginManager.start(PluginManager.java:232)
                      ... 2 more
      Multiple plugin prerequisites not met:
      Plugin blueocean:1.25.8 (via blueocean-git-pipeline:1.27.1) depends on git:5.0.0, but there is an older version defined on the top level - git:4.14.1,
      Plugin blueocean:1.25.8 (via blueocean-pipeline-api-impl:1.27.1) depends on git:5.0.0, but there is an older version defined on the top level - git:4.14.1 

      Supporting information

      Here are the pinned versions that we have in our helm release (with everything working as of Dec 15th and validated during a node upgrade on Jan 4th):

        additionalPlugins:
        - blueocean:1.25.8
        - pipeline-utility-steps:2.14.0
        - bitbucket:223.vd12f2bca5430
        - azure-ad:267.v5b_dfb_514d9fd
        - credentials-binding:523.vd859a_4b_122e6
        - sonar:2.15
        - ansicolor:1.0.2
        - pipeline-stage-view:2.28
        - datadog:5.2.0 

      Other possibly important information:

        # we're using a different version of jenkins than the chart:
        tag: 2.381-jdk17 

      IIRC this is not the first time that this has happened to my team.  Last year we had a similar issue when git:4.14.1 was released.

      Why this is so important

      As SREs, my team wants to ensure that our entire system is stable to help maximize uptime, built trust between teams and customers, and empower developers to write, build, test, and deploy code faster. 

      The stability of our CI and CD systems is critical to achieving that goal, and thus we must ensure that upstream dependencies don't change in what should be stable artifacts, especially when those artifacts directly affect the uptime of the system during normal scaling operations.

            Unassigned Unassigned
            unacceptable Robert Jackson
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: