jenkinsci / apache-httpcomponents-client-5-api-plugin

Bundles Apache HttpComponents Client 5.x and allows it to be used by Jenkins plugins.
https://plugins.jenkins.io/apache-httpcomponents-client-5-api
MIT License
1 stars 1 forks source link

Access to Docker Unix socket is broken #32

Closed ruskii22 closed 8 months ago

ruskii22 commented 10 months ago

Jenkins and plugins versions report

There are only two Jenkins: 2.430 OS: Linux - 5.15.0-89-generic Java: 17.0.8.1 - Eclipse Adoptium (OpenJDK 64-Bit Server VM)

ant:497.v94e7d9fffa_b_9 antisamy-markup-formatter:162.v0e6ec0fcfcf6 apache-httpcomponents-client-4-api:4.5.14-208.v438351942757 apache-httpcomponents-client-5-api:5.2.3-1.0 authentication-tokens:1.53.v1c90fd9191ab bootstrap5-api:5.3.2-2 bouncycastle-api:2.29 branch-api:2.1135.v8de8e7899051 build-timeout:1.31 caffeine-api:3.1.8-133.v17b_1ff2e0599 checks-api:2.0.2 cloud-stats:320.v96b_65297a_4bb cloudbees-folder:6.858.v898218f3609d commons-lang3-api:3.13.0-62.v7d18e55f51e2 commons-text-api:1.11.0-94.v3e1f4a_926e49 configuration-as-code:1746.vf1673cfe690a credentials:1309.v8835d63ebd8a credentials-binding:642.v737c34dea_6c2 display-url-api:2.200.vb_9327d658781 docker-build-step:2.10 docker-commons:439.va_3cb_0a_6a_fb_29 docker-java-api:3.3.4-86.v39b_a_5ede342c docker-plugin:1.5 docker-workflow:572.v950f58993843 durable-task:523.va_a_22cf15d5e0 echarts-api:5.4.3-1 email-ext:2.102 font-awesome-api:6.4.2-1 git:5.2.0 git-client:4.5.0 github:1.37.3.1 github-api:1.318-461.v7a_c09c9fa_d63 github-branch-source:1741.va_3028eb_9fd21 gradle:2.9 hashicorp-vault-plugin:361.v44fea_4fc08d9 instance-identity:185.v303dc7c645f9 ionicons-api:56.v1b_1c8c49374e jackson2-api:2.15.3-372.v309620682326 jakarta-activation-api:2.0.1-3 jakarta-mail-api:2.0.1-3 javadoc:243.vb_b_503b_b_45537 javax-activation-api:1.2.0-6 javax-mail-api:1.6.2-9 jaxb:2.3.9-1 jjwt-api:0.11.5-77.v646c772fddb_0 jquery3-api:3.7.1-1 jsch:0.2.8-65.v052c39de79b_2 junit:1240.vf9529b_881428 ldap:711.vb_d1a491714dc mailer:463.vedf8358e006b matrix-auth:3.2.1 matrix-project:818.v7eb_e657db924 maven-plugin:3.23 mina-sshd-api-common:2.11.0-86.v836f585d47fa mina-sshd-api-core:2.11.0-86.v836f585d47fa_ okhttp-api:4.11.0-157.v6852a_a_fa_ec11 pam-auth:1.10 pipeline-build-step:516.v8ee60a_81c5b_9 pipeline-github-lib:42.v0739460cda_c4 pipeline-graph-analysis:202.va_d268e64deb_3 pipeline-groovy-lib:689.veec561a_dee13 pipeline-input-step:477.v339683a_8d55e pipeline-milestone-step:111.v449306f708b_7 pipeline-model-api:2.2151.ve32c9d209a_3f pipeline-model-definition:2.2151.ve32c9d209a_3f pipeline-model-extensions:2.2151.ve32c9d209a_3f pipeline-rest-api:2.34 pipeline-stage-step:305.ve96d0205c1c6 pipeline-stage-tags-metadata:2.2151.ve32c9d209a_3f pipeline-stage-view:2.34 plain-credentials:143.v1b_df8b_d3b_e48 plugin-util-api:3.6.0 prism-api:1.29.0-9 resource-disposer:0.23 scm-api:683.vb_16722fb_b80b script-security:1294.v99333c047434 snakeyaml-api:2.2-111.vc6598e30cc65 ssh-credentials:308.ve4497b_ccd8f4 ssh-slaves:2.916.vd17b_43357ce4 structs:325.vcb_307d2a_2782 timestamper:1.26 token-macro:384.vf35b_f26814ec trilead-api:2.84.v72119de229b_7 variant:60.v7290fc0eb_bcd workflow-aggregator:596.v8c21c963d92d workflow-api:1283.v99c10937efcb workflow-basic-steps:1042.ve7b_140c4a_e0c workflow-cps:3812.vc3031a_b_a_c955 workflow-durable-task-step:1289.v4d3e7b01546b workflow-job:1360.vc6700e3136f5 workflow-multibranch:756.v891d88f2cd46 workflow-scm-step:415.v434365564324 workflow-step-api:639.v6eca_cd8c04aa workflow-support:865.v43e78cc44e0d ws-cleanup:0.45

What Operating System are you using (both controller, and any agents involved in the problem)?

Ubuntu 22.04. Running jenkins as a docker image based from jenkins/jenkins:2.430-jdk17

Reproduction steps

Expected Results

After troubleshooting, I have discovered that your plugin is the root cause. The version 5.2.1-1.1 works as expected. Anything afterwards breaks.

Actual Results

Something went wrong, cannot connect to unix:///var/run/docker.sock, cause: org.apache.hc.client5.http.HttpHostConnectException: Connect to unix://localhost:2375 [localhost/127.0.0.1] failed: Connection refused

Anything else?

The setup is plain and default. Nothing was changed to docker on the host

Are you interested in contributing a fix?

Sure. I need this fixed. Right now, I have to manually downgrade your package as I have not found a fix for the error.

strangelookingnerd commented 10 months ago

As this plugin here only provides the dependencies for http components "as-is" the only way to fix it would be in the http client library or the docker plugin. See https://github.com/jenkinsci/docker-plugin/issues/1032

ruskii22 commented 10 months ago

sounds like we have to wait for either of them to fix the issue. Until then, I will be forcing downgrade of this plugin. Thanks for quick response.

MarkEWaite commented 8 months ago

Apache http client 5.3 has now released. Is the behavior any better with the new release?

strangelookingnerd commented 8 months ago

@MarkEWaite I don't think so. From what I can tell it is somewhat caused / blocked by https://github.com/docker-java/docker-java/issues/2183 and may be fixed by https://github.com/docker-java/docker-java/pull/2262. Further there could still be something hidden in the httpclient itself but I did not yet come around to investigate any further.

strangelookingnerd commented 8 months ago

According to https://github.com/jenkinsci/docker-plugin/issues/1032#issuecomment-1909230609 this issue has been resolved with 5.3.1-1.0. Closing this issue 😀