Skip to content

Commit

Permalink
Changes to make tagging controller compatible with K8s 1.22
Browse files Browse the repository at this point in the history
  • Loading branch information
saurav-agarwalla committed May 11, 2022
1 parent a102829 commit 56bd1cc
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 16 deletions.
9 changes: 1 addition & 8 deletions cmd/aws-cloud-controller-manager/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,14 +65,7 @@ func main() {
fss := cliflag.NamedFlagSets{}
taggingControllerWrapper.Options.AddFlags(fss.FlagSet("tagging controller"))

taggingControllerConstructor := app.ControllerInitFuncConstructor{
InitContext: app.ControllerInitContext{
ClientName: tagging.TaggingControllerClientName,
},
Constructor: taggingControllerWrapper.StartTaggingControllerWrapper,
}

controllerInitializers[tagging.TaggingControllerKey] = taggingControllerConstructor
controllerInitializers[tagging.TaggingControllerKey] = taggingControllerWrapper.StartTaggingControllerWrapper
app.ControllersDisabledByDefault.Insert(tagging.TaggingControllerKey)
command := app.NewCloudControllerManagerCommand(opts, cloudInitializer, controllerInitializers, fss, wait.NeverStop)

Expand Down
1 change: 1 addition & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ require (
k8s.io/cloud-provider v0.22.8
k8s.io/code-generator v0.22.8
k8s.io/component-base v0.22.8
k8s.io/controller-manager v0.22.8
k8s.io/csi-translation-lib v0.22.8
k8s.io/klog/v2 v2.9.0
k8s.io/kubelet v0.22.8
Expand Down
15 changes: 7 additions & 8 deletions pkg/controllers/tagging/tagging_controller_wrapper.go
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
package tagging

import (
"context"
"net/http"

cloudprovider "k8s.io/cloud-provider"
"k8s.io/cloud-provider/app"
cloudcontrollerconfig "k8s.io/cloud-provider/app/config"
genericcontrollermanager "k8s.io/controller-manager/app"
"k8s.io/controller-manager/controller"
"k8s.io/klog/v2"

"k8s.io/cloud-provider-aws/pkg/controllers/options"
Expand All @@ -27,13 +26,13 @@ type ControllerWrapper struct {
}

// StartTaggingControllerWrapper is used to take cloud config as input and start the tagging controller
func (tc *ControllerWrapper) StartTaggingControllerWrapper(initContext app.ControllerInitContext, completedConfig *cloudcontrollerconfig.CompletedConfig, cloud cloudprovider.Interface) app.InitFunc {
return func(ctx context.Context, controllerContext genericcontrollermanager.ControllerContext) (controller.Interface, bool, error) {
return tc.startTaggingController(ctx, initContext, completedConfig, cloud)
func (tc *ControllerWrapper) StartTaggingControllerWrapper(completedConfig *cloudcontrollerconfig.CompletedConfig, cloud cloudprovider.Interface) app.InitFunc {
return func(ctx genericcontrollermanager.ControllerContext) (http.Handler, bool, error) {
return tc.startTaggingController(ctx, completedConfig, cloud)
}
}

func (tc *ControllerWrapper) startTaggingController(ctx context.Context, initContext app.ControllerInitContext, completedConfig *cloudcontrollerconfig.CompletedConfig, cloud cloudprovider.Interface) (controller.Interface, bool, error) {
func (tc *ControllerWrapper) startTaggingController(ctx genericcontrollermanager.ControllerContext, completedConfig *cloudcontrollerconfig.CompletedConfig, cloud cloudprovider.Interface) (http.Handler, bool, error) {
err := tc.Options.Validate()
if err != nil {
klog.Fatalf("Tagging controller inputs are not properly set: %v", err)
Expand All @@ -42,7 +41,7 @@ func (tc *ControllerWrapper) startTaggingController(ctx context.Context, initCon
// Start the Controller
taggingcontroller, err := NewTaggingController(
completedConfig.SharedInformers.Core().V1().Nodes(),
completedConfig.ClientBuilder.ClientOrDie(initContext.ClientName),
completedConfig.ClientBuilder.ClientOrDie(TaggingControllerClientName),
cloud,
completedConfig.ComponentConfig.KubeCloudShared.NodeMonitorPeriod.Duration,
tc.Options.Tags,
Expand All @@ -53,7 +52,7 @@ func (tc *ControllerWrapper) startTaggingController(ctx context.Context, initCon
return nil, false, nil
}

go taggingcontroller.Run(ctx.Done())
go taggingcontroller.Run(ctx.Stop)

return nil, true, nil
}

0 comments on commit 56bd1cc

Please sign in to comment.