3838 terminateOnSuccess = flag .Bool ("terminateOnSuccess" , false , "Whether to terminate the program when no user iptables rules found" )
3939)
4040
41- const label = "kubernetes.azure.com/user-iptables-rules"
41+ const (
42+ label = "kubernetes.azure.com/user-iptables-rules"
43+ requestTimeout = 5 * time .Second
44+ )
4245
4346type OSFileLineReader struct {}
4447
@@ -111,7 +114,9 @@ func patchLabel(clientset DynamicClient, labelValue bool, nodeName string) error
111114 }
112115 }` , label , labelValue ))
113116
114- err := clientset .PatchResource (context .TODO (), gvr , nodeName , types .MergePatchType , patch )
117+ ctx , cancel := context .WithTimeout (context .Background (), requestTimeout )
118+ defer cancel ()
119+ err := clientset .PatchResource (ctx , gvr , nodeName , types .MergePatchType , patch )
115120 if err != nil {
116121 return fmt .Errorf ("failed to patch %s with label %s=%v: %w" , nodeName , label , labelValue , err )
117122 }
@@ -120,7 +125,9 @@ func patchLabel(clientset DynamicClient, labelValue bool, nodeName string) error
120125
121126// createNodeEvent creates a Kubernetes event for the specified node
122127func createNodeEvent (clientset KubeClient , nodeName , reason , message , eventType string ) error {
123- node , err := clientset .GetNode (context .TODO (), nodeName )
128+ ctx , cancel := context .WithTimeout (context .Background (), requestTimeout )
129+ defer cancel ()
130+ node , err := clientset .GetNode (ctx , nodeName )
124131 if err != nil {
125132 return fmt .Errorf ("failed to get node UID for %s: %w" , nodeName , err )
126133 }
@@ -148,7 +155,7 @@ func createNodeEvent(clientset KubeClient, nodeName, reason, message, eventType
148155 Component : "azure-iptables-monitor" ,
149156 },
150157 }
151- _ , err = clientset .CreateEvent (context . TODO () , "default" , event )
158+ _ , err = clientset .CreateEvent (ctx , "default" , event )
152159 if err != nil {
153160 return fmt .Errorf ("failed to create event for node %s: %w" , nodeName , err )
154161 }
0 commit comments