@@ -131,19 +131,23 @@ func getCniPluginConfig(netInfo *danmtypes.DanmNet, ipamOptions danmtypes.IpamCo
131
131
func execCniPlugin (cniType string , netInfo * danmtypes.DanmNet , rawConfig []byte , ep * danmtypes.DanmEp ) (types.Result ,error ) {
132
132
cniPath , cniArgs , err := getExecCniParams (cniType , netInfo , ep )
133
133
if err != nil {
134
- return nil , err
134
+ return nil , errors . New ( "exec CNI params couldn't be gathered:" + err . Error ())
135
135
}
136
136
exec := invoke.RawExec {Stderr : os .Stderr }
137
137
rawResult , err := exec .ExecPlugin (cniPath , rawConfig , cniArgs )
138
138
if err != nil {
139
- return nil , err
139
+ return nil , errors . New ( "OS exec call failed:" + err . Error ())
140
140
}
141
141
versionDecoder := & version.ConfigDecoder {}
142
- confVersion , err := versionDecoder .Decode (rawConfig )
143
- if err != nil {
144
- return nil , err
142
+ confVersion , err := versionDecoder .Decode (rawConfig )
143
+ if err != nil || rawResult == nil {
144
+ return & current.Result {}, nil
145
+ }
146
+ convertedResult , err := version .NewResult (confVersion , rawResult )
147
+ if err != nil || convertedResult == nil {
148
+ return & current.Result {}, nil
145
149
}
146
- return version . NewResult ( confVersion , rawResult )
150
+ return convertedResult , nil
147
151
}
148
152
149
153
func getExecCniParams (cniType string , netInfo * danmtypes.DanmNet , ep * danmtypes.DanmEp ) (string ,[]string ,error ) {
@@ -183,7 +187,7 @@ func DelegateInterfaceDelete(danmClient danmclientset.Interface, netInfo *danmty
183
187
return err
184
188
}
185
189
cniType := netInfo .Spec .NetworkType
186
- err = invoke . DelegateDel (cniType , rawConfig )
190
+ _ , err = execCniPlugin (cniType , netInfo , rawConfig , ep )
187
191
if err != nil {
188
192
freeDelegatedIps (danmClient , netInfo , ep .Spec .Iface .Address , ep .Spec .Iface .AddressIPv6 )
189
193
return errors .New ("Error delegating DEL to CNI plugin:" + cniType + " because:" + err .Error ())
0 commit comments