Skip to content
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

Document workaround for Kubernetes IPv6 Clusters using KubernetesClient #3343

Merged

Conversation

rohanKanojia
Copy link
Member

Description

Add a section in documentation which informs users about excluding
OkHttp dependency from KubernetesClient and adding a direct OkHttp 4
dependency in order to resolve OkHttp 3.x bug

Related to #2632

Signed-off-by: Rohan Kumar [email protected]

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • Feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change
  • Chore (non-breaking change which doesn't affect codebase;
    test, version modification, documentation, etc.)

Checklist

  • Code contributed by me aligns with current project license: Apache 2.0
  • I Added CHANGELOG entry regarding this change
  • I have implemented unit tests to cover my changes
  • I have added/updated the javadocs and other documentation accordingly
  • No new bugs, code smells, etc. in SonarCloud report
  • I tested my code in Kubernetes
  • I tested my code in OpenShift

doc/Faq.md Outdated Show resolved Hide resolved
doc/Faq.md Outdated Show resolved Hide resolved
README.md Outdated
@@ -36,6 +36,7 @@ This client provides access to the full [Kubernetes](http://kubernetes.io/) &
- [Kubernetes and Red Hat OpenShift Compatibility Matrix](#compatibility-matrix)
- [Kubernetes Client CHEAT SHEET](https://github.com/fabric8io/kubernetes-client/blob/master/doc/CHEATSHEET.md)
- [Kubectl Java Equivalents](#kubectl-java-equivalents)
- [FAQs](./doc/Faq.md)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rename the file to ./doc/FAQ.md

@@ -0,0 +1,40 @@
# Using KubernetesClient with IPv6 based Kubernetes Clusters

Right now Fabric8 Kubernetes Client doesn't work with IPv6 based Kubernetes Clusters due to an issue in OkHttp[square/okhttp#5889](https://github.com/square/okhttp/pull/5889). Fabric8 Kubernetes Client is right now dependent on OkHttp 3.x; unfortunately we can't upgrade to OkHttp 4.x due to it being now based on Kotlin, see [square/okhttp#4723](https://github.com/square/okhttp/issues/4723). We have decided not to upgrade to OkHttp 4.x. Until we find an alternative HTTP library for KubernetesClient, we suggest you to resolve this issue by excluding okhttp dependency coming from KubernetesClient jar and adding your own direct 4.x OkHttp dependencies:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Right now Fabric8 Kubernetes Client doesn't work with IPv6 based Kubernetes Clusters due to an issue in OkHttp[square/okhttp#5889](https://github.com/square/okhttp/pull/5889). Fabric8 Kubernetes Client is right now dependent on OkHttp 3.x; unfortunately we can't upgrade to OkHttp 4.x due to it being now based on Kotlin, see [square/okhttp#4723](https://github.com/square/okhttp/issues/4723). We have decided not to upgrade to OkHttp 4.x. Until we find an alternative HTTP library for KubernetesClient, we suggest you to resolve this issue by excluding okhttp dependency coming from KubernetesClient jar and adding your own direct 4.x OkHttp dependencies:
Right now Fabric8 Kubernetes Client doesn't work with IPv6 based Kubernetes Clusters due to an issue in OkHttp [square/okhttp#5889](https://github.com/square/okhttp/pull/5889). The issue is solved for OkHttp 4, but Fabric8 Kubernetes Client depends on OkHttp 3.x. ; unfortunately we can't upgrade to OkHttp 4.x due to it being now based on Kotlin, see [square/okhttp#4723](https://github.com/square/okhttp/issues/4723).
We have decided not to upgrade to OkHttp 4.x, because it's based on Kotilin ([square/okhttp#4723](https://github.com/square/okhttp/issues/4723)) and this might be an issue for downstream and dependent projects .
We're still discussing a proper replacement for OkHttp (#2764, #2632). In the meantime you can switch to use OkHttp 4.x in your project by configuring 3.x exclusions and adding your own direct 4.x OkHttp dependencies ([since it's binary compatible](https://github.com/fabric8io/kubernetes-client/issues/2632#issuecomment-748434878)):

@rohanKanojia rohanKanojia force-pushed the doc/kubernetes-client-with-k8s-ipv6 branch 2 times, most recently from 528d60c to 49b9a8f Compare July 23, 2021 15:19
Add a section in documentation which informs users about excluding
OkHttp dependency from KubernetesClient and adding a direct OkHttp 4
dependency in order to resolve OkHttp 3.x bug

Signed-off-by: Rohan Kumar <[email protected]>
@manusa manusa force-pushed the doc/kubernetes-client-with-k8s-ipv6 branch from 49b9a8f to 3db5d13 Compare July 26, 2021 05:11
@sonarqubecloud
Copy link

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
No Duplication information No Duplication information

@manusa manusa merged commit daef387 into fabric8io:master Jul 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants