-
Epic
-
Resolution: Done
-
Blocker
-
None
-
None
-
API Compatibility: support platform to move to v1 APIs (CRDs, admission)
-
False
-
False
-
Done
-
Undefined
Summary (PM+lead)
Kubernetes 1.22 will remove old beta APIs. They will not be served anymore and we have to migrate platform component BEFORE the 1.22 rebase can land.
A list of to be removed APIs (compare https://kubernetes.io/docs/reference/using-api/deprecation-guide/):
storage.k8s.io/v1beta1
- CSIDriver
- CSINode
- StorageClass
- VolumeAttachment
scheduling.k8s.io/v1beta1
- PriorrityClass
rbac.authorization.k8s.io/v1beta1
- all RBAC resources
networking.k8s.io/v1beta1
- IngressClass
- Ingress
extensions/v1beta1
- Ingress
coordination.k8s.io/v1beta1
- Lease
certificates.k8s.io/v1beta1
- CertificateSigningRequest
authorization.k8s.io/v1beta1
- SubjectAccessReview
authentication.k8s.io/v1beta1
- TokenReview
apiregistration.k8s.io/v1beta1
- APIService
apiextensions.k8s.io/v1beta1
- CustomResourceDefinition
admissionregistration.k8s.io/v1beta1
- Mutating/VqlidatingAdmissionWebhook
Motivation (PM+lead)
Without this work, the 1.22 rebase is blocked. There is no way to reenable the those APIs as they are removed from Kubernetes upstream.
Goals (lead)
- support the platform to move off the removed APIs before rebase lands
Non-Goals (lead)
- do all the work of porting to new APIs
Deliverables
- general support of other teams
Dependencies (internal and external, lead)
- many other teams using deprecated APIs
Previous Work (lead)
- every component since Kubernetes 1.19 actively warns on deprecated API access: https://kubernetes.io/blog/2020/09/03/warnings/
- migration guide https://kubernetes.io/docs/reference/using-api/deprecation-guide/
- constant warnings in release notes and upstream blog
- API-999: API-Compatibility: automatically generate OpenShift API compatibility level list
Open questions (lead)
- ...
Done Checklist
- CI - CI is running, tests are automated and merged.
- Release Enablement <link to Feature Enablement Presentation>
- DEV - Upstream code and tests merged: <link to meaningful PR or GitHub Issue>
- DEV - Upstream documentation merged: <link to meaningful PR or GitHub Issue>
- DEV - Downstream build attached to advisory: <link to errata>
- QE - Test plans in Polarion: <link or reference to Polarion>
- QE - Automated tests merged: <link or reference to automated tests>
- DOC - Downstream documentation merged: <link to meaningful PR>