Bug 1448999
Summary: | [3.3] Metrics - Could not acquire a Kubernetes client connection | ||
---|---|---|---|
Product: | OpenShift Container Platform | Reporter: | Takayoshi Kimura <tkimura> |
Component: | Hawkular | Assignee: | Matt Wringe <mwringe> |
Status: | CLOSED DUPLICATE | QA Contact: | Liming Zhou <lizhou> |
Severity: | high | Docs Contact: | |
Priority: | high | ||
Version: | 3.3.1 | CC: | aos-bugs, erich, erjones, jcantril, mifiedle, mwringe, pruan, tdawson, tkimura, zhtang |
Target Milestone: | --- | ||
Target Release: | 3.3.1 | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | 1410899 | Environment: | |
Last Closed: | 2017-07-06 16:04:19 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 1410899 | ||
Bug Blocks: |
Description
Takayoshi Kimura
2017-05-09 03:23:51 UTC
The original issue that is this is cloned from https://bugzilla.redhat.com/show_bug.cgi?id=1410899 is because people are using invalid tokens. The root cause of the first issue was determined that Cloudforms was not properly configured for authentication to OpenShift. Are you sure this is not just a similar issue? I am trying to determine if we really need to backport this or not. The original fix to this just closes the connection more quickly instead of it timing out. It seems this happens in other scenario as well, this time the request aborts connection (it looks like healthchecks, but couldn't be confirmed because of https://bugzilla.redhat.com/show_bug.cgi?id=1449022): 2017-05-08 02:47:44,679 DEBUG [io.undertow.request.io] (default I/O-5) UT005013: An IOException occurred: java.io.IOException: javax.net.ssl.SSLException: Inbound closed before receiving peer's close_notify: possible truncation attack? at io.undertow.protocols.ssl.SslConduit.notifyReadClosed(SslConduit.java:606) at io.undertow.protocols.ssl.SslConduit.closed(SslConduit.java:971) at io.undertow.protocols.ssl.SslConduit.close(SslConduit.java:1066) at io.undertow.protocols.ssl.SslConduit.doWrap(SslConduit.java:889) at io.undertow.protocols.ssl.SslConduit.write(SslConduit.java:377) at io.undertow.server.protocol.http.HttpResponseConduit.processWrite(HttpResponseConduit.java:247) at io.undertow.server.protocol.http.HttpResponseConduit.write(HttpResponseConduit.java:588) at io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.write(AbstractFixedLengthStreamSinkConduit.java:106) at io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.write(AbstractFixedLengthStreamSinkConduit.java:120) at org.xnio.conduits.ConduitStreamSinkChannel.write(ConduitStreamSinkChannel.java:154) at io.undertow.channels.DetachableStreamSinkChannel.write(DetachableStreamSinkChannel.java:187) at io.undertow.server.HttpServerExchange$WriteDispatchChannel.write(HttpServerExchange.java:1976) at io.undertow.io.AsyncSenderImpl.send(AsyncSenderImpl.java:208) at io.undertow.io.AsyncSenderImpl.send(AsyncSenderImpl.java:299) at io.undertow.io.AsyncSenderImpl.send(AsyncSenderImpl.java:271) at io.undertow.io.AsyncSenderImpl.send(AsyncSenderImpl.java:305) at io.undertow.server.handlers.error.SimpleErrorPageHandler$1.handleDefaultResponse(SimpleErrorPageHandler.java:70) at io.undertow.server.HttpServerExchange.endExchange(HttpServerExchange.java:1545) at org.hawkular.openshift.auth.Utils.endExchange(Utils.java:56) at org.hawkular.openshift.auth.TokenAuthenticator.onPooledConnectionWaitTimeout(TokenAuthenticator.java:249) at org.hawkular.openshift.auth.TokenAuthenticator.lambda$createWaiter$3(TokenAuthenticator.java:229) at org.hawkular.openshift.auth.TokenAuthenticator$ConnectionPool.removeTimedOutWaiters(TokenAuthenticator.java:621) at org.hawkular.openshift.auth.TokenAuthenticator$ConnectionPool.offer(TokenAuthenticator.java:555) at org.hawkular.openshift.auth.TokenAuthenticator$ConnectionPool.access$300(TokenAuthenticator.java:495) at org.hawkular.openshift.auth.TokenAuthenticator.handleRequest(TokenAuthenticator.java:200) at org.hawkular.openshift.auth.OpenshiftAuthHandler.handleRequest(OpenshiftAuthHandler.java:106) at io.undertow.server.handlers.HttpContinueReadHandler.handleRequest(HttpContinueReadHandler.java:65) at io.undertow.server.handlers.PathHandler.handleRequest(PathHandler.java:94) at org.wildfly.extension.undertow.Host$OptionsHandler.handleRequest(Host.java:285) at io.undertow.server.handlers.HttpContinueReadHandler.handleRequest(HttpContinueReadHandler.java:65) at io.undertow.server.handlers.SetHeaderHandler.handleRequest(SetHeaderHandler.java:90) at io.undertow.server.handlers.SetHeaderHandler.handleRequest(SetHeaderHandler.java:90) at org.wildfly.extension.undertow.Host$HostRootHandler.handleRequest(Host.java:293) at io.undertow.server.handlers.NameVirtualHostHandler.handleRequest(NameVirtualHostHandler.java:64) at io.undertow.server.handlers.error.SimpleErrorPageHandler.handleRequest(SimpleErrorPageHandler.java:76) at io.undertow.server.handlers.CanonicalPathHandler.handleRequest(CanonicalPathHandler.java:49) at io.undertow.server.handlers.ChannelUpgradeHandler.handleRequest(ChannelUpgradeHandler.java:158) at io.undertow.server.handlers.DisallowedMethodsHandler.handleRequest(DisallowedMethodsHandler.java:61) at io.undertow.server.Connectors.executeRootHandler(Connectors.java:202) at io.undertow.server.protocol.http.HttpReadListener.handleEventWithNoRunningRequest(HttpReadListener.java:233) at io.undertow.server.protocol.http.HttpReadListener.handleEvent(HttpReadListener.java:131) at io.undertow.server.protocol.http.HttpReadListener.handleEvent(HttpReadListener.java:57) at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92) at org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66) at io.undertow.protocols.ssl.SslConduit$SslReadReadyHandler.readReady(SslConduit.java:1116) at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:88) at org.xnio.nio.WorkerThread.run(WorkerThread.java:559) Caused by: javax.net.ssl.SSLException: Inbound closed before receiving peer's close_notify: possible truncation attack? at sun.security.ssl.Alerts.getSSLException(Alerts.java:208) at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1666) at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1634) at sun.security.ssl.SSLEngineImpl.closeInbound(SSLEngineImpl.java:1561) at io.undertow.protocols.ssl.SslConduit.notifyReadClosed(SslConduit.java:604) ... 46 more And curl always returns: $ curl -kv -H "Authorization: Bearer *******************************************" -H "Hawkular-Tenant: openshift-infra" https://172.30.149.83/hawkular/metrics/metrics?type=gauge * About to connect() to 172.30.149.83 port 443 (#0) * Trying 172.30.149.83... * Connected to 172.30.149.83 (172.30.149.83) port 443 (#0) * Initializing NSS with certpath: sql:/etc/pki/nssdb * skipping SSL peer certificate verification * SSL connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 * Server certificate: * subject: CN=hawkular-metrics * start date: Apr 28 16:37:44 2017 GMT * expire date: Apr 28 16:37:45 2019 GMT * common name: hawkular-metrics * issuer: CN=metrics-signer@1493397464 > GET /hawkular/metrics/metrics?type=gauge HTTP/1.1 > User-Agent: curl/7.29.0 > Host: 172.30.149.83 > Accept: */* > Authorization: Bearer ******************************************* > Hawkular-Tenant: openshift-infra > < HTTP/1.1 500 Could not acquire a Kubernetes client connection < Connection: keep-alive < X-Powered-By: Undertow/1 < Server: WildFly/10 < Content-Length: 86 < Content-Type: text/html < Date: Tue, 02 May 2017 08:17:53 GMT < * Connection #0 to host 172.30.149.83 left intact <html><head><title>Error</title></head><body>500 - Internal Server Error</body></html> *** This bug has been marked as a duplicate of bug 1461635 *** |