Skip to content

Commit 18ff99b

Browse files
authored
Merge pull request #104 from sunya-ch/v1.0.4
Fix HostInterface Reconcile, CNI Del/Check, and DaemonSet priorityclass
2 parents ded0965 + 0d52320 commit 18ff99b

File tree

3 files changed

+19
-14
lines changed

3 files changed

+19
-14
lines changed

cni/plugins/main/multi-nic/multi-nic.go

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,8 @@ func cmdDel(args *skel.CmdArgs) error {
182182

183183
n, deviceType, err := loadConf(args)
184184
if err != nil {
185-
return fmt.Errorf("fail to load conf: %v", err)
185+
utils.Logger.Debug(fmt.Sprintf("fail to load conf: %v", err))
186+
return nil
186187
}
187188
utils.Logger.Debug(fmt.Sprintf("Received an DEL request for: conf=%v", n))
188189
// On chained invocation, IPAM block can be empty
@@ -199,12 +200,13 @@ func cmdDel(args *skel.CmdArgs) error {
199200
// parse previous result
200201
if n.NetConf.RawPrevResult != nil {
201202
if err = version.ParsePrevResult(&n.NetConf); err != nil {
202-
return fmt.Errorf("could not parse prevResult: %v", err)
203+
utils.Logger.Debug(fmt.Sprintf("could not parse prevResult: %v", err))
204+
return nil
203205
}
204-
205206
result, err = current.NewResultFromResult(n.NetConf.PrevResult)
206207
if err != nil {
207-
return fmt.Errorf("could not convert result to current version: %v", err)
208+
utils.Logger.Debug(fmt.Sprintf("could not convert result to current version: %v", err))
209+
return nil
208210
}
209211
} else {
210212
result = &current.Result{CNIVersion: current.ImplementedSpecVersion}
@@ -222,7 +224,7 @@ func cmdDel(args *skel.CmdArgs) error {
222224
}
223225
if err != nil {
224226
utils.Logger.Debug(fmt.Sprintf("Fail loading %v: %v", string(args.StdinData), err))
225-
return err
227+
return nil
226228
}
227229
if len(confBytesArray) == 0 {
228230
utils.Logger.Debug(fmt.Sprintf("zero config on cmdDel: %v (%d)", string(args.StdinData), len(n.Masters)))
@@ -238,7 +240,6 @@ func cmdDel(args *skel.CmdArgs) error {
238240
return nil
239241
}
240242
}
241-
242243
return nil
243244
}
244245

@@ -249,19 +250,21 @@ func cmdCheck(args *skel.CmdArgs) error {
249250

250251
n, deviceType, err := loadConf(args)
251252
if err != nil {
252-
return fmt.Errorf("fail to load conf")
253+
utils.Logger.Debug(fmt.Sprintf("fail to load conf: %v", err))
254+
return nil
253255
}
254256

255257
var result *current.Result
256258
// parse previous result
257259
if n.NetConf.RawPrevResult != nil {
258260
if err = version.ParsePrevResult(&n.NetConf); err != nil {
259-
return fmt.Errorf("could not parse prevResult: %v", err)
261+
utils.Logger.Debug(fmt.Sprintf("could not parse prevResult: %v", err))
262+
return nil
260263
}
261-
262264
result, err = current.NewResultFromResult(n.NetConf.PrevResult)
263265
if err != nil {
264-
return fmt.Errorf("could not convert result to current version: %v", err)
266+
utils.Logger.Debug(fmt.Sprintf("could not convert result to current version: %v", err))
267+
return nil
265268
}
266269
} else {
267270
result = &current.Result{CNIVersion: current.ImplementedSpecVersion}
@@ -279,7 +282,7 @@ func cmdCheck(args *skel.CmdArgs) error {
279282
}
280283
if err != nil {
281284
utils.Logger.Debug(fmt.Sprintf("Fail loading %v: %v", string(args.StdinData), err))
282-
return err
285+
return nil
283286
}
284287
if len(confBytesArray) == 0 {
285288
utils.Logger.Debug(fmt.Sprintf("zero config on cmdCheck: %v (%d)", string(args.StdinData), len(n.Masters)))
@@ -291,10 +294,10 @@ func cmdCheck(args *skel.CmdArgs) error {
291294
utils.Logger.Debug(fmt.Sprintf("Exec %s %s: %s", command, ifName, string(confBytes)))
292295
_, err := execPlugin(deviceType, command, confBytes, args, ifName, false)
293296
if err != nil {
294-
return err
297+
utils.Logger.Debug(fmt.Sprintf("Fail execPlugin %v: %v", string(confBytes), err))
298+
return nil
295299
}
296300
}
297-
298301
return nil
299302
}
300303

controllers/config_controller.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -320,6 +320,7 @@ func (r *ConfigReconciler) newCNIDaemonSet(client *kubernetes.Clientset, name st
320320
Template: corev1.PodTemplateSpec{
321321
ObjectMeta: metav1.ObjectMeta{Labels: labels},
322322
Spec: corev1.PodSpec{
323+
PriorityClassName: "system-cluster-critical",
323324
HostNetwork: true,
324325
ServiceAccountName: vars.ServiceAccountName,
325326
NodeSelector: daemonSpec.NodeSelector,

controllers/hostinterface_controller.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,8 @@ func (r *HostInterfaceReconciler) Reconcile(ctx context.Context, req ctrl.Reques
122122
}
123123

124124
if !ConfigReady || !r.DaemonWatcher.IsDaemonSetReady() {
125-
return ctrl.Result{RequeueAfter: vars.NormalReconcileTime}, nil
125+
// only hostinterface must be reconciled urgently after config is ready because it's tightly coupling with daemon
126+
return ctrl.Result{RequeueAfter: vars.UrgentReconcileTime}, nil
126127
}
127128

128129
vars.HifLog.V(7).Info(fmt.Sprintf("HostInterface reconciled: %s", instance.ObjectMeta.Name))

0 commit comments

Comments
 (0)