Pass status along ipam update
Signed-off-by: Lionel Jouin <lionel.jouin@est.tech>
This commit is contained in:

committed by
Casey Callendrello

parent
a4fc6f93c7
commit
fec2d62676
@ -551,11 +551,11 @@ func getLink(devname, hwaddr, kernelpath, pciaddr string, auxDev string) (netlin
|
||||
|
||||
func main() {
|
||||
skel.PluginMainFuncs(skel.CNIFuncs{
|
||||
Add: cmdAdd,
|
||||
Check: cmdCheck,
|
||||
Del: cmdDel,
|
||||
Add: cmdAdd,
|
||||
Check: cmdCheck,
|
||||
Del: cmdDel,
|
||||
Status: cmdStatus,
|
||||
/* FIXME GC */
|
||||
/* FIXME Status */
|
||||
}, version.All, bv.BuildString("host-device"))
|
||||
}
|
||||
|
||||
@ -663,3 +663,20 @@ func validateCniContainerInterface(intf current.Interface) error {
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func cmdStatus(args *skel.CmdArgs) error {
|
||||
conf := NetConf{}
|
||||
if err := json.Unmarshal(args.StdinData, &conf); err != nil {
|
||||
return fmt.Errorf("failed to load netconf: %w", err)
|
||||
}
|
||||
|
||||
if conf.IPAM.Type != "" {
|
||||
if err := ipam.ExecStatus(conf.IPAM.Type, args.StdinData); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Check if host device exists.
|
||||
|
||||
return nil
|
||||
}
|
||||
|
@ -231,7 +231,7 @@ type (
|
||||
|
||||
func newTesterByVersion(version string) tester {
|
||||
switch {
|
||||
case strings.HasPrefix(version, "1.0."):
|
||||
case strings.HasPrefix(version, "1."):
|
||||
return &testerV10x{}
|
||||
case strings.HasPrefix(version, "0.4."):
|
||||
return &testerV04x{}
|
||||
@ -362,6 +362,15 @@ var _ = Describe("base functionality", func() {
|
||||
"type": "host-device",
|
||||
"device": %q
|
||||
}`, ver, ifname)
|
||||
|
||||
// if v1.1 or greater, call CmdStatus
|
||||
if testutils.SpecVersionHasSTATUS(ver) {
|
||||
err := testutils.CmdStatus(func() error {
|
||||
return cmdStatus(&skel.CmdArgs{StdinData: []byte(conf)})
|
||||
})
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
}
|
||||
|
||||
args := &skel.CmdArgs{
|
||||
ContainerID: "dummy",
|
||||
Netns: targetNS.Path(),
|
||||
|
Reference in New Issue
Block a user