-
Notifications
You must be signed in to change notification settings - Fork 153
Description
This meta-issue is part of the execution of the proposal to establish a separate collection for OpenShift (OKD) Content.
The Ansible k8s_* modules and other plugins use the openshift-restclient-python library dynamic API client. While this library covers both native K8s functionality in addition to OpenShift specific extensions effectively, the requirement of the library raises questions and concerns with the broader Kubernetes community to its compatibility with all Kubernetes distributions.
This proposed action will make it easier and more effectively to serve these two distinct though related user communities. Switching to the official Kubernetes client and the decoupling of all OpenShift code will assure compatibility for their respective objectives and enable independent decision making on the features, functionality and release cadence.
This meta-issue is tracking the replacement the openshift-restclient-python library dependency with the official python client library for Kubernetes porting and refactoring code as needed to maintain the same functional behaviors.
This work is slated to be completed for the v2.0.0 release of this collection.
- Hash generation for configmaps and secrets
- Should propose to Kubernetes Python client, this may be of interest to them
- Client-side apply implementation
- This could partially be solved by adding support for server-side apply, which is available on newer versions of Kubernetes.
- It will likely be difficult to upstream this into the Kubernetes Python client, because of the existence of server-side apply
- Advanced diffing logic
- This is currently part of apply, and we'd likey have to carry this in the collection as this is likely not a feature the Kubernetes Python client maintainers are interested in.
-
Support for the(not currently used)dry_run
query parameter - Error handling for 503s in the discovery API (Prevent 503s from killing the client during discovery kubernetes-client/python-base#187)
- Namespace cache based on user (Use user information in cache name to prevent conflicts kubernetes-client/python-base#188)
- Robustly handle *List kind base resource lookups (Use more robust method for determining base resource for resource lists kubernetes-client/python-base#186)