-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
BuildConfig watch performs request on wrong endpoint #2668
Comments
This issue is currently a blocker for the CI execution jobs in Eclipse JKube |
Removing the So this seems to be the fix, once we find out why those lines were added in the first place and we make sure we don't break anything else by removing them. |
I did a git bisect between v4.10.3 and v4.12.0 and it's pointing to this commit: a9caeb1 Here are git bisect logs:
I can confirm that reverting this commit seems to fix the issue. However, let me check why I did it and if it would break anything. |
When I remove I checked the [0] https://github.com/fabric8io/kubernetes-client/blob/master/kubernetes-itests/src/test/java/io/fabric8/openshift/TemplateIT.java#L92 |
This is what #2671 is doing (which I think is the right approach). I'm still not sure if this custom raw |
Let me try to explain why I added that updateApiVersion method. If you try to create an object like this using apiVersion: v1
kind: Template
metadata:
name: redis-template
... OpenShift will automatically convert ApiVersion from v1 to new ApiVersions. Here is how object looks when I do kubernetes-resource-yamls : $ oc get template redis-template -o yaml
apiVersion: template.openshift.io/v1
kind: Template
labels:
redis: master
metadata:
annotations:
description: Description
iconClass: icon-redis
tags: database,nosql
creationTimestamp: 2020-12-17T06:53:17Z
name: redis-template
... Right now in OpenShiftClient we try to find out whether the cluster is an Old OpenShift cluster Line 187 in d057028
So if you try to create an OpenShift object with
|
Is there any definition of what I can only trace back to this #716
IIRC this is not exactly true, since instead of detecting what the cluster is or the APIs it provides, we fallback to other endpoints in case those are the right ones. |
Closed via #2671 |
We instantiate BuildConfig in Eclipse JKube while doing S2I builds. Adding an integration test for that so that we don't break this again in future. Related to fabric8io#2668
We instantiate BuildConfig in Eclipse JKube while doing S2I builds. Adding an integration test for that so that we don't break this again in future. Related to fabric8io#2668
Description
The code introduced in #2490, more specifically the following lines
kubernetes-client/openshift-client/src/main/java/io/fabric8/openshift/client/dsl/internal/OpenShiftOperation.java
Lines 110 to 116 in 579d972
cause the watch connection to be performed to the following (invalid) endpoint:
instead of:
This is originated in the following code:
kubernetes-client/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/WatchConnectionManager.java
Lines 126 to 133 in 579d972
Since
isApiGroup()
call returnstrue
for OpenShift resources. In case of standard model types, apiVersion field is null, so method returnsfalse
.The #2490 PR reverts #2373, however, those lines weren't part of that initial PR.
Relates to: openshift/origin#25759
The text was updated successfully, but these errors were encountered: