Skip to content

Commit 0e93436

Browse files
authored
Merge pull request kubernetes#90976 from andrewsykim/move-cloud-controllers
Move cloud provider controllers to k8s.io/cloud-provider
2 parents 4cc44fb + 21bb99e commit 0e93436

File tree

31 files changed

+280
-84
lines changed

31 files changed

+280
-84
lines changed

cmd/cloud-controller-manager/app/BUILD

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@ go_library(
1212
"//cmd/cloud-controller-manager/app/config:go_default_library",
1313
"//cmd/cloud-controller-manager/app/options:go_default_library",
1414
"//cmd/controller-manager/app:go_default_library",
15-
"//pkg/controller/cloud:go_default_library",
16-
"//pkg/controller/route:go_default_library",
17-
"//pkg/controller/service:go_default_library",
1815
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
1916
"//staging/src/k8s.io/apimachinery/pkg/util/uuid:go_default_library",
2017
"//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library",
@@ -24,6 +21,10 @@ go_library(
2421
"//staging/src/k8s.io/client-go/tools/leaderelection:go_default_library",
2522
"//staging/src/k8s.io/client-go/tools/leaderelection/resourcelock:go_default_library",
2623
"//staging/src/k8s.io/cloud-provider:go_default_library",
24+
"//staging/src/k8s.io/cloud-provider/controllers/node:go_default_library",
25+
"//staging/src/k8s.io/cloud-provider/controllers/nodelifecycle:go_default_library",
26+
"//staging/src/k8s.io/cloud-provider/controllers/route:go_default_library",
27+
"//staging/src/k8s.io/cloud-provider/controllers/service:go_default_library",
2728
"//staging/src/k8s.io/component-base/cli/flag:go_default_library",
2829
"//staging/src/k8s.io/component-base/cli/globalflag:go_default_library",
2930
"//staging/src/k8s.io/component-base/configz:go_default_library",

cmd/cloud-controller-manager/app/core.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,12 @@ import (
2727
"strings"
2828

2929
cloudprovider "k8s.io/cloud-provider"
30+
cloudnodecontroller "k8s.io/cloud-provider/controllers/node"
31+
cloudnodelifecyclecontroller "k8s.io/cloud-provider/controllers/nodelifecycle"
32+
routecontroller "k8s.io/cloud-provider/controllers/route"
33+
servicecontroller "k8s.io/cloud-provider/controllers/service"
3034
"k8s.io/klog/v2"
3135
cloudcontrollerconfig "k8s.io/kubernetes/cmd/cloud-controller-manager/app/config"
32-
cloudcontrollers "k8s.io/kubernetes/pkg/controller/cloud"
33-
routecontroller "k8s.io/kubernetes/pkg/controller/route"
34-
servicecontroller "k8s.io/kubernetes/pkg/controller/service"
3536
netutils "k8s.io/utils/net"
3637

3738
utilfeature "k8s.io/apiserver/pkg/util/feature"
@@ -45,7 +46,7 @@ const (
4546

4647
func startCloudNodeController(ctx *cloudcontrollerconfig.CompletedConfig, cloud cloudprovider.Interface, stopCh <-chan struct{}) (http.Handler, bool, error) {
4748
// Start the CloudNodeController
48-
nodeController, err := cloudcontrollers.NewCloudNodeController(
49+
nodeController, err := cloudnodecontroller.NewCloudNodeController(
4950
ctx.SharedInformers.Core().V1().Nodes(),
5051
// cloud node controller uses existing cluster role from node-controller
5152
ctx.ClientBuilder.ClientOrDie("node-controller"),
@@ -64,7 +65,7 @@ func startCloudNodeController(ctx *cloudcontrollerconfig.CompletedConfig, cloud
6465

6566
func startCloudNodeLifecycleController(ctx *cloudcontrollerconfig.CompletedConfig, cloud cloudprovider.Interface, stopCh <-chan struct{}) (http.Handler, bool, error) {
6667
// Start the cloudNodeLifecycleController
67-
cloudNodeLifecycleController, err := cloudcontrollers.NewCloudNodeLifecycleController(
68+
cloudNodeLifecycleController, err := cloudnodelifecyclecontroller.NewCloudNodeLifecycleController(
6869
ctx.SharedInformers.Core().V1().Nodes(),
6970
// cloud node lifecycle controller uses existing cluster role from node-controller
7071
ctx.ClientBuilder.ClientOrDie("node-controller"),

cmd/kube-controller-manager/app/BUILD

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ go_library(
4949
"//pkg/controller/certificates/rootcacertpublisher:go_default_library",
5050
"//pkg/controller/certificates/signer:go_default_library",
5151
"//pkg/controller/certificates/signer/config:go_default_library",
52-
"//pkg/controller/cloud:go_default_library",
5352
"//pkg/controller/clusterroleaggregation:go_default_library",
5453
"//pkg/controller/cronjob:go_default_library",
5554
"//pkg/controller/daemon:go_default_library",
@@ -70,8 +69,6 @@ go_library(
7069
"//pkg/controller/replicaset:go_default_library",
7170
"//pkg/controller/replication:go_default_library",
7271
"//pkg/controller/resourcequota:go_default_library",
73-
"//pkg/controller/route:go_default_library",
74-
"//pkg/controller/service:go_default_library",
7572
"//pkg/controller/serviceaccount:go_default_library",
7673
"//pkg/controller/statefulset:go_default_library",
7774
"//pkg/controller/ttl:go_default_library",
@@ -137,6 +134,9 @@ go_library(
137134
"//staging/src/k8s.io/client-go/util/flowcontrol:go_default_library",
138135
"//staging/src/k8s.io/client-go/util/keyutil:go_default_library",
139136
"//staging/src/k8s.io/cloud-provider:go_default_library",
137+
"//staging/src/k8s.io/cloud-provider/controllers/nodelifecycle:go_default_library",
138+
"//staging/src/k8s.io/cloud-provider/controllers/route:go_default_library",
139+
"//staging/src/k8s.io/cloud-provider/controllers/service:go_default_library",
140140
"//staging/src/k8s.io/component-base/cli/flag:go_default_library",
141141
"//staging/src/k8s.io/component-base/cli/globalflag:go_default_library",
142142
"//staging/src/k8s.io/component-base/configz:go_default_library",

cmd/kube-controller-manager/app/core.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,12 @@ import (
3838
clientset "k8s.io/client-go/kubernetes"
3939
"k8s.io/client-go/metadata"
4040
restclient "k8s.io/client-go/rest"
41+
cloudnodelifecyclecontroller "k8s.io/cloud-provider/controllers/nodelifecycle"
42+
routecontroller "k8s.io/cloud-provider/controllers/route"
43+
servicecontroller "k8s.io/cloud-provider/controllers/service"
4144
"k8s.io/component-base/metrics/prometheus/ratelimiter"
4245
csitrans "k8s.io/csi-translation-lib"
4346
"k8s.io/kubernetes/pkg/controller"
44-
cloudcontroller "k8s.io/kubernetes/pkg/controller/cloud"
4547
endpointcontroller "k8s.io/kubernetes/pkg/controller/endpoint"
4648
"k8s.io/kubernetes/pkg/controller/garbagecollector"
4749
namespacecontroller "k8s.io/kubernetes/pkg/controller/namespace"
@@ -52,8 +54,6 @@ import (
5254
"k8s.io/kubernetes/pkg/controller/podgc"
5355
replicationcontroller "k8s.io/kubernetes/pkg/controller/replication"
5456
resourcequotacontroller "k8s.io/kubernetes/pkg/controller/resourcequota"
55-
routecontroller "k8s.io/kubernetes/pkg/controller/route"
56-
servicecontroller "k8s.io/kubernetes/pkg/controller/service"
5757
serviceaccountcontroller "k8s.io/kubernetes/pkg/controller/serviceaccount"
5858
ttlcontroller "k8s.io/kubernetes/pkg/controller/ttl"
5959
"k8s.io/kubernetes/pkg/controller/ttlafterfinished"
@@ -217,7 +217,7 @@ func startNodeLifecycleController(ctx ControllerContext) (http.Handler, bool, er
217217
}
218218

219219
func startCloudNodeLifecycleController(ctx ControllerContext) (http.Handler, bool, error) {
220-
cloudNodeLifecycleController, err := cloudcontroller.NewCloudNodeLifecycleController(
220+
cloudNodeLifecycleController, err := cloudnodelifecyclecontroller.NewCloudNodeLifecycleController(
221221
ctx.InformerFactory.Core().V1().Nodes(),
222222
// cloud node lifecycle controller uses existing cluster role from node-controller
223223
ctx.ClientBuilder.ClientOrDie("node-controller"),

hack/.golint_failures

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ pkg/controller/apis/config/v1alpha1
5050
pkg/controller/certificates
5151
pkg/controller/certificates/signer
5252
pkg/controller/certificates/signer/config/v1alpha1
53-
pkg/controller/cloud
5453
pkg/controller/clusterroleaggregation
5554
pkg/controller/daemon
5655
pkg/controller/daemon/config/v1alpha1
@@ -77,7 +76,6 @@ pkg/controller/replication
7776
pkg/controller/replication/config/v1alpha1
7877
pkg/controller/resourcequota
7978
pkg/controller/resourcequota/config/v1alpha1
80-
pkg/controller/route
8179
pkg/controller/service/config/v1alpha1
8280
pkg/controller/serviceaccount/config/v1alpha1
8381
pkg/controller/statefulset
@@ -424,6 +422,9 @@ staging/src/k8s.io/client-go/util/retry
424422
staging/src/k8s.io/client-go/util/testing
425423
staging/src/k8s.io/client-go/util/workqueue
426424
staging/src/k8s.io/cloud-provider
425+
staging/src/k8s.io/cloud-provider/controllers/node
426+
staging/src/k8s.io/cloud-provider/controllers/nodelifecycle
427+
staging/src/k8s.io/cloud-provider/controllers/route
427428
staging/src/k8s.io/code-generator/cmd/client-gen/args
428429
staging/src/k8s.io/code-generator/cmd/client-gen/generators/fake
429430
staging/src/k8s.io/code-generator/cmd/client-gen/generators/scheme

pkg/controller/BUILD

Lines changed: 38 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,4 @@
1-
package(default_visibility = ["//visibility:public"])
2-
3-
load(
4-
"@io_bazel_rules_go//go:def.bzl",
5-
"go_library",
6-
"go_test",
7-
)
8-
9-
go_test(
10-
name = "go_default_test",
11-
srcs = [
12-
"controller_ref_manager_test.go",
13-
"controller_utils_test.go",
14-
],
15-
embed = [":go_default_library"],
16-
deps = [
17-
"//pkg/apis/core/install:go_default_library",
18-
"//pkg/controller/testutil:go_default_library",
19-
"//pkg/securitycontext:go_default_library",
20-
"//staging/src/k8s.io/api/apps/v1:go_default_library",
21-
"//staging/src/k8s.io/api/core/v1:go_default_library",
22-
"//staging/src/k8s.io/apimachinery/pkg/api/equality:go_default_library",
23-
"//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library",
24-
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
25-
"//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library",
26-
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
27-
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
28-
"//staging/src/k8s.io/apimachinery/pkg/types:go_default_library",
29-
"//staging/src/k8s.io/apimachinery/pkg/util/clock:go_default_library",
30-
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
31-
"//staging/src/k8s.io/apimachinery/pkg/util/uuid:go_default_library",
32-
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
33-
"//staging/src/k8s.io/client-go/kubernetes/fake:go_default_library",
34-
"//staging/src/k8s.io/client-go/kubernetes/scheme:go_default_library",
35-
"//staging/src/k8s.io/client-go/rest:go_default_library",
36-
"//staging/src/k8s.io/client-go/tools/cache:go_default_library",
37-
"//staging/src/k8s.io/client-go/tools/record:go_default_library",
38-
"//staging/src/k8s.io/client-go/util/testing:go_default_library",
39-
"//vendor/github.com/stretchr/testify/assert:go_default_library",
40-
],
41-
)
1+
load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
422

433
go_library(
444
name = "go_default_library",
@@ -52,6 +12,7 @@ go_library(
5212
"lookup_cache.go",
5313
],
5414
importpath = "k8s.io/kubernetes/pkg/controller",
15+
visibility = ["//visibility:public"],
5516
deps = [
5617
"//pkg/api/legacyscheme:go_default_library",
5718
"//pkg/api/v1/pod:go_default_library",
@@ -99,6 +60,40 @@ go_library(
9960
],
10061
)
10162

63+
go_test(
64+
name = "go_default_test",
65+
srcs = [
66+
"controller_ref_manager_test.go",
67+
"controller_utils_test.go",
68+
],
69+
embed = [":go_default_library"],
70+
deps = [
71+
"//pkg/apis/core/install:go_default_library",
72+
"//pkg/controller/testutil:go_default_library",
73+
"//pkg/securitycontext:go_default_library",
74+
"//staging/src/k8s.io/api/apps/v1:go_default_library",
75+
"//staging/src/k8s.io/api/core/v1:go_default_library",
76+
"//staging/src/k8s.io/apimachinery/pkg/api/equality:go_default_library",
77+
"//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library",
78+
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
79+
"//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library",
80+
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
81+
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
82+
"//staging/src/k8s.io/apimachinery/pkg/types:go_default_library",
83+
"//staging/src/k8s.io/apimachinery/pkg/util/clock:go_default_library",
84+
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
85+
"//staging/src/k8s.io/apimachinery/pkg/util/uuid:go_default_library",
86+
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
87+
"//staging/src/k8s.io/client-go/kubernetes/fake:go_default_library",
88+
"//staging/src/k8s.io/client-go/kubernetes/scheme:go_default_library",
89+
"//staging/src/k8s.io/client-go/rest:go_default_library",
90+
"//staging/src/k8s.io/client-go/tools/cache:go_default_library",
91+
"//staging/src/k8s.io/client-go/tools/record:go_default_library",
92+
"//staging/src/k8s.io/client-go/util/testing:go_default_library",
93+
"//vendor/github.com/stretchr/testify/assert:go_default_library",
94+
],
95+
)
96+
10297
filegroup(
10398
name = "package-srcs",
10499
srcs = glob(["**"]),
@@ -113,7 +108,6 @@ filegroup(
113108
"//pkg/controller/apis/config:all-srcs",
114109
"//pkg/controller/bootstrap:all-srcs",
115110
"//pkg/controller/certificates:all-srcs",
116-
"//pkg/controller/cloud:all-srcs",
117111
"//pkg/controller/clusterroleaggregation:all-srcs",
118112
"//pkg/controller/cronjob:all-srcs",
119113
"//pkg/controller/daemon:all-srcs",
@@ -132,8 +126,7 @@ filegroup(
132126
"//pkg/controller/replicaset:all-srcs",
133127
"//pkg/controller/replication:all-srcs",
134128
"//pkg/controller/resourcequota:all-srcs",
135-
"//pkg/controller/route:all-srcs",
136-
"//pkg/controller/service:all-srcs",
129+
"//pkg/controller/service/config:all-srcs",
137130
"//pkg/controller/serviceaccount:all-srcs",
138131
"//pkg/controller/statefulset:all-srcs",
139132
"//pkg/controller/testutil:all-srcs",
@@ -151,4 +144,5 @@ filegroup(
151144
"//pkg/controller/volume/scheduling:all-srcs",
152145
],
153146
tags = ["automanaged"],
147+
visibility = ["//visibility:public"],
154148
)

staging/publishing/import-restrictions.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,7 @@
221221
- k8s.io/apimachinery
222222
- k8s.io/client-go
223223
- k8s.io/cloud-provider
224+
- k8s.io/component-base
224225
- k8s.io/klog
225226
- k8s.io/utils
226227

staging/publishing/rules.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1216,6 +1216,8 @@ rules:
12161216
branch: master
12171217
- repository: client-go
12181218
branch: master
1219+
- repository: component-base
1220+
branch: master
12191221
- source:
12201222
branch: release-1.15
12211223
dir: staging/src/k8s.io/cloud-provider
@@ -1281,6 +1283,8 @@ rules:
12811283
branch: master
12821284
- repository: cloud-provider
12831285
branch: master
1286+
- repository: component-base
1287+
branch: master
12841288
- source:
12851289
branch: release-1.15
12861290
dir: staging/src/k8s.io/csi-translation-lib

staging/src/k8s.io/cloud-provider/BUILD

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ filegroup(
3737
srcs = [
3838
":package-srcs",
3939
"//staging/src/k8s.io/cloud-provider/api:all-srcs",
40+
"//staging/src/k8s.io/cloud-provider/controllers/node:all-srcs",
41+
"//staging/src/k8s.io/cloud-provider/controllers/nodelifecycle:all-srcs",
42+
"//staging/src/k8s.io/cloud-provider/controllers/route:all-srcs",
43+
"//staging/src/k8s.io/cloud-provider/controllers/service:all-srcs",
4044
"//staging/src/k8s.io/cloud-provider/fake:all-srcs",
4145
"//staging/src/k8s.io/cloud-provider/node:all-srcs",
4246
"//staging/src/k8s.io/cloud-provider/service/helpers:all-srcs",

pkg/controller/cloud/BUILD renamed to staging/src/k8s.io/cloud-provider/controllers/node/BUILD

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,21 @@ load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
22

33
go_library(
44
name = "go_default_library",
5-
srcs = [
6-
"node_controller.go",
7-
"node_lifecycle_controller.go",
8-
],
9-
importpath = "k8s.io/kubernetes/pkg/controller/cloud",
5+
srcs = ["node_controller.go"],
6+
importmap = "k8s.io/kubernetes/vendor/k8s.io/cloud-provider/controllers/node",
7+
importpath = "k8s.io/cloud-provider/controllers/node",
108
visibility = ["//visibility:public"],
119
deps = [
1210
"//staging/src/k8s.io/api/core/v1:go_default_library",
1311
"//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library",
1412
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
15-
"//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library",
1613
"//staging/src/k8s.io/apimachinery/pkg/types:go_default_library",
1714
"//staging/src/k8s.io/apimachinery/pkg/util/runtime:go_default_library",
1815
"//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library",
1916
"//staging/src/k8s.io/client-go/informers/core/v1:go_default_library",
2017
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
2118
"//staging/src/k8s.io/client-go/kubernetes/scheme:go_default_library",
2219
"//staging/src/k8s.io/client-go/kubernetes/typed/core/v1:go_default_library",
23-
"//staging/src/k8s.io/client-go/listers/core/v1:go_default_library",
2420
"//staging/src/k8s.io/client-go/tools/cache:go_default_library",
2521
"//staging/src/k8s.io/client-go/tools/record:go_default_library",
2622
"//staging/src/k8s.io/client-go/util/retry:go_default_library",
@@ -33,18 +29,13 @@ go_library(
3329

3430
go_test(
3531
name = "go_default_test",
36-
srcs = [
37-
"node_controller_test.go",
38-
"node_lifecycle_controller_test.go",
39-
],
32+
srcs = ["node_controller_test.go"],
4033
embed = [":go_default_library"],
4134
deps = [
4235
"//staging/src/k8s.io/api/core/v1:go_default_library",
43-
"//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library",
4436
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
4537
"//staging/src/k8s.io/apimachinery/pkg/types:go_default_library",
4638
"//staging/src/k8s.io/client-go/informers:go_default_library",
47-
"//staging/src/k8s.io/client-go/informers/core/v1:go_default_library",
4839
"//staging/src/k8s.io/client-go/kubernetes/fake:go_default_library",
4940
"//staging/src/k8s.io/client-go/kubernetes/scheme:go_default_library",
5041
"//staging/src/k8s.io/client-go/tools/record:go_default_library",

0 commit comments

Comments
 (0)