Skip to content

Commit 3c10291

Browse files
committed
make sure execPlugin execute regardless of ipam return
Signed-off-by: Sunyanan Choochotkaew <sunyanan.choochotkaew1@ibm.com>
1 parent 18ff99b commit 3c10291

File tree

1 file changed

+16
-21
lines changed

1 file changed

+16
-21
lines changed

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

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

183183
n, deviceType, err := loadConf(args)
184-
if err != nil {
184+
if err != nil && n == nil {
185185
utils.Logger.Debug(fmt.Sprintf("fail to load conf: %v", err))
186186
return nil
187187
}
@@ -192,7 +192,6 @@ func cmdDel(args *skel.CmdArgs) error {
192192
err = ipam.ExecDel(n.IPAM.Type, injectedStdIn)
193193
if err != nil {
194194
utils.Logger.Debug(fmt.Sprintf("Failed ipam.ExecDel %s: %v", err, string(injectedStdIn)))
195-
return nil
196195
}
197196
}
198197

@@ -201,14 +200,14 @@ func cmdDel(args *skel.CmdArgs) error {
201200
if n.NetConf.RawPrevResult != nil {
202201
if err = version.ParsePrevResult(&n.NetConf); err != nil {
203202
utils.Logger.Debug(fmt.Sprintf("could not parse prevResult: %v", err))
204-
return nil
205-
}
206-
result, err = current.NewResultFromResult(n.NetConf.PrevResult)
207-
if err != nil {
208-
utils.Logger.Debug(fmt.Sprintf("could not convert result to current version: %v", err))
209-
return nil
203+
} else {
204+
result, err = current.NewResultFromResult(n.NetConf.PrevResult)
205+
if err != nil {
206+
utils.Logger.Debug(fmt.Sprintf("could not convert result to current version: %v", err))
207+
}
210208
}
211-
} else {
209+
}
210+
if result == nil {
212211
result = &current.Result{CNIVersion: current.ImplementedSpecVersion}
213212
}
214213

@@ -224,7 +223,6 @@ func cmdDel(args *skel.CmdArgs) error {
224223
}
225224
if err != nil {
226225
utils.Logger.Debug(fmt.Sprintf("Fail loading %v: %v", string(args.StdinData), err))
227-
return nil
228226
}
229227
if len(confBytesArray) == 0 {
230228
utils.Logger.Debug(fmt.Sprintf("zero config on cmdDel: %v (%d)", string(args.StdinData), len(n.Masters)))
@@ -237,7 +235,6 @@ func cmdDel(args *skel.CmdArgs) error {
237235
_, err := execPlugin(deviceType, command, confBytes, args, ifName, false)
238236
if err != nil {
239237
utils.Logger.Debug(fmt.Sprintf("Fail execPlugin %v: %v", string(confBytes), err))
240-
return nil
241238
}
242239
}
243240
return nil
@@ -249,7 +246,7 @@ func cmdCheck(args *skel.CmdArgs) error {
249246
}
250247

251248
n, deviceType, err := loadConf(args)
252-
if err != nil {
249+
if err != nil && n == nil {
253250
utils.Logger.Debug(fmt.Sprintf("fail to load conf: %v", err))
254251
return nil
255252
}
@@ -259,14 +256,14 @@ func cmdCheck(args *skel.CmdArgs) error {
259256
if n.NetConf.RawPrevResult != nil {
260257
if err = version.ParsePrevResult(&n.NetConf); err != nil {
261258
utils.Logger.Debug(fmt.Sprintf("could not parse prevResult: %v", err))
262-
return nil
263-
}
264-
result, err = current.NewResultFromResult(n.NetConf.PrevResult)
265-
if err != nil {
266-
utils.Logger.Debug(fmt.Sprintf("could not convert result to current version: %v", err))
267-
return nil
259+
} else {
260+
result, err = current.NewResultFromResult(n.NetConf.PrevResult)
261+
if err != nil {
262+
utils.Logger.Debug(fmt.Sprintf("could not convert result to current version: %v", err))
263+
}
268264
}
269-
} else {
265+
}
266+
if result == nil {
270267
result = &current.Result{CNIVersion: current.ImplementedSpecVersion}
271268
}
272269

@@ -282,7 +279,6 @@ func cmdCheck(args *skel.CmdArgs) error {
282279
}
283280
if err != nil {
284281
utils.Logger.Debug(fmt.Sprintf("Fail loading %v: %v", string(args.StdinData), err))
285-
return nil
286282
}
287283
if len(confBytesArray) == 0 {
288284
utils.Logger.Debug(fmt.Sprintf("zero config on cmdCheck: %v (%d)", string(args.StdinData), len(n.Masters)))
@@ -295,7 +291,6 @@ func cmdCheck(args *skel.CmdArgs) error {
295291
_, err := execPlugin(deviceType, command, confBytes, args, ifName, false)
296292
if err != nil {
297293
utils.Logger.Debug(fmt.Sprintf("Fail execPlugin %v: %v", string(confBytes), err))
298-
return nil
299294
}
300295
}
301296
return nil

0 commit comments

Comments
 (0)