Skip to content

Commit 0a462d0

Browse files
committed
[KEP-2395] Update 2395-removing-in-tree-cloud-providers to stable status
1 parent 4c34495 commit 0a462d0

File tree

3 files changed

+78
-49
lines changed

3 files changed

+78
-49
lines changed

keps/prod-readiness/sig-cloud-provider/2395.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,5 @@ alpha:
33
approver: "@wojtek-t"
44
beta:
55
approver: "@wojtek-t"
6+
stable:
7+
approver: "@wojtek-t"

keps/sig-cloud-provider/2395-removing-in-tree-cloud-providers/README.md

Lines changed: 73 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,78 @@
11
# KEP-2395: Removing In-Tree Cloud Provider Code
22

33
<!-- toc -->
4-
- [Release Signoff Checklist](#release-signoff-checklist)
5-
- [Terms](#terms)
6-
- [Summary](#summary)
7-
- [Motivation](#motivation)
8-
- [Goals](#goals)
9-
- [Non-Goals](#non-goals)
10-
- [Proposal](#proposal)
11-
- [Risks and Mitigations](#risks-and-mitigations)
12-
- [Design Details](#design-details)
13-
- [Phase 1 - Moving Cloud Provider Code to Staging](#phase-1---moving-cloud-provider-code-to-staging)
14-
- [Phase 2 - Building CCM from Provider Repos](#phase-2---building-ccm-from-provider-repos)
15-
- [Phase 3 - Migrating Provider Code to Provider Repos](#phase-3---migrating-provider-code-to-provider-repos)
16-
- [Phase 4 - Disabling In-Tree Providers](#phase-4---disabling-in-tree-providers)
17-
- [Staging Directory](#staging-directory)
18-
- [Cloud Provider Instances](#cloud-provider-instances)
19-
- [Test Plan](#test-plan)
20-
- [Prerequisite testing update](#prerequisite-testing-update)
21-
- [Unit tests](#unit-tests)
22-
- [Integration tests](#integration-tests)
23-
- [e2e tests](#e2e-tests)
24-
- [Graduation Criteria](#graduation-criteria)
25-
- [Alpha](#alpha)
26-
- [Beta](#beta)
27-
- [GA](#ga)
28-
- [Deprecation](#deprecation)
29-
- [Upgrade / Downgrade Strategy](#upgrade--downgrade-strategy)
30-
- [Cloud Provider Specific Guidance](#cloud-provider-specific-guidance)
31-
- [General Guidance](#general-guidance)
32-
- [Version Skew Strategy](#version-skew-strategy)
33-
- [Production Readiness Review Questionnaire](#production-readiness-review-questionnaire)
34-
- [Feature Enablement and Rollback](#feature-enablement-and-rollback)
35-
- [Rollout, Upgrade and Rollback Planning](#rollout-upgrade-and-rollback-planning)
36-
- [Monitoring Requirements](#monitoring-requirements)
37-
- [Dependencies](#dependencies)
38-
- [Scalability](#scalability)
39-
- [Troubleshooting](#troubleshooting)
40-
- [Implementation History](#implementation-history)
41-
- [Drawbacks](#drawbacks)
42-
- [Alternatives](#alternatives)
43-
- [Staging Alternatives](#staging-alternatives)
44-
- [Git Filter-Branch](#git-filter-branch)
45-
- [Build Location Alternatives](#build-location-alternatives)
46-
- [Build K8s/K8s from within K8s/Cloud-provider](#build-k8sk8s-from-within-k8scloud-provider)
47-
- [Build K8s/Cloud-provider within K8s/K8s](#build-k8scloud-provider-within-k8sk8s)
48-
- [Config Alternatives](#config-alternatives)
49-
- [Use component config to determine where controllers run](#use-component-config-to-determine-where-controllers-run)
4+
- [KEP-2395: Removing In-Tree Cloud Provider Code](#kep-2395-removing-in-tree-cloud-provider-code)
5+
- [Release Signoff Checklist](#release-signoff-checklist)
6+
- [Terms](#terms)
7+
- [Summary](#summary)
8+
- [Motivation](#motivation)
9+
- [Goals](#goals)
10+
- [Non-Goals](#non-goals)
11+
- [Proposal](#proposal)
12+
- [Risks and Mitigations](#risks-and-mitigations)
13+
- [Design Details](#design-details)
14+
- [Phase 1 - Moving Cloud Provider Code to Staging](#phase-1---moving-cloud-provider-code-to-staging)
15+
- [Phase 2 - Building CCM from Provider Repos](#phase-2---building-ccm-from-provider-repos)
16+
- [Phase 3 - Migrating Provider Code to Provider Repos](#phase-3---migrating-provider-code-to-provider-repos)
17+
- [Phase 4 - Disabling In-Tree Providers](#phase-4---disabling-in-tree-providers)
18+
- [Staging Directory](#staging-directory)
19+
- [Cloud Provider Instances](#cloud-provider-instances)
20+
- [Test Plan](#test-plan)
21+
- [Prerequisite testing update](#prerequisite-testing-update)
22+
- [Unit tests](#unit-tests)
23+
- [Integration tests](#integration-tests)
24+
- [e2e tests](#e2e-tests)
25+
- [Graduation Criteria](#graduation-criteria)
26+
- [Alpha](#alpha)
27+
- [Beta](#beta)
28+
- [GA](#ga)
29+
- [Deprecation](#deprecation)
30+
- [Upgrade / Downgrade Strategy](#upgrade--downgrade-strategy)
31+
- [Cloud Provider Specific Guidance](#cloud-provider-specific-guidance)
32+
- [General Guidance](#general-guidance)
33+
- [Version Skew Strategy](#version-skew-strategy)
34+
- [Production Readiness Review Questionnaire](#production-readiness-review-questionnaire)
35+
- [Feature Enablement and Rollback](#feature-enablement-and-rollback)
36+
- [How can this feature be enabled / disabled in a live cluster?](#how-can-this-feature-be-enabled--disabled-in-a-live-cluster)
37+
- [Does enabling the feature change any default behavior?](#does-enabling-the-feature-change-any-default-behavior)
38+
- [Can the feature be disabled once it has been enabled (i.e. can we roll back the enablement)?](#can-the-feature-be-disabled-once-it-has-been-enabled-ie-can-we-roll-back-the-enablement)
39+
- [What happens if we reenable the feature if it was previously rolled back?](#what-happens-if-we-reenable-the-feature-if-it-was-previously-rolled-back)
40+
- [Are there any tests for feature enablement/disablement?](#are-there-any-tests-for-feature-enablementdisablement)
41+
- [Rollout, Upgrade and Rollback Planning](#rollout-upgrade-and-rollback-planning)
42+
- [How can a rollout or rollback fail? Can it impact already running workloads?](#how-can-a-rollout-or-rollback-fail-can-it-impact-already-running-workloads)
43+
- [What specific metrics should inform a rollback?](#what-specific-metrics-should-inform-a-rollback)
44+
- [Were upgrade and rollback tested? Was the upgrade-\>downgrade-\>upgrade path tested?](#were-upgrade-and-rollback-tested-was-the-upgrade-downgrade-upgrade-path-tested)
45+
- [Is the rollout accompanied by any deprecations and/or removals of features, APIs, fields of API types, flags, etc.?](#is-the-rollout-accompanied-by-any-deprecations-andor-removals-of-features-apis-fields-of-api-types-flags-etc)
46+
- [Monitoring Requirements](#monitoring-requirements)
47+
- [How can an operator determine if the feature is in use by workloads?](#how-can-an-operator-determine-if-the-feature-is-in-use-by-workloads)
48+
- [How can someone using this feature know that it is working for their instance?](#how-can-someone-using-this-feature-know-that-it-is-working-for-their-instance)
49+
- [What are the reasonable SLOs (Service Level Objectives) for the enhancement?](#what-are-the-reasonable-slos-service-level-objectives-for-the-enhancement)
50+
- [What are the SLIs (Service Level Indicators) an operator can use to determine the health of the service?](#what-are-the-slis-service-level-indicators-an-operator-can-use-to-determine-the-health-of-the-service)
51+
- [Are there any missing metrics that would be useful to have to improve observability of this feature?](#are-there-any-missing-metrics-that-would-be-useful-to-have-to-improve-observability-of-this-feature)
52+
- [Dependencies](#dependencies)
53+
- [Does this feature depend on any specific services running in the cluster?](#does-this-feature-depend-on-any-specific-services-running-in-the-cluster)
54+
- [Scalability](#scalability)
55+
- [Will enabling / using this feature result in any new API calls?](#will-enabling--using-this-feature-result-in-any-new-api-calls)
56+
- [Will enabling / using this feature result in introducing new API types?](#will-enabling--using-this-feature-result-in-introducing-new-api-types)
57+
- [Will enabling / using this feature result in any new calls to the cloud provider?](#will-enabling--using-this-feature-result-in-any-new-calls-to-the-cloud-provider)
58+
- [Will enabling / using this feature result in increasing size or count of the existing API objects?](#will-enabling--using-this-feature-result-in-increasing-size-or-count-of-the-existing-api-objects)
59+
- [Will enabling / using this feature result in increasing time taken by any operations covered by existing SLIs/SLOs?](#will-enabling--using-this-feature-result-in-increasing-time-taken-by-any-operations-covered-by-existing-slisslos)
60+
- [Will enabling / using this feature result in non-negligible increase of resource usage (CPU, RAM, disk, IO, ...) in any components?](#will-enabling--using-this-feature-result-in-non-negligible-increase-of-resource-usage-cpu-ram-disk-io--in-any-components)
61+
- [Can enabling / using this feature result in resource exhaustion of some node resources (PIDs, sockets, inodes, etc.)?](#can-enabling--using-this-feature-result-in-resource-exhaustion-of-some-node-resources-pids-sockets-inodes-etc)
62+
- [Troubleshooting](#troubleshooting)
63+
- [How does this feature react if the API server and/or etcd is unavailable?](#how-does-this-feature-react-if-the-api-server-andor-etcd-is-unavailable)
64+
- [What are other known failure modes?](#what-are-other-known-failure-modes)
65+
- [What steps should be taken if SLOs are not being met to determine the problem?](#what-steps-should-be-taken-if-slos-are-not-being-met-to-determine-the-problem)
66+
- [Implementation History](#implementation-history)
67+
- [Drawbacks](#drawbacks)
68+
- [Alternatives](#alternatives)
69+
- [Staging Alternatives](#staging-alternatives)
70+
- [Git Filter-Branch](#git-filter-branch)
71+
- [Build Location Alternatives](#build-location-alternatives)
72+
- [Build K8s/K8s from within K8s/Cloud-provider](#build-k8sk8s-from-within-k8scloud-provider)
73+
- [Build K8s/Cloud-provider within K8s/K8s](#build-k8scloud-provider-within-k8sk8s)
74+
- [Config Alternatives](#config-alternatives)
75+
- [Use component config to determine where controllers run](#use-component-config-to-determine-where-controllers-run)
5076
<!-- /toc -->
5177

5278
## Release Signoff Checklist
@@ -627,6 +653,7 @@ the previous in-tree implementations.
627653
- 2021-08-04 - First Kubernetes release (v1.22) with `DisableCloudProviders` and `DisableKubeletCloudCredentialProviders` feature gates.
628654
- 2023-09-02 - Enable external CCMs by default for k/k CI.
629655
- 2023-05-07 - All the in-tree cloud providers have been removed.
656+
- 2024-05-06 - Removed the last remaining in-tree gcp cloud provider and credential provider. The feature gates are promoted to GA and locked.
630657

631658
## Drawbacks
632659

keps/sig-cloud-provider/2395-removing-in-tree-cloud-providers/kep.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,15 @@ approvers:
2323
- "@liggit"
2424
editor: TBD
2525
creation-date: 2018-12-18
26-
last-updated: 2023-05-07
27-
status: implementable
26+
last-updated: 2025-02-18
27+
status: implemented
2828

2929
# The most recent milestone for which work toward delivery of this KEP has been
3030
# done. This can be the current (upcoming) milestone, if it is being actively
3131
# worked on.
3232
latest-milestone: "v1.31"
3333

34-
stage: beta
34+
stage: stable
3535

3636
# The milestone at which this feature was, or is targeted to be, at each stage.
3737
milestone:

0 commit comments

Comments
 (0)