-
Notifications
You must be signed in to change notification settings - Fork 319
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Docker plugin Version 1.2.8 with Docker API Plugin Version 3.2.13-35.vb82bff5c8bd0 #884
Comments
Rolling back to docker-java-api 3.1.5.3-33.ve54af4fabd95 allowed builds to schedule as normal again |
It's an API change in docker-java, breaking the docker-plugin code. |
I'm surprised this is happening regardless It was supposed to mark java-docker-api v3.2.x as incompatible with v3.1.x. Since docker-plugin depends on 3.1.x, this should not happen (java-docker-api v3.2.x update should not be suggested / possible). See here. What did I miss ? |
@dnwe try the not-released-yet version of the docker-plugin, https://ci.jenkins.io/job/Plugins/job/docker-plugin/job/master/261/ onwards (go to "Artefacts", find the .hpi file, download it, and upload to your Jenkins using the Manage Jenkins -> Manage Plugins -> Advanced tab).
...but, as Eric said, you shouldn't've been given the 3.2.x version of the docker-java-api-plugin as that should have been flagged as "incompatible" - is it possible that you grabbed it despite the warning? |
(and it refers to "the installed version" rather than "all currently available versions") |
@pjdarton |
I think this is related to an instance of Jenkins I was helping out with yesterday where the docker plugin was allowed to be updated to 1.2.8, but this didn't also bring in the docker-java-api update that it needed and gave a What I believe probably happened (but I don't have proof as I don't understand the internals) is that #882 led to docker-plugin requiring a newer version of the docker-java-api plugin than this Jenkins had, but maybe because the latest version available is marked as incompatible Jenkins decided not to update it at all - when in practice what it needed to have done was update to There was probably a window where the latest version of docker-java-api wasn't incompatible, and installing that would have been fine, but then the latest one came out and that broke the dependency updating logic? I guess I can't recreate it now to see as the dependencies have moved on (perhaps I could with a custom update site JSON file?) Where I ended up was that I don't know what Jenkins does when it tries to handle dependencies when it needs one that isn't the latest, but newer that the one that is installed - does it even handle this at all? This the above is true it may continue to be a problem in the future if Jenkins doesn't "do the right thing" to install the correct versions of dependencies, and the docker-plugin is requiring something between a "minimum and maximum" version of docker-java-api. |
@fraz3alpha You're correct - #882 made the docker-plugin require docker-java-api-plugin 3.1.5-31 or higher. I've added some info into the changelog ... which caused jenkinsci to rebuild and this time the checks passed so there's now a .hpi file that can be downloaded. If you use the very latest (1.2.9-SNAPSHOT) docker-plugin code then that should be compatible with the very latest docker-java-api-plugin. My guess is that Jenkins didn't understand the docker-java-api-plugin versioning as it's a lot more complicated than n.n.n.n now. |
@MCMicS , @dnwe There's now a build available at https://ci.jenkins.io/job/Plugins/job/docker-plugin/job/master/262/ - can you test that and let me know if it fixes the issue for you? If I get positive confirmation that the not-released-yet code is an improvement then I'll release that. |
@Peter-Darton-i2 that did not fix it for me, it seemed like the same error (sry I did not catch the log). I think you forgot to change the contructor too DockerAPI.java#L250 - cmdExecFactory = new NettyDockerCmdExecFactory()
+ cmdExecFactory = new AbstractDockerCmdExecFactory() |
Can you please check the logs and paste the error and trace here ? |
I tried Docker plugin version 1.2.9-rc1010.af05b45e225c with Docker API Plugin version 3.2.13-37.vf3411c9828b9 and I get the error below.
|
Strange... Another solution might be to cast to |
docker-java/docker-java@978ac88 Methods |
When can we expect this fix to be released for installation through the Plugin UI? |
We installed the plugin from the latest build and fixed our issues: https://ci.jenkins.io/job/Plugins/job/docker-plugin/job/master/263/ Our issue after upgrading: We lost our configuration and when trying to add the clouds back we could not connect to our docker services. This is resolved with the latest build |
@pjdarton do you know when we can have the next release 1.2.9 ? |
I would also be very interested in this.
I can confirm that with the HPI file from this build it works: |
+1 |
1 similar comment
+1 |
Urk, sorry folks - my "day job" suddenly got busy and I took my eye off the ball (and I think my email decided that a flood of messages about the docker plugin "must mean they're all spam", as nothing arrived in my email inbox either). As a number of folks have (very kindly) confirmed that this change fixes the issue, I've done a release of 1.2.9 and have updated the changelog accordingly. You can expect version 1.2.9 to be available in the Jenkins plugin update UI within a few hours (that doesn't happen immediately and I can't force it). |
@fraz3alpha can you recall what you did to get Jenkins stuck out of this error? I'm currently facing this issue after choosing to update all available plugins, except for |
You can either upgrade the docker Java API plugin or downgrade the docker
plugin (to the previously installed one, which should still be on the
filesystem) - either should work
…On Wed, 25 May 2022, 07:29 Mauricio Herrera Cuadra, < ***@***.***> wrote:
I think this is related to an instance of Jenkins I was helping out with
yesterday where the docker plugin was allowed to be updated to 1.2.8, but
this didn't also bring in the docker-java-api update that it needed and
gave a java.lang.ClassNotFoundException:
io.jenkins.dockerjavaapi.client.DelegatingDockerClient error.
@fraz3alpha <https://github.com/fraz3alpha> can you recall what you did
to get Jenkins stuck out of this error? I'm currently facing this issue
after choosing to update all available plugins, except for Docker API
given the warning shown in #884 (comment)
<#884 (comment)>.
First I need to find out how to gain access to the EC2 AMI instance where
we're running Jenkins but once I manage that, I'm not sure if I should
manually downgrade/update plugins. Any pointers are greatly appreciated.
Thanks!
—
Reply to this email directly, view it on GitHub
<#884 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAVIFWYOFRIXOLZEUJ2KQNTVLXCGFANCNFSM5TYFWTUQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
@fraz3alpha downgrading did the job. Thanks for the pointer! |
|
I would gladly downgrade, but I can't get beyond the login and this error. |
@exander77 You need to SSH into your Jenkins host and do the downgrade manually. As mentioned before, the backed up old version should still be there to be restored. |
Yup, the docker-plugin and docker-java-api-plugin have been tightly inter-dependent until recently and it's been a pain - it was necessary to upgrade both together or neither ... and it was essential to get the right versions together. The latest docker-plugin version is less fussy about the version of the docker-java-api-plugin it uses ... it merely needs a "recent" version rather than a specific version. ...but read the changelog for full details. |
Jenkins and plugins versions report
Environment
What Operating System are you using (both controller, and any agents involved in the problem)?
Linux
Reproduction steps
Expected Results
Jobs schedule as normal.
Actual Results
@ericcitaire / @pjdarton I applied updates in Jenkins and am hitting this backtrace currently:
The text was updated successfully, but these errors were encountered: