mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	Merge pull request #55125 from oracle/for/upstream/master/#55124
Automatic merge from submit-queue (batch tested with PRs 55301, 55319, 54018, 55322, 55125). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. Add support for configmap resource lock type to CCM **What this PR does / why we need it**: Adds support for configmap resource locks which can be specified currently via CLI args to the CCM. Currently the `--leader-elect-resource-lock=configmaps` is ignored. **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #55124 ```release-note Fix support for configmap resource lock type in CCM ``` /cc @wlan0 @luxas @andrewsykim @prydie Output after running with this flag. ``` $ kubectl -n kube-system get cm cloud-controller-manager -oyaml apiVersion: v1 kind: ConfigMap metadata: annotations: control-plane.alpha.kubernetes.io/leader: '{"holderIdentity":"<host>-external-cloud-controller","leaseDurationSeconds":15,"acquireTime":"2017-11-06T00:14:41Z","renewTime":"2017-11-06T00:17:54Z","leaderTransitions":0}' creationTimestamp: 2017-11-06T00:14:41Z name: cloud-controller-manager namespace: kube-system resourceVersion: "2548197" selfLink: /api/v1/namespaces/kube-system/configmaps/cloud-controller-manager uid: 7c4cfe24-c287-11e7-99e4-0000170192f0 ```
This commit is contained in:
		@@ -23,7 +23,6 @@ go_library(
 | 
			
		||||
        "//vendor/github.com/spf13/cobra:go_default_library",
 | 
			
		||||
        "//vendor/github.com/spf13/pflag:go_default_library",
 | 
			
		||||
        "//vendor/k8s.io/api/core/v1:go_default_library",
 | 
			
		||||
        "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
 | 
			
		||||
        "//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library",
 | 
			
		||||
        "//vendor/k8s.io/apiserver/pkg/server/healthz:go_default_library",
 | 
			
		||||
        "//vendor/k8s.io/client-go/informers:go_default_library",
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,6 @@ import (
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	"k8s.io/api/core/v1"
 | 
			
		||||
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 | 
			
		||||
	"k8s.io/apimachinery/pkg/util/wait"
 | 
			
		||||
	"k8s.io/apiserver/pkg/server/healthz"
 | 
			
		||||
	"k8s.io/client-go/informers"
 | 
			
		||||
@@ -144,21 +143,21 @@ func Run(s *options.CloudControllerManagerServer, cloud cloudprovider.Interface)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Lock required for leader election
 | 
			
		||||
	rl := resourcelock.EndpointsLock{
 | 
			
		||||
		EndpointsMeta: metav1.ObjectMeta{
 | 
			
		||||
			Namespace: "kube-system",
 | 
			
		||||
			Name:      "cloud-controller-manager",
 | 
			
		||||
		},
 | 
			
		||||
		Client: leaderElectionClient.CoreV1(),
 | 
			
		||||
		LockConfig: resourcelock.ResourceLockConfig{
 | 
			
		||||
	rl, err := resourcelock.New(s.LeaderElection.ResourceLock,
 | 
			
		||||
		"kube-system",
 | 
			
		||||
		"cloud-controller-manager",
 | 
			
		||||
		leaderElectionClient.CoreV1(),
 | 
			
		||||
		resourcelock.ResourceLockConfig{
 | 
			
		||||
			Identity:      id + "-external-cloud-controller",
 | 
			
		||||
			EventRecorder: recorder,
 | 
			
		||||
		},
 | 
			
		||||
		})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		glog.Fatalf("error creating lock: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Try and become the leader and start cloud controller manager loops
 | 
			
		||||
	leaderelection.RunOrDie(leaderelection.LeaderElectionConfig{
 | 
			
		||||
		Lock:          &rl,
 | 
			
		||||
		Lock:          rl,
 | 
			
		||||
		LeaseDuration: s.LeaderElection.LeaseDuration.Duration,
 | 
			
		||||
		RenewDeadline: s.LeaderElection.RenewDeadline.Duration,
 | 
			
		||||
		RetryPeriod:   s.LeaderElection.RetryPeriod.Duration,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user