Skip to content

Commit 38245bd

Browse files
fix(logs): Changed ratelimiter in lvmvol controller (#195)
Signed-off-by: Abhilash Shetty <[email protected]>
1 parent 2f947ef commit 38245bd

File tree

3 files changed

+17
-7
lines changed

3 files changed

+17
-7
lines changed

pkg/mgmt/lvmnode/builder.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,12 +83,13 @@ type NodeController struct {
8383
//This function returns controller object with all required keys set to watch over lvmnode object
8484
func newNodeController(kubeClient kubernetes.Interface, client dynamic.Interface,
8585
dynInformer dynamicinformer.DynamicSharedInformerFactory, ownerRef metav1.OwnerReference) *NodeController {
86+
//Creating informer for lvm node resource
8687
nodeInformer := dynInformer.ForResource(noderesource).Informer()
87-
klog.Infof("Creating event broadcaster")
8888
eventBroadcaster := record.NewBroadcaster()
8989
eventBroadcaster.StartLogging(klog.Infof)
9090
eventBroadcaster.StartRecordingToSink(&typedcorev1.EventSinkImpl{Interface: kubeClient.CoreV1().Events("")})
9191
recorder := eventBroadcaster.NewRecorder(scheme.Scheme, corev1.EventSource{Component: controllerAgentName})
92+
9293
klog.Infof("Creating lvm node controller object")
9394
nodeContrller := &NodeController{
9495
kubeclientset: kubeClient,
@@ -100,6 +101,8 @@ func newNodeController(kubeClient kubernetes.Interface, client dynamic.Interface
100101
pollInterval: 60 * time.Second,
101102
ownerRef: ownerRef,
102103
}
104+
105+
klog.Infof("Adding Event handler functions for lvm node controller")
103106
nodeInformer.AddEventHandler(cache.ResourceEventHandlerFuncs{
104107
AddFunc: nodeContrller.addNode,
105108
UpdateFunc: nodeContrller.updateNode,

pkg/mgmt/snapshot/builder.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,22 +77,23 @@ func newSnapController(kubeClient kubernetes.Interface, client dynamic.Interface
7777
dynInformer dynamicinformer.DynamicSharedInformerFactory) *SnapController {
7878
//Creating informer for lvmsnapshot resource
7979
snapInformer := dynInformer.ForResource(snapresource).Informer()
80-
klog.Infoln("Using new rate limiter")
80+
//This ratelimiter requeues failed items after 5 secs for first 12 attempts. Then objects are requeued after 30 secs.
8181
rateLimiter := workqueue.NewItemFastSlowRateLimiter(5*time.Second, 30*time.Second, 12)
82+
8283
klog.Infof("Creating event broadcaster")
8384
eventBroadcaster := record.NewBroadcaster()
8485
eventBroadcaster.StartLogging(klog.Infof)
8586
eventBroadcaster.StartRecordingToSink(&typedcorev1.EventSinkImpl{Interface: kubeClient.CoreV1().Events("")})
8687
recorder := eventBroadcaster.NewRecorder(scheme.Scheme, corev1.EventSource{Component: controllerAgentName})
88+
8789
klog.Infof("Creating lvm snapshot controller object")
8890
snapCtrller := &SnapController{
8991
kubeclientset: kubeClient,
9092
clientset: client,
9193
snapLister: dynamiclister.New(snapInformer.GetIndexer(), snapresource),
9294
snapSynced: snapInformer.HasSynced,
93-
//workqueue: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "Snap"),
94-
workqueue: workqueue.NewNamedRateLimitingQueue(rateLimiter, "Snap"),
95-
recorder: recorder,
95+
workqueue: workqueue.NewNamedRateLimitingQueue(rateLimiter, "Snap"),
96+
recorder: recorder,
9697
}
9798
klog.Infof("Adding Event handler functions for lvm snapshot controller")
9899
snapInformer.AddEventHandler(cache.ResourceEventHandlerFuncs{

pkg/mgmt/volume/builder.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ limitations under the License.
1717
package volume
1818

1919
import (
20+
"time"
21+
2022
corev1 "k8s.io/api/core/v1"
2123
"k8s.io/apimachinery/pkg/runtime/schema"
2224
"k8s.io/client-go/dynamic"
@@ -73,8 +75,11 @@ type VolController struct {
7375
//This function returns controller object with all required keys set to watch over lvmvolume object
7476
func newVolController(kubeClient kubernetes.Interface, client dynamic.Interface,
7577
dynInformer dynamicinformer.DynamicSharedInformerFactory) *VolController {
76-
78+
//Creating informer for lvmvolume resource
7779
volInformer := dynInformer.ForResource(volresource).Informer()
80+
//This ratelimiter requeues failed items after 5 secs for first 12 attempts. Then objects are requeued after 30 secs.
81+
rateLimiter := workqueue.NewItemFastSlowRateLimiter(5*time.Second, 30*time.Second, 12)
82+
7883
klog.Infof("Creating event broadcaster")
7984
eventBroadcaster := record.NewBroadcaster()
8085
eventBroadcaster.StartLogging(klog.Infof)
@@ -87,9 +92,10 @@ func newVolController(kubeClient kubernetes.Interface, client dynamic.Interface,
8792
clientset: client,
8893
VolLister: dynamiclister.New(volInformer.GetIndexer(), volresource),
8994
VolSynced: volInformer.HasSynced,
90-
workqueue: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "Vol"),
95+
workqueue: workqueue.NewNamedRateLimitingQueue(rateLimiter, "Vol"),
9196
recorder: recorder,
9297
}
98+
9399
klog.Infof("Adding Event handler functions for lvm volume controller")
94100
volInformer.AddEventHandler(cache.ResourceEventHandlerFuncs{
95101
AddFunc: volCtrller.addVol,

0 commit comments

Comments
 (0)