mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-07-01 17:52:40 +00:00
device: Assign pci address to block device for kata_agent
Store PCI address for a block device on hotplugging it via virtio-blk. This address will be passed by kata agent in the device "Id" field. The agent within the guest can then use this to identify the PCI slot in the guest and create the device node based on it. Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
This commit is contained in:
parent
85865f1a2c
commit
da08a65de3
@ -391,6 +391,7 @@ func (device *BlockDevice) attach(h hypervisor, c *Container) (err error) {
|
||||
|
||||
if c.sandbox.config.HypervisorConfig.BlockDeviceDriver == VirtioBlock {
|
||||
device.VirtPath = filepath.Join("/dev", driveName)
|
||||
device.PCIAddr = drive.PCIAddr
|
||||
} else {
|
||||
scsiAddr, err := getSCSIAddress(index)
|
||||
if err != nil {
|
||||
|
@ -629,7 +629,7 @@ func (k *kataAgent) appendDevices(deviceList []*grpc.Device, devices []Device) [
|
||||
|
||||
if d.SCSIAddr == "" {
|
||||
kataDevice.Type = kataBlkDevType
|
||||
kataDevice.VmPath = d.VirtPath
|
||||
kataDevice.Id = d.PCIAddr
|
||||
} else {
|
||||
kataDevice.Type = kataSCSIDevType
|
||||
kataDevice.Id = d.SCSIAddr
|
||||
|
@ -24,9 +24,9 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
testKataProxyURLTempl = "unix://%s/kata-proxy-test.sock"
|
||||
testBlockDeviceVirtPath = "testBlockDeviceVirtPath"
|
||||
testBlockDeviceCtrPath = "testBlockDeviceCtrPath"
|
||||
testKataProxyURLTempl = "unix://%s/kata-proxy-test.sock"
|
||||
testBlockDeviceCtrPath = "testBlockDeviceCtrPath"
|
||||
testPCIAddr = "04/02"
|
||||
)
|
||||
|
||||
func proxyHandlerDiscard(c net.Conn) {
|
||||
@ -366,16 +366,16 @@ func TestAppendDevices(t *testing.T) {
|
||||
expected := []*pb.Device{
|
||||
{
|
||||
Type: kataBlkDevType,
|
||||
VmPath: testBlockDeviceVirtPath,
|
||||
ContainerPath: testBlockDeviceCtrPath,
|
||||
Id: testPCIAddr,
|
||||
},
|
||||
}
|
||||
ctrDevices := []Device{
|
||||
&BlockDevice{
|
||||
VirtPath: testBlockDeviceVirtPath,
|
||||
DeviceInfo: DeviceInfo{
|
||||
ContainerPath: testBlockDeviceCtrPath,
|
||||
},
|
||||
PCIAddr: testPCIAddr,
|
||||
},
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user