quarkus: Openshift extension fails to deploy when on RHEL
Describe the bug
I have an application(resteasy, two endpoints) which I wan to deploy to Openshift via quarkus-openshift extension. After an update to 3.2.0.CR2, the deployment process succeeds on Fedora and fails on RHEL 8 with “Connection was closed” error. This happens robustly.
Expected behavior
Successful deployment as for 3.1.0.Final and on Fedora
Actual behavior
[ERROR] [error]: Build step io.quarkus.container.image.openshift.deployment.OpenshiftProcessor#openshiftBuildFromJar threw an exception: io.fabric8.kubernetes.client.KubernetesClientException: Connection was closed
[ERROR] at io.fabric8.kubernetes.client.dsl.internal.OperationSupport.waitForResult(OperationSupport.java:520)
[ERROR] at io.fabric8.kubernetes.client.dsl.internal.OperationSupport.handleResponse(OperationSupport.java:535)
[ERROR] at io.fabric8.kubernetes.client.dsl.internal.OperationSupport.handleGet(OperationSupport.java:478)
[ERROR] at io.fabric8.kubernetes.client.dsl.internal.BaseOperation.handleGet(BaseOperation.java:741)
[ERROR] at io.fabric8.kubernetes.client.dsl.internal.BaseOperation.requireFromServer(BaseOperation.java:185)
[ERROR] at io.fabric8.kubernetes.client.dsl.internal.BaseOperation.get(BaseOperation.java:141)
[ERROR] at io.fabric8.kubernetes.client.dsl.internal.BaseOperation.get(BaseOperation.java:92)
[ERROR] at io.quarkus.container.image.openshift.deployment.OpenshiftProcessor.openshiftBuild(OpenshiftProcessor.java:462)
[ERROR] at io.quarkus.container.image.openshift.deployment.OpenshiftProcessor.lambda$openshiftBuild$10(OpenshiftProcessor.java:429)
[ERROR] at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
[ERROR] at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
[ERROR] at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
[ERROR] at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
[ERROR] at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
[ERROR] at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
[ERROR] at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
[ERROR] at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
[ERROR] at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
[ERROR] at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
[ERROR] at io.quarkus.container.image.openshift.deployment.OpenshiftProcessor.openshiftBuild(OpenshiftProcessor.java:429)
[ERROR] at io.quarkus.container.image.openshift.deployment.OpenshiftProcessor.createContainerImage(OpenshiftProcessor.java:388)
[ERROR] at io.quarkus.container.image.openshift.deployment.OpenshiftProcessor.openshiftBuildFromJar(OpenshiftProcessor.java:285)
[ERROR] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[ERROR] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[ERROR] at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[ERROR] at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:909)
[ERROR] at io.quarkus.builder.BuildContext.run(BuildContext.java:282)
[ERROR] at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
[ERROR] at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
[ERROR] at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
[ERROR] at java.base/java.lang.Thread.run(Thread.java:829)
[ERROR] at org.jboss.threads.JBossThread.run(JBossThread.java:501)
[ERROR] Caused by: io.vertx.core.http.HttpClosedException: Connection was closed
How to Reproduce?
git clone https://github.com/fedinskiy/reproducer -b opeshift-extension-rhel-disconnectoc new-project rhel-disconnect && cd reproducermvn package -Dquarkus.kubernetes.deploy=true -Dquarkus.openshift.expose=true -Dquarkus.openshift.route.expose=true -Dquarkus.application.name=app -Dquarkus.kubernetes-client.trust-certs=true -Dquarkus.kubernetes.deployment-target=openshiftfailsmvn package -Dquarkus.kubernetes.deploy=true -Dquarkus.openshift.expose=true -Dquarkus.openshift.route.expose=true -Dquarkus.application.name=app -Dquarkus.kubernetes-client.trust-certs=true -Dquarkus.kubernetes.deployment-target=openshift -Dquarkus.platform.version=3.1.0.Finalsucceeds (in another project)
Output of uname -a or ver
4.18.0-477.13.1.el8_8.x86_64
Output of java -version
11.0.13, vendor: Red Hat, Inc
GraalVM version (if different from Java)
No response
Quarkus version or git rev
3.2.0.CR2
Build tool (ie. output of mvnw --version or gradlew --version)
Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63)
Additional information
oc version(same on both Fedora and RHEL):
Client Version: 4.13.0-202305312300.p0.g05d83ef.assembly.stream-05d83ef
Kustomize Version: v4.5.7
Kubernetes Version: v1.26.5+7a891f0
About this issue
- Original URL
- State: closed
- Created a year ago
- Reactions: 1
- Comments: 23 (19 by maintainers)
Commits related to this issue
- Recover Kubernetes connection after watching builds logs timeout in OCP fix https://github.com/quarkusio/quarkus/issues/34276 — committed to Sgitario/quarkus by Sgitario a year ago
- Recover Kubernetes connection after watching builds logs timeout in OCP fix https://github.com/quarkusio/quarkus/issues/34276 (cherry picked from commit 4b48895380fa777abeb2038c0e773c0a556a2d2a) — committed to gsmet/quarkus by Sgitario a year ago
- Recover Kubernetes connection after watching builds logs timeout in OCP fix https://github.com/quarkusio/quarkus/issues/34276 — committed to danielsoro/quarkus by Sgitario a year ago
- Enable tests disabled by quarkus#34276 * Removing @Disabled annotation from tests disabled by https://github.com/quarkusio/quarkus/issues/34276 as the issue has been fixed with 3.2.1.Final — committed to mjurc/quarkus-test-framework by mjurc a year ago
- Update quarkus.version to v3 (major) (mulk/mulkcms2!27) This MR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [io.quarkus:quarkus-maven-plugin](https://git... — committed to benkard/mulkcms2 by benkard a year ago
https://github.com/quarkusio/quarkus/pull/34374 should fix this issue. @fedinskiy feel free to try it out as well.
@rsvoboda I’m trying to find an RHEL8 environment to reproduce this issue (please, contact me if you have one I could use). In the meantime, I think this might be related to https://github.com/quarkusio/quarkus/pull/34068. Could you test in Quarkus main by reverting this change? @fedinskiy @rsvoboda
@manusa does it ring any bell to you? @fedinskiy when the timeout happens? after 1 min or after more time? Can you share the build logs as well?