mirror of
https://github.com/aljazceru/kata-containers.git
synced 2025-12-24 01:24:26 +01:00
Merge pull request #4467 from egernst/device-pkg
device package cleanup/refactor
This commit is contained in:
@@ -11,10 +11,10 @@ runtimedir=$cidir/../src/runtime
|
|||||||
|
|
||||||
build_working_packages() {
|
build_working_packages() {
|
||||||
# working packages:
|
# working packages:
|
||||||
device_api=$runtimedir/virtcontainers/device/api
|
device_api=$runtimedir/pkg/device/api
|
||||||
device_config=$runtimedir/virtcontainers/device/config
|
device_config=$runtimedir/pkg/device/config
|
||||||
device_drivers=$runtimedir/virtcontainers/device/drivers
|
device_drivers=$runtimedir/pkg/device/drivers
|
||||||
device_manager=$runtimedir/virtcontainers/device/manager
|
device_manager=$runtimedir/pkg/device/manager
|
||||||
rc_pkg_dir=$runtimedir/pkg/resourcecontrol/
|
rc_pkg_dir=$runtimedir/pkg/resourcecontrol/
|
||||||
utils_pkg_dir=$runtimedir/virtcontainers/utils
|
utils_pkg_dir=$runtimedir/virtcontainers/utils
|
||||||
|
|
||||||
|
|||||||
@@ -9,8 +9,7 @@ package api
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
persistapi "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/api"
|
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -78,10 +77,10 @@ type Device interface {
|
|||||||
Dereference() uint
|
Dereference() uint
|
||||||
|
|
||||||
// Save converts Device to DeviceState
|
// Save converts Device to DeviceState
|
||||||
Save() persistapi.DeviceState
|
Save() config.DeviceState
|
||||||
|
|
||||||
// Load loads DeviceState and converts it to specific device
|
// Load loads DeviceState and converts it to specific device
|
||||||
Load(persistapi.DeviceState)
|
Load(config.DeviceState)
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeviceManager can be used to create a new device, this can be used as single
|
// DeviceManager can be used to create a new device, this can be used as single
|
||||||
@@ -94,5 +93,5 @@ type DeviceManager interface {
|
|||||||
IsDeviceAttached(string) bool
|
IsDeviceAttached(string) bool
|
||||||
GetDeviceByID(string) Device
|
GetDeviceByID(string) Device
|
||||||
GetAllDevices() []Device
|
GetAllDevices() []Device
|
||||||
LoadDevices([]persistapi.DeviceState)
|
LoadDevices([]config.DeviceState)
|
||||||
}
|
}
|
||||||
@@ -8,7 +8,7 @@ package api
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
// MockDeviceReceiver is a fake DeviceReceiver API implementation only used for test
|
// MockDeviceReceiver is a fake DeviceReceiver API implementation only used for test
|
||||||
@@ -441,3 +441,45 @@ func getVhostUserDevName(dirname string, majorNum, minorNum uint32) (string, err
|
|||||||
return "", fmt.Errorf("Required device node (%d:%d) doesn't exist under directory %s",
|
return "", fmt.Errorf("Required device node (%d:%d) doesn't exist under directory %s",
|
||||||
majorNum, minorNum, dirname)
|
majorNum, minorNum, dirname)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeviceState is a structure which represents host devices
|
||||||
|
// plugged to a hypervisor, one Device can be shared among containers in POD
|
||||||
|
// Refs: virtcontainers/device/drivers/generic.go:GenericDevice
|
||||||
|
type DeviceState struct {
|
||||||
|
// DriverOptions is specific options for each device driver
|
||||||
|
// for example, for BlockDevice, we can set DriverOptions["block-driver"]="virtio-blk"
|
||||||
|
DriverOptions map[string]string
|
||||||
|
|
||||||
|
// VhostUserDeviceAttrs is specific for vhost-user device driver
|
||||||
|
VhostUserDev *VhostUserDeviceAttrs `json:",omitempty"`
|
||||||
|
|
||||||
|
// BlockDrive is specific for block device driver
|
||||||
|
BlockDrive *BlockDrive `json:",omitempty"`
|
||||||
|
|
||||||
|
ID string
|
||||||
|
|
||||||
|
// Type is used to specify driver type
|
||||||
|
// Refs: virtcontainers/device/config/config.go:DeviceType
|
||||||
|
Type string
|
||||||
|
|
||||||
|
// Type of device: c, b, u or p
|
||||||
|
// c , u - character(unbuffered)
|
||||||
|
// p - FIFO
|
||||||
|
// b - block(buffered) special file
|
||||||
|
// More info in mknod(1).
|
||||||
|
DevType string
|
||||||
|
|
||||||
|
// VFIODev is specific VFIO device driver
|
||||||
|
VFIODevs []*VFIODev `json:",omitempty"`
|
||||||
|
|
||||||
|
RefCount uint
|
||||||
|
AttachCount uint
|
||||||
|
|
||||||
|
// Major, minor numbers for device.
|
||||||
|
Major int64
|
||||||
|
Minor int64
|
||||||
|
|
||||||
|
// ColdPlug specifies whether the device must be cold plugged (true)
|
||||||
|
// or hot plugged (false).
|
||||||
|
ColdPlug bool
|
||||||
|
}
|
||||||
@@ -10,9 +10,8 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/api"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/api"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
persistapi "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/api"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -159,51 +158,21 @@ func (device *BlockDevice) GetDeviceInfo() interface{} {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Save converts Device to DeviceState
|
// Save converts Device to DeviceState
|
||||||
func (device *BlockDevice) Save() persistapi.DeviceState {
|
func (device *BlockDevice) Save() config.DeviceState {
|
||||||
ds := device.GenericDevice.Save()
|
ds := device.GenericDevice.Save()
|
||||||
ds.Type = string(device.DeviceType())
|
ds.Type = string(device.DeviceType())
|
||||||
|
|
||||||
drive := device.BlockDrive
|
ds.BlockDrive = device.BlockDrive
|
||||||
if drive != nil {
|
|
||||||
ds.BlockDrive = &persistapi.BlockDrive{
|
|
||||||
File: drive.File,
|
|
||||||
Format: drive.Format,
|
|
||||||
ID: drive.ID,
|
|
||||||
Index: drive.Index,
|
|
||||||
MmioAddr: drive.MmioAddr,
|
|
||||||
PCIPath: drive.PCIPath,
|
|
||||||
SCSIAddr: drive.SCSIAddr,
|
|
||||||
NvdimmID: drive.NvdimmID,
|
|
||||||
VirtPath: drive.VirtPath,
|
|
||||||
DevNo: drive.DevNo,
|
|
||||||
Pmem: drive.Pmem,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return ds
|
return ds
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load loads DeviceState and converts it to specific device
|
// Load loads DeviceState and converts it to specific device
|
||||||
func (device *BlockDevice) Load(ds persistapi.DeviceState) {
|
func (device *BlockDevice) Load(ds config.DeviceState) {
|
||||||
device.GenericDevice = &GenericDevice{}
|
device.GenericDevice = &GenericDevice{}
|
||||||
device.GenericDevice.Load(ds)
|
device.GenericDevice.Load(ds)
|
||||||
|
|
||||||
bd := ds.BlockDrive
|
device.BlockDrive = ds.BlockDrive
|
||||||
if bd == nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
device.BlockDrive = &config.BlockDrive{
|
|
||||||
File: bd.File,
|
|
||||||
Format: bd.Format,
|
|
||||||
ID: bd.ID,
|
|
||||||
Index: bd.Index,
|
|
||||||
MmioAddr: bd.MmioAddr,
|
|
||||||
PCIPath: bd.PCIPath,
|
|
||||||
SCSIAddr: bd.SCSIAddr,
|
|
||||||
NvdimmID: bd.NvdimmID,
|
|
||||||
VirtPath: bd.VirtPath,
|
|
||||||
DevNo: bd.DevNo,
|
|
||||||
Pmem: bd.Pmem,
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// It should implement GetAttachCount() and DeviceID() as api.Device implementation
|
// It should implement GetAttachCount() and DeviceID() as api.Device implementation
|
||||||
@@ -10,9 +10,8 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/api"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/api"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
persistapi "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/api"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// GenericDevice refers to a device that is neither a VFIO device, block device or VhostUserDevice.
|
// GenericDevice refers to a device that is neither a VFIO device, block device or VhostUserDevice.
|
||||||
@@ -128,8 +127,8 @@ func (device *GenericDevice) bumpAttachCount(attach bool) (skip bool, err error)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Save converts Device to DeviceState
|
// Save converts Device to DeviceState
|
||||||
func (device *GenericDevice) Save() persistapi.DeviceState {
|
func (device *GenericDevice) Save() config.DeviceState {
|
||||||
dss := persistapi.DeviceState{
|
dss := config.DeviceState{
|
||||||
ID: device.ID,
|
ID: device.ID,
|
||||||
Type: string(device.DeviceType()),
|
Type: string(device.DeviceType()),
|
||||||
RefCount: device.RefCount,
|
RefCount: device.RefCount,
|
||||||
@@ -148,7 +147,7 @@ func (device *GenericDevice) Save() persistapi.DeviceState {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Load loads DeviceState and converts it to specific device
|
// Load loads DeviceState and converts it to specific device
|
||||||
func (device *GenericDevice) Load(ds persistapi.DeviceState) {
|
func (device *GenericDevice) Load(ds config.DeviceState) {
|
||||||
device.ID = ds.ID
|
device.ID = ds.ID
|
||||||
device.RefCount = ds.RefCount
|
device.RefCount = ds.RefCount
|
||||||
device.AttachCount = ds.AttachCount
|
device.AttachCount = ds.AttachCount
|
||||||
@@ -8,7 +8,7 @@ package drivers
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -12,8 +12,8 @@ import (
|
|||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/api"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/api"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -16,9 +16,8 @@ import (
|
|||||||
|
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/api"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/api"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
persistapi "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/api"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -174,26 +173,21 @@ func (device *VFIODevice) GetDeviceInfo() interface{} {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Save converts Device to DeviceState
|
// Save converts Device to DeviceState
|
||||||
func (device *VFIODevice) Save() persistapi.DeviceState {
|
func (device *VFIODevice) Save() config.DeviceState {
|
||||||
ds := device.GenericDevice.Save()
|
ds := device.GenericDevice.Save()
|
||||||
ds.Type = string(device.DeviceType())
|
ds.Type = string(device.DeviceType())
|
||||||
|
|
||||||
devs := device.VfioDevs
|
devs := device.VfioDevs
|
||||||
for _, dev := range devs {
|
for _, dev := range devs {
|
||||||
if dev != nil {
|
if dev != nil {
|
||||||
ds.VFIODevs = append(ds.VFIODevs, &persistapi.VFIODev{
|
ds.VFIODevs = append(ds.VFIODevs, dev)
|
||||||
ID: dev.ID,
|
|
||||||
Type: uint32(dev.Type),
|
|
||||||
BDF: dev.BDF,
|
|
||||||
SysfsDev: dev.SysfsDev,
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ds
|
return ds
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load loads DeviceState and converts it to specific device
|
// Load loads DeviceState and converts it to specific device
|
||||||
func (device *VFIODevice) Load(ds persistapi.DeviceState) {
|
func (device *VFIODevice) Load(ds config.DeviceState) {
|
||||||
device.GenericDevice = &GenericDevice{}
|
device.GenericDevice = &GenericDevice{}
|
||||||
device.GenericDevice.Load(ds)
|
device.GenericDevice.Load(ds)
|
||||||
|
|
||||||
@@ -9,7 +9,7 @@ package drivers
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -9,9 +9,8 @@ package drivers
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/api"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/api"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
persistapi "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/api"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
)
|
)
|
||||||
@@ -156,40 +155,19 @@ func (device *VhostUserBlkDevice) GetDeviceInfo() interface{} {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Save converts Device to DeviceState
|
// Save converts Device to DeviceState
|
||||||
func (device *VhostUserBlkDevice) Save() persistapi.DeviceState {
|
func (device *VhostUserBlkDevice) Save() config.DeviceState {
|
||||||
ds := device.GenericDevice.Save()
|
ds := device.GenericDevice.Save()
|
||||||
ds.Type = string(device.DeviceType())
|
ds.Type = string(device.DeviceType())
|
||||||
|
ds.VhostUserDev = device.VhostUserDeviceAttrs
|
||||||
|
|
||||||
vAttr := device.VhostUserDeviceAttrs
|
|
||||||
if vAttr != nil {
|
|
||||||
ds.VhostUserDev = &persistapi.VhostUserDeviceAttrs{
|
|
||||||
DevID: vAttr.DevID,
|
|
||||||
SocketPath: vAttr.SocketPath,
|
|
||||||
Type: string(vAttr.Type),
|
|
||||||
PCIPath: vAttr.PCIPath,
|
|
||||||
Index: vAttr.Index,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return ds
|
return ds
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load loads DeviceState and converts it to specific device
|
// Load loads DeviceState and converts it to specific device
|
||||||
func (device *VhostUserBlkDevice) Load(ds persistapi.DeviceState) {
|
func (device *VhostUserBlkDevice) Load(ds config.DeviceState) {
|
||||||
device.GenericDevice = &GenericDevice{}
|
device.GenericDevice = &GenericDevice{}
|
||||||
device.GenericDevice.Load(ds)
|
device.GenericDevice.Load(ds)
|
||||||
|
device.VhostUserDeviceAttrs = ds.VhostUserDev
|
||||||
dev := ds.VhostUserDev
|
|
||||||
if dev == nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
device.VhostUserDeviceAttrs = &config.VhostUserDeviceAttrs{
|
|
||||||
DevID: dev.DevID,
|
|
||||||
SocketPath: dev.SocketPath,
|
|
||||||
Type: config.DeviceType(dev.Type),
|
|
||||||
PCIPath: dev.PCIPath,
|
|
||||||
Index: dev.Index,
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// It should implement GetAttachCount() and DeviceID() as api.Device implementation
|
// It should implement GetAttachCount() and DeviceID() as api.Device implementation
|
||||||
@@ -9,8 +9,8 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"encoding/hex"
|
"encoding/hex"
|
||||||
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/api"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/api"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -10,16 +10,15 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"encoding/hex"
|
"encoding/hex"
|
||||||
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/api"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/api"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
persistapi "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/api"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
// VhostUserNetDevice is a network vhost-user based device
|
// VhostUserNetDevice is a network vhost-user based device
|
||||||
type VhostUserNetDevice struct {
|
type VhostUserNetDevice struct {
|
||||||
*GenericDevice
|
*GenericDevice
|
||||||
config.VhostUserDeviceAttrs
|
*config.VhostUserDeviceAttrs
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -71,38 +70,25 @@ func (device *VhostUserNetDevice) DeviceType() config.DeviceType {
|
|||||||
// GetDeviceInfo returns device information used for creating
|
// GetDeviceInfo returns device information used for creating
|
||||||
func (device *VhostUserNetDevice) GetDeviceInfo() interface{} {
|
func (device *VhostUserNetDevice) GetDeviceInfo() interface{} {
|
||||||
device.Type = device.DeviceType()
|
device.Type = device.DeviceType()
|
||||||
return &device.VhostUserDeviceAttrs
|
return device.VhostUserDeviceAttrs
|
||||||
}
|
}
|
||||||
|
|
||||||
// Save converts Device to DeviceState
|
// Save converts Device to DeviceState
|
||||||
func (device *VhostUserNetDevice) Save() persistapi.DeviceState {
|
func (device *VhostUserNetDevice) Save() config.DeviceState {
|
||||||
ds := device.GenericDevice.Save()
|
ds := device.GenericDevice.Save()
|
||||||
ds.Type = string(device.DeviceType())
|
ds.Type = string(device.DeviceType())
|
||||||
ds.VhostUserDev = &persistapi.VhostUserDeviceAttrs{
|
|
||||||
DevID: device.DevID,
|
ds.VhostUserDev = device.VhostUserDeviceAttrs
|
||||||
SocketPath: device.SocketPath,
|
|
||||||
Type: string(device.Type),
|
|
||||||
MacAddress: device.MacAddress,
|
|
||||||
}
|
|
||||||
return ds
|
return ds
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load loads DeviceState and converts it to specific device
|
// Load loads DeviceState and converts it to specific device
|
||||||
func (device *VhostUserNetDevice) Load(ds persistapi.DeviceState) {
|
func (device *VhostUserNetDevice) Load(ds config.DeviceState) {
|
||||||
device.GenericDevice = &GenericDevice{}
|
device.GenericDevice = &GenericDevice{}
|
||||||
device.GenericDevice.Load(ds)
|
device.GenericDevice.Load(ds)
|
||||||
|
|
||||||
dev := ds.VhostUserDev
|
device.VhostUserDeviceAttrs = ds.VhostUserDev
|
||||||
if dev == nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
device.VhostUserDeviceAttrs = config.VhostUserDeviceAttrs{
|
|
||||||
DevID: dev.DevID,
|
|
||||||
SocketPath: dev.SocketPath,
|
|
||||||
Type: config.DeviceType(dev.Type),
|
|
||||||
MacAddress: dev.MacAddress,
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// It should implement GetAttachCount() and DeviceID() as api.Device implementation
|
// It should implement GetAttachCount() and DeviceID() as api.Device implementation
|
||||||
@@ -10,16 +10,15 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"encoding/hex"
|
"encoding/hex"
|
||||||
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/api"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/api"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
persistapi "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/api"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
// VhostUserSCSIDevice is a SCSI vhost-user based device
|
// VhostUserSCSIDevice is a SCSI vhost-user based device
|
||||||
type VhostUserSCSIDevice struct {
|
type VhostUserSCSIDevice struct {
|
||||||
*GenericDevice
|
*GenericDevice
|
||||||
config.VhostUserDeviceAttrs
|
*config.VhostUserDeviceAttrs
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -71,38 +70,24 @@ func (device *VhostUserSCSIDevice) DeviceType() config.DeviceType {
|
|||||||
// GetDeviceInfo returns device information used for creating
|
// GetDeviceInfo returns device information used for creating
|
||||||
func (device *VhostUserSCSIDevice) GetDeviceInfo() interface{} {
|
func (device *VhostUserSCSIDevice) GetDeviceInfo() interface{} {
|
||||||
device.Type = device.DeviceType()
|
device.Type = device.DeviceType()
|
||||||
return &device.VhostUserDeviceAttrs
|
return device.VhostUserDeviceAttrs
|
||||||
}
|
}
|
||||||
|
|
||||||
// Save converts Device to DeviceState
|
// Save converts Device to DeviceState
|
||||||
func (device *VhostUserSCSIDevice) Save() persistapi.DeviceState {
|
func (device *VhostUserSCSIDevice) Save() config.DeviceState {
|
||||||
ds := device.GenericDevice.Save()
|
ds := device.GenericDevice.Save()
|
||||||
ds.Type = string(device.DeviceType())
|
ds.Type = string(device.DeviceType())
|
||||||
ds.VhostUserDev = &persistapi.VhostUserDeviceAttrs{
|
ds.VhostUserDev = device.VhostUserDeviceAttrs
|
||||||
DevID: device.DevID,
|
|
||||||
SocketPath: device.SocketPath,
|
|
||||||
Type: string(device.Type),
|
|
||||||
MacAddress: device.MacAddress,
|
|
||||||
}
|
|
||||||
return ds
|
return ds
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load loads DeviceState and converts it to specific device
|
// Load loads DeviceState and converts it to specific device
|
||||||
func (device *VhostUserSCSIDevice) Load(ds persistapi.DeviceState) {
|
func (device *VhostUserSCSIDevice) Load(ds config.DeviceState) {
|
||||||
device.GenericDevice = &GenericDevice{}
|
device.GenericDevice = &GenericDevice{}
|
||||||
device.GenericDevice.Load(ds)
|
device.GenericDevice.Load(ds)
|
||||||
|
|
||||||
dev := ds.VhostUserDev
|
device.VhostUserDeviceAttrs = ds.VhostUserDev
|
||||||
if dev == nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
device.VhostUserDeviceAttrs = config.VhostUserDeviceAttrs{
|
|
||||||
DevID: dev.DevID,
|
|
||||||
SocketPath: dev.SocketPath,
|
|
||||||
Type: config.DeviceType(dev.Type),
|
|
||||||
MacAddress: dev.MacAddress,
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// It should implement GetAttachCount() and DeviceID() as api.Device implementation
|
// It should implement GetAttachCount() and DeviceID() as api.Device implementation
|
||||||
@@ -14,10 +14,9 @@ import (
|
|||||||
|
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/api"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/api"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/drivers"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/drivers"
|
||||||
persistapi "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/api"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -242,7 +241,7 @@ func (dm *deviceManager) IsDeviceAttached(id string) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// LoadDevices load devices from persist state
|
// LoadDevices load devices from persist state
|
||||||
func (dm *deviceManager) LoadDevices(devStates []persistapi.DeviceState) {
|
func (dm *deviceManager) LoadDevices(devStates []config.DeviceState) {
|
||||||
dm.Lock()
|
dm.Lock()
|
||||||
defer dm.Unlock()
|
defer dm.Unlock()
|
||||||
|
|
||||||
@@ -13,10 +13,10 @@ import (
|
|||||||
"path/filepath"
|
"path/filepath"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/api"
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/drivers"
|
||||||
ktu "github.com/kata-containers/kata-containers/src/runtime/pkg/katatestutils"
|
ktu "github.com/kata-containers/kata-containers/src/runtime/pkg/katatestutils"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/api"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/drivers"
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
|
||||||
"golang.org/x/sys/unix"
|
"golang.org/x/sys/unix"
|
||||||
@@ -13,9 +13,9 @@ import (
|
|||||||
"strconv"
|
"strconv"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/api"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/api"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/drivers"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/drivers"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -10,7 +10,7 @@ import (
|
|||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@@ -9,7 +9,7 @@ package manager
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -16,12 +16,12 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/BurntSushi/toml"
|
"github.com/BurntSushi/toml"
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/pkg/govmm"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/govmm"
|
||||||
govmmQemu "github.com/kata-containers/kata-containers/src/runtime/pkg/govmm/qemu"
|
govmmQemu "github.com/kata-containers/kata-containers/src/runtime/pkg/govmm/qemu"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/pkg/katautils/katatrace"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/katautils/katatrace"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/pkg/oci"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/oci"
|
||||||
vc "github.com/kata-containers/kata-containers/src/runtime/virtcontainers"
|
vc "github.com/kata-containers/kata-containers/src/runtime/virtcontainers"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
|
||||||
exp "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/experimental"
|
exp "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/experimental"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ import (
|
|||||||
"github.com/kata-containers/kata-containers/src/runtime/pkg/govmm"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/govmm"
|
||||||
vc "github.com/kata-containers/kata-containers/src/runtime/virtcontainers"
|
vc "github.com/kata-containers/kata-containers/src/runtime/virtcontainers"
|
||||||
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
exp "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/experimental"
|
exp "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/experimental"
|
||||||
vcAnnotations "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/annotations"
|
vcAnnotations "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/annotations"
|
||||||
dockershimAnnotations "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/annotations/dockershim"
|
dockershimAnnotations "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/annotations/dockershim"
|
||||||
|
|||||||
@@ -21,8 +21,8 @@ import (
|
|||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"golang.org/x/sys/unix"
|
"golang.org/x/sys/unix"
|
||||||
|
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
vc "github.com/kata-containers/kata-containers/src/runtime/virtcontainers"
|
vc "github.com/kata-containers/kata-containers/src/runtime/virtcontainers"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
|
||||||
vcAnnotations "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/annotations"
|
vcAnnotations "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/annotations"
|
||||||
dockerAnnotations "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/annotations/dockershim"
|
dockerAnnotations "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/annotations/dockershim"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/compatoci"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/compatoci"
|
||||||
|
|||||||
@@ -22,10 +22,10 @@ import (
|
|||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
|
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
hv "github.com/kata-containers/kata-containers/src/runtime/pkg/hypervisors"
|
hv "github.com/kata-containers/kata-containers/src/runtime/pkg/hypervisors"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/pkg/katautils/katatrace"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/katautils/katatrace"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/pkg/uuid"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/uuid"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
|
||||||
persistapi "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/api"
|
persistapi "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/api"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ import (
|
|||||||
"os/exec"
|
"os/exec"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import (
|
|||||||
"path/filepath"
|
"path/filepath"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/fs"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/fs"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import (
|
|||||||
"path/filepath"
|
"path/filepath"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
|||||||
@@ -9,10 +9,10 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"runtime"
|
"runtime"
|
||||||
|
|
||||||
|
deviceApi "github.com/kata-containers/kata-containers/src/runtime/pkg/device/api"
|
||||||
|
deviceConfig "github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/pkg/katautils/katatrace"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/katautils/katatrace"
|
||||||
resCtrl "github.com/kata-containers/kata-containers/src/runtime/pkg/resourcecontrol"
|
resCtrl "github.com/kata-containers/kata-containers/src/runtime/pkg/resourcecontrol"
|
||||||
deviceApi "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/api"
|
|
||||||
deviceConfig "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/compatoci"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/compatoci"
|
||||||
vcTypes "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
vcTypes "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
|
|||||||
@@ -32,9 +32,9 @@ import (
|
|||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
log "github.com/sirupsen/logrus"
|
log "github.com/sirupsen/logrus"
|
||||||
|
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
hv "github.com/kata-containers/kata-containers/src/runtime/pkg/hypervisors"
|
hv "github.com/kata-containers/kata-containers/src/runtime/pkg/hypervisors"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/pkg/katautils/katatrace"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/katautils/katatrace"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist"
|
||||||
chclient "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/cloud-hypervisor/client"
|
chclient "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/cloud-hypervisor/client"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
||||||
|
|||||||
@@ -16,10 +16,10 @@ import (
|
|||||||
"syscall"
|
"syscall"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/manager"
|
||||||
volume "github.com/kata-containers/kata-containers/src/runtime/pkg/direct-volume"
|
volume "github.com/kata-containers/kata-containers/src/runtime/pkg/direct-volume"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/pkg/katautils/katatrace"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/katautils/katatrace"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/manager"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/agent/protocols/grpc"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/agent/protocols/grpc"
|
||||||
vcAnnotations "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/annotations"
|
vcAnnotations "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/annotations"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
||||||
|
|||||||
@@ -14,11 +14,11 @@ import (
|
|||||||
"syscall"
|
"syscall"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/api"
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/drivers"
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/manager"
|
||||||
ktu "github.com/kata-containers/kata-containers/src/runtime/pkg/katatestutils"
|
ktu "github.com/kata-containers/kata-containers/src/runtime/pkg/katatestutils"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/api"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/drivers"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/manager"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
|||||||
@@ -24,9 +24,9 @@ import (
|
|||||||
"syscall"
|
"syscall"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
hv "github.com/kata-containers/kata-containers/src/runtime/pkg/hypervisors"
|
hv "github.com/kata-containers/kata-containers/src/runtime/pkg/hypervisors"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/pkg/katautils/katatrace"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/katautils/katatrace"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/fs"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/fs"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/firecracker/client"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/firecracker/client"
|
||||||
models "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/firecracker/client/models"
|
models "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/firecracker/client/models"
|
||||||
|
|||||||
@@ -19,8 +19,8 @@ import (
|
|||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
|
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/pkg/katautils/katatrace"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/katautils/katatrace"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/agent/protocols/grpc"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/agent/protocols/grpc"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -16,9 +16,9 @@ import (
|
|||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
|
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/pkg/govmm"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/govmm"
|
||||||
hv "github.com/kata-containers/kata-containers/src/runtime/pkg/hypervisors"
|
hv "github.com/kata-containers/kata-containers/src/runtime/pkg/hypervisors"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
||||||
|
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ import (
|
|||||||
"io"
|
"io"
|
||||||
"syscall"
|
"syscall"
|
||||||
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/api"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/api"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
pbTypes "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/agent/protocols"
|
pbTypes "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/agent/protocols"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
||||||
specs "github.com/opencontainers/runtime-spec/specs-go"
|
specs "github.com/opencontainers/runtime-spec/specs-go"
|
||||||
|
|||||||
@@ -19,12 +19,12 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/docker/go-units"
|
"github.com/docker/go-units"
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/api"
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
volume "github.com/kata-containers/kata-containers/src/runtime/pkg/direct-volume"
|
volume "github.com/kata-containers/kata-containers/src/runtime/pkg/direct-volume"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/pkg/katautils/katatrace"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/katautils/katatrace"
|
||||||
resCtrl "github.com/kata-containers/kata-containers/src/runtime/pkg/resourcecontrol"
|
resCtrl "github.com/kata-containers/kata-containers/src/runtime/pkg/resourcecontrol"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/pkg/uuid"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/uuid"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/api"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
|
||||||
persistapi "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/api"
|
persistapi "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/api"
|
||||||
pbTypes "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/agent/protocols"
|
pbTypes "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/agent/protocols"
|
||||||
kataclient "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/agent/protocols/client"
|
kataclient "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/agent/protocols/client"
|
||||||
|
|||||||
@@ -23,11 +23,11 @@ import (
|
|||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
|
||||||
"code.cloudfoundry.org/bytefmt"
|
"code.cloudfoundry.org/bytefmt"
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/api"
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/drivers"
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/manager"
|
||||||
volume "github.com/kata-containers/kata-containers/src/runtime/pkg/direct-volume"
|
volume "github.com/kata-containers/kata-containers/src/runtime/pkg/direct-volume"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/api"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/drivers"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/manager"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist"
|
||||||
pbTypes "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/agent/protocols"
|
pbTypes "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/agent/protocols"
|
||||||
pb "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/agent/protocols/grpc"
|
pb "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/agent/protocols/grpc"
|
||||||
|
|||||||
@@ -8,8 +8,9 @@ package virtcontainers
|
|||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/api"
|
||||||
|
devconfig "github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
hv "github.com/kata-containers/kata-containers/src/runtime/pkg/hypervisors"
|
hv "github.com/kata-containers/kata-containers/src/runtime/pkg/hypervisors"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/api"
|
|
||||||
exp "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/experimental"
|
exp "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/experimental"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist"
|
||||||
persistapi "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/api"
|
persistapi "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/api"
|
||||||
@@ -65,7 +66,7 @@ func (s *Sandbox) dumpHypervisor(ss *persistapi.SandboxState) {
|
|||||||
ss.HypervisorState.BlockIndexMap = s.state.BlockIndexMap
|
ss.HypervisorState.BlockIndexMap = s.state.BlockIndexMap
|
||||||
}
|
}
|
||||||
|
|
||||||
func deviceToDeviceState(devices []api.Device) (dss []persistapi.DeviceState) {
|
func deviceToDeviceState(devices []api.Device) (dss []devconfig.DeviceState) {
|
||||||
for _, dev := range devices {
|
for _, dev := range devices {
|
||||||
dss = append(dss, dev.Save())
|
dss = append(dss, dev.Save())
|
||||||
}
|
}
|
||||||
@@ -324,7 +325,7 @@ func (s *Sandbox) loadAgent(as persistapi.AgentState) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Sandbox) loadDevices(devStates []persistapi.DeviceState) {
|
func (s *Sandbox) loadDevices(devStates []devconfig.DeviceState) {
|
||||||
s.devManager.LoadDevices(devStates)
|
s.devManager.LoadDevices(devStates)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,124 +0,0 @@
|
|||||||
// Copyright (c) 2016 Intel Corporation
|
|
||||||
// Copyright (c) 2019 Huawei Corporation
|
|
||||||
//
|
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
|
||||||
//
|
|
||||||
|
|
||||||
package persistapi
|
|
||||||
|
|
||||||
import vcTypes "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
|
||||||
|
|
||||||
// ============= sandbox level resources =============
|
|
||||||
|
|
||||||
// BlockDrive represents a block storage drive which may be used in case the storage
|
|
||||||
// driver has an underlying block storage device.
|
|
||||||
type BlockDrive struct {
|
|
||||||
// File is the path to the disk-image/device which will be used with this drive
|
|
||||||
File string
|
|
||||||
|
|
||||||
// Format of the drive
|
|
||||||
Format string
|
|
||||||
|
|
||||||
// ID is used to identify this drive in the hypervisor options.
|
|
||||||
ID string
|
|
||||||
|
|
||||||
// MmioAddr is used to identify the slot at which the drive is attached (order?).
|
|
||||||
MmioAddr string
|
|
||||||
|
|
||||||
// SCSI Address of the block device, in case the device is attached using SCSI driver
|
|
||||||
// SCSI address is in the format SCSI-Id:LUN
|
|
||||||
SCSIAddr string
|
|
||||||
|
|
||||||
// NvdimmID is the nvdimm id inside the VM
|
|
||||||
NvdimmID string
|
|
||||||
|
|
||||||
// VirtPath at which the device appears inside the VM, outside of the container mount namespace
|
|
||||||
VirtPath string
|
|
||||||
|
|
||||||
// DevNo
|
|
||||||
DevNo string
|
|
||||||
|
|
||||||
// PCIPath is the PCI path used to identify the slot at which the drive is attached.
|
|
||||||
PCIPath vcTypes.PciPath
|
|
||||||
|
|
||||||
// Index assigned to the drive. In case of virtio-scsi, this is used as SCSI LUN index
|
|
||||||
Index int
|
|
||||||
|
|
||||||
// Pmem enabled persistent memory. Use File as backing file
|
|
||||||
// for a nvdimm device in the guest.
|
|
||||||
Pmem bool
|
|
||||||
}
|
|
||||||
|
|
||||||
// VFIODev represents a VFIO drive used for hotplugging
|
|
||||||
type VFIODev struct {
|
|
||||||
// ID is used to identify this drive in the hypervisor options.
|
|
||||||
ID string
|
|
||||||
|
|
||||||
// BDF (Bus:Device.Function) of the PCI address
|
|
||||||
BDF string
|
|
||||||
|
|
||||||
// Sysfsdev of VFIO mediated device
|
|
||||||
SysfsDev string
|
|
||||||
|
|
||||||
// Type of VFIO device
|
|
||||||
Type uint32
|
|
||||||
}
|
|
||||||
|
|
||||||
// VhostUserDeviceAttrs represents data shared by most vhost-user devices
|
|
||||||
type VhostUserDeviceAttrs struct {
|
|
||||||
DevID string
|
|
||||||
SocketPath string
|
|
||||||
Type string
|
|
||||||
|
|
||||||
// MacAddress is only meaningful for vhost user net device
|
|
||||||
MacAddress string
|
|
||||||
|
|
||||||
// PCIPath is the PCI path used to identify the slot at which the drive is attached.
|
|
||||||
// It is only meaningful for vhost user block devices
|
|
||||||
PCIPath vcTypes.PciPath
|
|
||||||
|
|
||||||
// Block index of the device if assigned
|
|
||||||
Index int
|
|
||||||
}
|
|
||||||
|
|
||||||
// DeviceState is sandbox level resource which represents host devices
|
|
||||||
// plugged to hypervisor, one Device can be shared among containers in POD
|
|
||||||
// Refs: virtcontainers/device/drivers/generic.go:GenericDevice
|
|
||||||
type DeviceState struct {
|
|
||||||
// DriverOptions is specific options for each device driver
|
|
||||||
// for example, for BlockDevice, we can set DriverOptions["block-driver"]="virtio-blk"
|
|
||||||
DriverOptions map[string]string
|
|
||||||
|
|
||||||
// VhostUserDeviceAttrs is specific for vhost-user device driver
|
|
||||||
VhostUserDev *VhostUserDeviceAttrs `json:",omitempty"`
|
|
||||||
|
|
||||||
// BlockDrive is specific for block device driver
|
|
||||||
BlockDrive *BlockDrive `json:",omitempty"`
|
|
||||||
|
|
||||||
ID string
|
|
||||||
|
|
||||||
// Type is used to specify driver type
|
|
||||||
// Refs: virtcontainers/device/config/config.go:DeviceType
|
|
||||||
Type string
|
|
||||||
|
|
||||||
// Type of device: c, b, u or p
|
|
||||||
// c , u - character(unbuffered)
|
|
||||||
// p - FIFO
|
|
||||||
// b - block(buffered) special file
|
|
||||||
// More info in mknod(1).
|
|
||||||
DevType string
|
|
||||||
|
|
||||||
// VFIODev is specific VFIO device driver
|
|
||||||
VFIODevs []*VFIODev `json:",omitempty"`
|
|
||||||
|
|
||||||
RefCount uint
|
|
||||||
AttachCount uint
|
|
||||||
|
|
||||||
// Major, minor numbers for device.
|
|
||||||
Major int64
|
|
||||||
Minor int64
|
|
||||||
|
|
||||||
// ColdPlug specifies whether the device must be cold plugged (true)
|
|
||||||
// or hot plugged (false).
|
|
||||||
ColdPlug bool
|
|
||||||
}
|
|
||||||
@@ -7,6 +7,7 @@
|
|||||||
package persistapi
|
package persistapi
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
dev "github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
hv "github.com/kata-containers/kata-containers/src/runtime/pkg/hypervisors"
|
hv "github.com/kata-containers/kata-containers/src/runtime/pkg/hypervisors"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -26,7 +27,7 @@ type SandboxState struct {
|
|||||||
CgroupPaths map[string]string
|
CgroupPaths map[string]string
|
||||||
|
|
||||||
// Devices plugged to sandbox(hypervisor)
|
// Devices plugged to sandbox(hypervisor)
|
||||||
Devices []DeviceState
|
Devices []dev.DeviceState
|
||||||
|
|
||||||
// State is sandbox running status
|
// State is sandbox running status
|
||||||
State string
|
State string
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/manager"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/manager"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
|||||||
@@ -15,9 +15,9 @@ import (
|
|||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/drivers"
|
||||||
resCtrl "github.com/kata-containers/kata-containers/src/runtime/pkg/resourcecontrol"
|
resCtrl "github.com/kata-containers/kata-containers/src/runtime/pkg/resourcecontrol"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/drivers"
|
|
||||||
persistapi "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/api"
|
persistapi "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/api"
|
||||||
vcTypes "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
vcTypes "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
||||||
"github.com/safchain/ethtool"
|
"github.com/safchain/ethtool"
|
||||||
|
|||||||
@@ -11,9 +11,9 @@ import (
|
|||||||
"io"
|
"io"
|
||||||
"syscall"
|
"syscall"
|
||||||
|
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/api"
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
vc "github.com/kata-containers/kata-containers/src/runtime/virtcontainers"
|
vc "github.com/kata-containers/kata-containers/src/runtime/virtcontainers"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/api"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
|
||||||
pbTypes "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/agent/protocols"
|
pbTypes "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/agent/protocols"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
||||||
specs "github.com/opencontainers/runtime-spec/specs-go"
|
specs "github.com/opencontainers/runtime-spec/specs-go"
|
||||||
|
|||||||
@@ -10,9 +10,9 @@ import (
|
|||||||
"io"
|
"io"
|
||||||
"syscall"
|
"syscall"
|
||||||
|
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/api"
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
vc "github.com/kata-containers/kata-containers/src/runtime/virtcontainers"
|
vc "github.com/kata-containers/kata-containers/src/runtime/virtcontainers"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/api"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
|
||||||
pbTypes "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/agent/protocols"
|
pbTypes "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/agent/protocols"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
||||||
specs "github.com/opencontainers/runtime-spec/specs-go"
|
specs "github.com/opencontainers/runtime-spec/specs-go"
|
||||||
|
|||||||
@@ -33,12 +33,12 @@ import (
|
|||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
"golang.org/x/sys/unix"
|
"golang.org/x/sys/unix"
|
||||||
|
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/drivers"
|
||||||
hv "github.com/kata-containers/kata-containers/src/runtime/pkg/hypervisors"
|
hv "github.com/kata-containers/kata-containers/src/runtime/pkg/hypervisors"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/pkg/katautils/katatrace"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/katautils/katatrace"
|
||||||
pkgUtils "github.com/kata-containers/kata-containers/src/runtime/pkg/utils"
|
pkgUtils "github.com/kata-containers/kata-containers/src/runtime/pkg/utils"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/pkg/uuid"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/uuid"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/drivers"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ import (
|
|||||||
govmmQemu "github.com/kata-containers/kata-containers/src/runtime/pkg/govmm/qemu"
|
govmmQemu "github.com/kata-containers/kata-containers/src/runtime/pkg/govmm/qemu"
|
||||||
"gitlab.com/nvidia/cloud-native/go-nvlib/pkg/nvpci"
|
"gitlab.com/nvidia/cloud-native/go-nvlib/pkg/nvpci"
|
||||||
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ import (
|
|||||||
govmmQemu "github.com/kata-containers/kata-containers/src/runtime/pkg/govmm/qemu"
|
govmmQemu "github.com/kata-containers/kata-containers/src/runtime/pkg/govmm/qemu"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/fs"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/fs"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
|
|||||||
@@ -13,8 +13,8 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
govmmQemu "github.com/kata-containers/kata-containers/src/runtime/pkg/govmm/qemu"
|
govmmQemu "github.com/kata-containers/kata-containers/src/runtime/pkg/govmm/qemu"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ import (
|
|||||||
govmmQemu "github.com/kata-containers/kata-containers/src/runtime/pkg/govmm/qemu"
|
govmmQemu "github.com/kata-containers/kata-containers/src/runtime/pkg/govmm/qemu"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
func newTestQemu(assert *assert.Assertions, machineType string) qemuArch {
|
func newTestQemu(assert *assert.Assertions, machineType string) qemuArch {
|
||||||
|
|||||||
@@ -15,9 +15,9 @@ import (
|
|||||||
"path/filepath"
|
"path/filepath"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/pkg/govmm"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/govmm"
|
||||||
govmmQemu "github.com/kata-containers/kata-containers/src/runtime/pkg/govmm/qemu"
|
govmmQemu "github.com/kata-containers/kata-containers/src/runtime/pkg/govmm/qemu"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
||||||
|
|||||||
@@ -25,12 +25,12 @@ import (
|
|||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
"github.com/vishvananda/netlink"
|
"github.com/vishvananda/netlink"
|
||||||
|
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/api"
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/drivers"
|
||||||
|
deviceManager "github.com/kata-containers/kata-containers/src/runtime/pkg/device/manager"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/pkg/katautils/katatrace"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/katautils/katatrace"
|
||||||
resCtrl "github.com/kata-containers/kata-containers/src/runtime/pkg/resourcecontrol"
|
resCtrl "github.com/kata-containers/kata-containers/src/runtime/pkg/resourcecontrol"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/api"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/drivers"
|
|
||||||
deviceManager "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/manager"
|
|
||||||
exp "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/experimental"
|
exp "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/experimental"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist"
|
||||||
persistapi "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/api"
|
persistapi "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/api"
|
||||||
|
|||||||
@@ -16,10 +16,10 @@ import (
|
|||||||
"syscall"
|
"syscall"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/drivers"
|
||||||
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/manager"
|
||||||
ktu "github.com/kata-containers/kata-containers/src/runtime/pkg/katatestutils"
|
ktu "github.com/kata-containers/kata-containers/src/runtime/pkg/katatestutils"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/drivers"
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/manager"
|
|
||||||
exp "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/experimental"
|
exp "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/experimental"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/fs"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/fs"
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/device/config"
|
"github.com/kata-containers/kata-containers/src/runtime/pkg/device/config"
|
||||||
persistapi "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/api"
|
persistapi "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/persist/api"
|
||||||
vcTypes "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
vcTypes "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/types"
|
||||||
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
"github.com/kata-containers/kata-containers/src/runtime/virtcontainers/utils"
|
||||||
|
|||||||
Reference in New Issue
Block a user