-
Bug
-
Resolution: Unresolved
-
Critical
-
None
-
❱ kubectl version --short
Flag --short has been deprecated, and will be removed in the future. The --short output will become the default.
Client Version: v1.24.0
Kustomize Version: v4.5.4
Server Version: v1.21.14-eks-ffeb93d
WARNING: version difference between client (1.24) and server (1.21) exceeds the supported minor version skew of +/-1
❱ helm version
version.BuildInfo{Version:"v3.9.2", GitCommit:"1addefbfe665c350f4daf868a9adc5600cc064fd", GitTreeState:"clean", GoVersion:"go1.18.4"}
❱ helm list -n devops | grep jenkins
jenkins-stable devops 34 2022-12-15 11:28:51.520141 -0600 CST deployed jenkins-4.2.12 2.361.3
❱❱ kubectl version --short Flag --short has been deprecated, and will be removed in the future. The --short output will become the default. Client Version: v1.24.0 Kustomize Version: v4.5.4 Server Version: v1.21.14-eks-ffeb93d WARNING: version difference between client (1.24) and server (1.21) exceeds the supported minor version skew of +/-1 ❱ helm version version.BuildInfo{Version:"v3.9.2", GitCommit:"1addefbfe665c350f4daf868a9adc5600cc064fd", GitTreeState:"clean", GoVersion:"go1.18.4"} ❱ helm list -n devops | grep jenkins jenkins-stable devops 34 2022-12-15 11:28:51.520141 -0600 CST deployed jenkins-4.2.12 2.361.3 ❱
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.