move CDI calls to the linux-only code

Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
This commit is contained in:
Ed Bartosh
2022-03-14 18:27:17 +02:00
parent c9b4ccf83e
commit ff5c55847a
5 changed files with 42 additions and 43 deletions

View File

@@ -239,10 +239,6 @@ func (c *criService) CreateContainer(ctx context.Context, r *runtime.CreateConta
return nil, fmt.Errorf("failed to get runtime options: %w", err)
}
if c.config.EnableCDI {
opts = append(opts, containerd.WithCDI(spec, config.Annotations, c.config.CDISpecDirs))
}
opts = append(opts,
containerd.WithSpec(spec, specOpts...),
containerd.WithRuntime(sandboxInfo.Runtime.Name, runtimeOptions),

View File

@@ -386,6 +386,9 @@ func (c *criService) containerSpecOpts(config *runtime.ContainerConfig, imageCon
if seccompSpecOpts != nil {
specOpts = append(specOpts, seccompSpecOpts)
}
if c.config.EnableCDI {
specOpts = append(specOpts, oci.WithCDI(config.Annotations, c.config.CDISpecDirs))
}
return specOpts, nil
}

View File

@@ -28,7 +28,6 @@ import (
"testing"
"github.com/container-orchestrated-devices/container-device-interface/pkg/cdi"
"github.com/containerd/containerd"
"github.com/containerd/containerd/containers"
"github.com/containerd/containerd/contrib/apparmor"
"github.com/containerd/containerd/contrib/seccomp"
@@ -1619,8 +1618,8 @@ containerEdits:
}
require.NoError(t, err)
injectFun := containerd.WithCDI(spec, test.annotations, []string{cdiDir})
err = injectFun(nil, nil, nil)
injectFun := oci.WithCDI(test.annotations, []string{cdiDir})
err = injectFun(nil, nil, nil, spec)
assert.Equal(t, test.expectError, err != nil)
if err != nil {