mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-09-17 06:48:51 +00:00
Merge pull request #1615 from mcastelino/topic/fc_cpu_mem
firecracker: Add support for default VM configuration
This commit is contained in:
@@ -281,13 +281,9 @@ func (fc *firecracker) fcSetBootSource(path, params string) error {
|
|||||||
bootSrcParams.SetBody(src)
|
bootSrcParams.SetBody(src)
|
||||||
|
|
||||||
_, err := fc.client().Operations.PutGuestBootSource(bootSrcParams)
|
_, err := fc.client().Operations.PutGuestBootSource(bootSrcParams)
|
||||||
if err != nil {
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (fc *firecracker) fcSetVMRootfs(path string) error {
|
func (fc *firecracker) fcSetVMRootfs(path string) error {
|
||||||
span, _ := fc.trace("fcSetVMRootfs")
|
span, _ := fc.trace("fcSetVMRootfs")
|
||||||
defer span.Finish()
|
defer span.Finish()
|
||||||
@@ -308,11 +304,25 @@ func (fc *firecracker) fcSetVMRootfs(path string) error {
|
|||||||
}
|
}
|
||||||
driveParams.SetBody(drive)
|
driveParams.SetBody(drive)
|
||||||
_, err := fc.client().Operations.PutGuestDriveByID(driveParams)
|
_, err := fc.client().Operations.PutGuestDriveByID(driveParams)
|
||||||
if err != nil {
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
func (fc *firecracker) fcSetVMBaseConfig(mem int64, vcpus int64, htEnabled bool) error {
|
||||||
|
span, _ := fc.trace("fcSetVMBaseConfig")
|
||||||
|
defer span.Finish()
|
||||||
|
fc.Logger().WithFields(logrus.Fields{"mem": mem,
|
||||||
|
"vcpus": vcpus,
|
||||||
|
"htEnabled": htEnabled}).Debug("fcSetVMBaseConfig")
|
||||||
|
|
||||||
|
param := ops.NewPutMachineConfigurationParams()
|
||||||
|
cfg := &models.MachineConfiguration{
|
||||||
|
HtEnabled: htEnabled,
|
||||||
|
MemSizeMib: mem,
|
||||||
|
VcpuCount: vcpus,
|
||||||
|
}
|
||||||
|
param.SetBody(cfg)
|
||||||
|
_, err := fc.client().Operations.PutMachineConfiguration(param)
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (fc *firecracker) fcStartVM() error {
|
func (fc *firecracker) fcStartVM() error {
|
||||||
@@ -351,6 +361,12 @@ func (fc *firecracker) startSandbox(timeout int) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if err := fc.fcSetVMBaseConfig(int64(fc.config.MemorySize),
|
||||||
|
int64(fc.config.NumVCPUs),
|
||||||
|
false); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
kernelPath, err := fc.config.KernelAssetPath()
|
kernelPath, err := fc.config.KernelAssetPath()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@@ -528,13 +544,9 @@ func (fc *firecracker) fcAddNetDevice(endpoint Endpoint) error {
|
|||||||
cfg.SetBody(ifaceCfg)
|
cfg.SetBody(ifaceCfg)
|
||||||
cfg.SetIfaceID(ifaceID)
|
cfg.SetIfaceID(ifaceID)
|
||||||
_, err := fc.client().Operations.PutGuestNetworkInterfaceByID(cfg)
|
_, err := fc.client().Operations.PutGuestNetworkInterfaceByID(cfg)
|
||||||
if err != nil {
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (fc *firecracker) fcAddBlockDrive(drive config.BlockDrive) error {
|
func (fc *firecracker) fcAddBlockDrive(drive config.BlockDrive) error {
|
||||||
span, _ := fc.trace("fcAddBlockDrive")
|
span, _ := fc.trace("fcAddBlockDrive")
|
||||||
defer span.Finish()
|
defer span.Finish()
|
||||||
@@ -552,13 +564,9 @@ func (fc *firecracker) fcAddBlockDrive(drive config.BlockDrive) error {
|
|||||||
}
|
}
|
||||||
driveParams.SetBody(driveFc)
|
driveParams.SetBody(driveFc)
|
||||||
_, err := fc.client().Operations.PutGuestDriveByID(driveParams)
|
_, err := fc.client().Operations.PutGuestDriveByID(driveParams)
|
||||||
if err != nil {
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Firecracker supports replacing the host drive used once the VM has booted up
|
// Firecracker supports replacing the host drive used once the VM has booted up
|
||||||
func (fc *firecracker) fcUpdateBlockDrive(drive config.BlockDrive) error {
|
func (fc *firecracker) fcUpdateBlockDrive(drive config.BlockDrive) error {
|
||||||
span, _ := fc.trace("fcUpdateBlockDrive")
|
span, _ := fc.trace("fcUpdateBlockDrive")
|
||||||
|
Reference in New Issue
Block a user