opendevstack / opendevstack/ods-core
Preparing to upgrade to OpenShift Container Platform 4.9 [Kubernetes 1.22] APIs Deprecated
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 53
- Forks
- 34
- Avg merge
- 3h 26m
- Merged PRs (30d)
- 1
Description
The next OpenShift Container Platform release, currently planned to be OpenShift Container Platform 4.9, is expected to use Kubernetes 1.22. Kubernetes 1.22 removed a significant number of deprecated v1beta1 APIs.
OpenShift Container Platform 4.8.14 introduced a requirement that an administrator must provide a manual acknowledgment before the cluster can be upgraded from OpenShift Container Platform 4.8 to 4.9. This is to help prevent issues after upgrading to OpenShift Container Platform 4.9, where APIs that have been removed are still in use by workloads, tools, or other components running on or interacting with the cluster. Administrators must evaluate their cluster for any APIs in use that will be removed and migrate the affected components to use the appropriate new API version. After this is done, the administrator can provide the administrator acknowledgment.
All clusters require this administrator acknowledgment before they can be upgraded to OpenShift Container Platform 4.9.
Removed Kubernetes APIs
Kubernetes 1.22 removed the following deprecated v1beta1 APIs. If your cluster, or any idle workloads or tools use any of these APIs, you must migrate them to the appropriate new version before upgrading to OpenShift Container Platform 4.9.
| Resource | API | Notable changes |
|---|---|---|
| APIService | apiregistration.k8s.io/v1beta1 | No |
| CertificateSigningRequest | certificates.k8s.io/v1beta1 | Yes |
| ClusterRole | rbac.authorization.k8s.io/v1beta1 | No |
| ClusterRoleBinding | rbac.authorization.k8s.io/v1beta1 | No |
| CSIDriver | storage.k8s.io/v1beta1 | No |
| CSINode | storage.k8s.io/v1beta1 | No |
| CustomResourceDefinition | apiextensions.k8s.io/v1beta1 | Yes |
| Ingress | extensions/v1beta1 | Yes |
| Ingress | networking.k8s.io/v1beta1 | Yes |
| IngressClass | networking.k8s.io/v1beta1 | No |
| Lease | coordination.k8s.io/v1beta1 | No |
| LocalSubjectAccessReview | authorization.k8s.io/v1beta1 | Yes |
| MutatingWebhookConfiguration | admissionregistration.k8s.io/v1beta1 | Yes |
| PriorityClass | scheduling.k8s.io/v1beta1 | No |
| Role | rbac.authorization.k8s.io/v1beta1 | No |
| RoleBinding | rbac.authorization.k8s.io/v1beta1 | No |
| SelfSubjectAccessReview | authorization.k8s.io/v1beta1 | Yes |
| StorageClass | storage.k8s.io/v1beta1 | No |
| SubjectAccessReview | authorization.k8s.io/v1beta1 | Yes |
| TokenReview | authentication.k8s.io/v1beta1 | No |
| ValidatingWebhookConfiguration | admissionregistration.k8s.io/v1beta1 | Yes |
| VolumeAttachment | storage.k8s.io/v1beta1 | No |
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the removed Kubernetes API table in this issue and inspect the repository for use of those v1beta1 APIs. Done means affected components no longer use removed APIs and are compatible with the planned OpenShift Container Platform 4.9 upgrade.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kubernetes
- Domain
- devops, infrastructure
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100