virtwrap

package
v1.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 28, 2024 License: Apache-2.0 Imports: 67 Imported by: 8

Documentation

Index

Constants

View Source
const (
	// ReservedInterfaces represents the number of interfaces the domain
	// should reserve for future hotplug additions.
	ReservedInterfaces = 4
)

Variables

This section is empty.

Functions

This section is empty.

Types

type DomainManager

type DomainManager interface {
	SyncVMI(*v1.VirtualMachineInstance, bool, *cmdv1.VirtualMachineOptions) (*api.DomainSpec, error)
	PauseVMI(*v1.VirtualMachineInstance) error
	UnpauseVMI(*v1.VirtualMachineInstance) error
	FreezeVMI(*v1.VirtualMachineInstance, int32) error
	UnfreezeVMI(*v1.VirtualMachineInstance) error
	SoftRebootVMI(*v1.VirtualMachineInstance) error
	KillVMI(*v1.VirtualMachineInstance) error
	DeleteVMI(*v1.VirtualMachineInstance) error
	SignalShutdownVMI(*v1.VirtualMachineInstance) error
	MarkGracefulShutdownVMI()
	ListAllDomains() ([]*api.Domain, error)
	MigrateVMI(*v1.VirtualMachineInstance, *cmdclient.MigrationOptions) error
	PrepareMigrationTarget(*v1.VirtualMachineInstance, bool, *cmdv1.VirtualMachineOptions) error
	GetDomainStats() ([]*stats.DomainStats, error)
	CancelVMIMigration(*v1.VirtualMachineInstance) error
	GetGuestInfo() v1.VirtualMachineInstanceGuestAgentInfo
	GetUsers() []v1.VirtualMachineInstanceGuestOSUser
	GetFilesystems() []v1.VirtualMachineInstanceFileSystem
	FinalizeVirtualMachineMigration(*v1.VirtualMachineInstance, *cmdv1.VirtualMachineOptions) error
	HotplugHostDevices(vmi *v1.VirtualMachineInstance) error
	InterfacesStatus() []api.InterfaceStatus
	GetGuestOSInfo() *api.GuestOSInfo
	Exec(string, string, []string, int32) (string, error)
	GuestPing(string) error
	MemoryDump(vmi *v1.VirtualMachineInstance, dumpPath string) error
	GetQemuVersion() (string, error)
	UpdateVCPUs(vmi *v1.VirtualMachineInstance, options *cmdv1.VirtualMachineOptions) error
	GetSEVInfo() (*v1.SEVPlatformInfo, error)
	GetLaunchMeasurement(*v1.VirtualMachineInstance) (*v1.SEVMeasurementInfo, error)
	InjectLaunchSecret(*v1.VirtualMachineInstance, *v1.SEVSecretOptions) error
	UpdateGuestMemory(vmi *v1.VirtualMachineInstance) error
}

func NewLibvirtDomainManager

func NewLibvirtDomainManager(connection cli.Connection, virtShareDir, ephemeralDiskDir string, agentStore *agentpoller.AsyncAgentStore, ovmfPath string, ephemeralDiskCreator ephemeraldisk.EphemeralDiskCreatorInterface, metadataCache *metadata.Cache) (DomainManager, error)

type LibvirtDomainManager

type LibvirtDomainManager struct {
	// contains filtered or unexported fields
}

func (*LibvirtDomainManager) CancelVMIMigration added in v0.16.0

func (l *LibvirtDomainManager) CancelVMIMigration(vmi *v1.VirtualMachineInstance) error

func (*LibvirtDomainManager) DeleteVMI added in v0.8.0

func (*LibvirtDomainManager) Exec added in v0.43.0

func (l *LibvirtDomainManager) Exec(domainName, command string, args []string, timeoutSeconds int32) (string, error)

func (*LibvirtDomainManager) FinalizeVirtualMachineMigration added in v0.40.0

func (l *LibvirtDomainManager) FinalizeVirtualMachineMigration(vmi *v1.VirtualMachineInstance, options *cmdv1.VirtualMachineOptions) error

FinalizeVirtualMachineMigration finalized the migration after the migration has completed and vmi is running on target pod.

func (*LibvirtDomainManager) FreezeVMI added in v0.44.1

func (l *LibvirtDomainManager) FreezeVMI(vmi *v1.VirtualMachineInstance, unfreezeTimeoutSeconds int32) error

func (*LibvirtDomainManager) GetDomainStats added in v0.15.0

func (l *LibvirtDomainManager) GetDomainStats() ([]*stats.DomainStats, error)

func (*LibvirtDomainManager) GetFilesystems added in v0.28.0

GetFilesystems return the full list of filesystems on the guest machine

func (*LibvirtDomainManager) GetGuestInfo added in v0.27.0

GetGuestInfo queries the agent store and return the aggregated data from Guest agent

func (*LibvirtDomainManager) GetGuestOSInfo added in v0.36.4

func (l *LibvirtDomainManager) GetGuestOSInfo() *api.GuestOSInfo

GetGuestOSInfo returns the Guest OS version and architecture

func (*LibvirtDomainManager) GetLaunchMeasurement added in v1.1.0

func (l *LibvirtDomainManager) GetLaunchMeasurement(vmi *v1.VirtualMachineInstance) (*v1.SEVMeasurementInfo, error)

func (*LibvirtDomainManager) GetQemuVersion added in v1.0.0

func (l *LibvirtDomainManager) GetQemuVersion() (string, error)

func (*LibvirtDomainManager) GetSEVInfo added in v1.1.0

func (l *LibvirtDomainManager) GetSEVInfo() (*v1.SEVPlatformInfo, error)

func (*LibvirtDomainManager) GetUsers added in v0.28.0

GetUsers return the full list of users on the guest machine

func (*LibvirtDomainManager) GuestPing added in v0.44.1

func (l *LibvirtDomainManager) GuestPing(domainName string) error

func (*LibvirtDomainManager) HotplugHostDevices added in v0.50.0

func (l *LibvirtDomainManager) HotplugHostDevices(vmi *v1.VirtualMachineInstance) error

HotplugHostDevices attach host-devices to running domain, currently only SRIOV host-devices are supported. This operation runs in the background, only one hotplug operation can occur at a time.

func (*LibvirtDomainManager) InjectLaunchSecret added in v1.1.0

func (l *LibvirtDomainManager) InjectLaunchSecret(vmi *v1.VirtualMachineInstance, sevSecretOptions *v1.SEVSecretOptions) error

func (*LibvirtDomainManager) InterfacesStatus added in v0.36.4

func (l *LibvirtDomainManager) InterfacesStatus() []api.InterfaceStatus

InterfacesStatus returns the interfaces Guest Agent reported

func (*LibvirtDomainManager) KillVMI added in v0.6.1

func (*LibvirtDomainManager) ListAllDomains

func (l *LibvirtDomainManager) ListAllDomains() ([]*api.Domain, error)

func (*LibvirtDomainManager) MarkGracefulShutdownVMI added in v0.29.0

func (l *LibvirtDomainManager) MarkGracefulShutdownVMI()

func (*LibvirtDomainManager) MemoryDump added in v0.54.0

func (l *LibvirtDomainManager) MemoryDump(vmi *v1.VirtualMachineInstance, dumpPath string) error

func (*LibvirtDomainManager) MigrateVMI added in v0.9.2

func (*LibvirtDomainManager) PauseVMI added in v0.24.0

func (*LibvirtDomainManager) PrepareMigrationTarget added in v0.9.2

func (l *LibvirtDomainManager) PrepareMigrationTarget(
	vmi *v1.VirtualMachineInstance,
	allowEmulation bool,
	options *cmdv1.VirtualMachineOptions,
) error

PrepareMigrationTarget the target pod environment before the migration is initiated

func (*LibvirtDomainManager) SignalShutdownVMI added in v0.6.1

func (l *LibvirtDomainManager) SignalShutdownVMI(vmi *v1.VirtualMachineInstance) error

func (*LibvirtDomainManager) SoftRebootVMI added in v0.48.0

func (l *LibvirtDomainManager) SoftRebootVMI(vmi *v1.VirtualMachineInstance) error

func (*LibvirtDomainManager) SyncVMI added in v0.6.1

func (l *LibvirtDomainManager) SyncVMI(vmi *v1.VirtualMachineInstance, allowEmulation bool, options *cmdv1.VirtualMachineOptions) (*api.DomainSpec, error)

func (*LibvirtDomainManager) UnfreezeVMI added in v0.44.1

func (l *LibvirtDomainManager) UnfreezeVMI(vmi *v1.VirtualMachineInstance) error

func (*LibvirtDomainManager) UnpauseVMI added in v0.24.0

func (*LibvirtDomainManager) UpdateGuestMemory added in v1.1.0

func (l *LibvirtDomainManager) UpdateGuestMemory(vmi *v1.VirtualMachineInstance) error

func (*LibvirtDomainManager) UpdateVCPUs added in v1.0.0

UpdateVCPUs plugs or unplugs vCPUs on a running domain

type MockDomainManager

type MockDomainManager struct {
	// contains filtered or unexported fields
}

Mock of DomainManager interface

func NewMockDomainManager

func NewMockDomainManager(ctrl *gomock.Controller) *MockDomainManager

func (*MockDomainManager) CancelVMIMigration added in v0.16.0

func (_m *MockDomainManager) CancelVMIMigration(_param0 *v1.VirtualMachineInstance) error

func (*MockDomainManager) DeleteVMI added in v0.8.0

func (_m *MockDomainManager) DeleteVMI(_param0 *v1.VirtualMachineInstance) error

func (*MockDomainManager) EXPECT

func (_m *MockDomainManager) EXPECT() *_MockDomainManagerRecorder

func (*MockDomainManager) Exec added in v0.43.0

func (_m *MockDomainManager) Exec(_param0 string, _param1 string, _param2 []string, _param3 int32) (string, error)

func (*MockDomainManager) FinalizeVirtualMachineMigration added in v0.40.0

func (_m *MockDomainManager) FinalizeVirtualMachineMigration(_param0 *v1.VirtualMachineInstance, _param1 *v10.VirtualMachineOptions) error

func (*MockDomainManager) FreezeVMI added in v0.44.1

func (_m *MockDomainManager) FreezeVMI(_param0 *v1.VirtualMachineInstance, _param1 int32) error

func (*MockDomainManager) GetDomainStats added in v0.15.0

func (_m *MockDomainManager) GetDomainStats() ([]*stats.DomainStats, error)

func (*MockDomainManager) GetFilesystems added in v0.28.0

func (_m *MockDomainManager) GetFilesystems() []v1.VirtualMachineInstanceFileSystem

func (*MockDomainManager) GetGuestInfo added in v0.27.0

func (*MockDomainManager) GetGuestOSInfo added in v0.36.4

func (_m *MockDomainManager) GetGuestOSInfo() *api.GuestOSInfo

func (*MockDomainManager) GetLaunchMeasurement added in v1.1.0

func (_m *MockDomainManager) GetLaunchMeasurement(_param0 *v1.VirtualMachineInstance) (*v1.SEVMeasurementInfo, error)

func (*MockDomainManager) GetQemuVersion added in v1.0.0

func (_m *MockDomainManager) GetQemuVersion() (string, error)

func (*MockDomainManager) GetSEVInfo added in v1.1.0

func (_m *MockDomainManager) GetSEVInfo() (*v1.SEVPlatformInfo, error)

func (*MockDomainManager) GetUsers added in v0.28.0

func (*MockDomainManager) GuestPing added in v0.44.1

func (_m *MockDomainManager) GuestPing(_param0 string) error

func (*MockDomainManager) HotplugHostDevices added in v0.50.0

func (_m *MockDomainManager) HotplugHostDevices(vmi *v1.VirtualMachineInstance) error

func (*MockDomainManager) InjectLaunchSecret added in v1.1.0

func (_m *MockDomainManager) InjectLaunchSecret(_param0 *v1.VirtualMachineInstance, _param1 *v1.SEVSecretOptions) error

func (*MockDomainManager) InterfacesStatus added in v0.36.4

func (_m *MockDomainManager) InterfacesStatus() []api.InterfaceStatus

func (*MockDomainManager) KillVMI added in v0.6.1

func (_m *MockDomainManager) KillVMI(_param0 *v1.VirtualMachineInstance) error

func (*MockDomainManager) ListAllDomains

func (_m *MockDomainManager) ListAllDomains() ([]*api.Domain, error)

func (*MockDomainManager) MarkGracefulShutdownVMI added in v0.29.0

func (_m *MockDomainManager) MarkGracefulShutdownVMI()

func (*MockDomainManager) MemoryDump added in v0.54.0

func (_m *MockDomainManager) MemoryDump(vmi *v1.VirtualMachineInstance, dumpPath string) error

func (*MockDomainManager) MigrateVMI added in v0.9.2

func (_m *MockDomainManager) MigrateVMI(_param0 *v1.VirtualMachineInstance, _param1 *cmd_client.MigrationOptions) error

func (*MockDomainManager) PauseVMI added in v0.24.0

func (_m *MockDomainManager) PauseVMI(_param0 *v1.VirtualMachineInstance) error

func (*MockDomainManager) PrepareMigrationTarget added in v0.9.2

func (_m *MockDomainManager) PrepareMigrationTarget(_param0 *v1.VirtualMachineInstance, _param1 bool, _param2 *v10.VirtualMachineOptions) error

func (*MockDomainManager) SignalShutdownVMI added in v0.6.1

func (_m *MockDomainManager) SignalShutdownVMI(_param0 *v1.VirtualMachineInstance) error

func (*MockDomainManager) SoftRebootVMI added in v0.48.0

func (_m *MockDomainManager) SoftRebootVMI(_param0 *v1.VirtualMachineInstance) error

func (*MockDomainManager) SyncVMI added in v0.6.1

func (_m *MockDomainManager) SyncVMI(_param0 *v1.VirtualMachineInstance, _param1 bool, _param2 *v10.VirtualMachineOptions) (*api.DomainSpec, error)

func (*MockDomainManager) UnfreezeVMI added in v0.44.1

func (_m *MockDomainManager) UnfreezeVMI(_param0 *v1.VirtualMachineInstance) error

func (*MockDomainManager) UnpauseVMI added in v0.24.0

func (_m *MockDomainManager) UnpauseVMI(_param0 *v1.VirtualMachineInstance) error

func (*MockDomainManager) UpdateGuestMemory added in v1.1.0

func (_m *MockDomainManager) UpdateGuestMemory(vmi *v1.VirtualMachineInstance) error

func (*MockDomainManager) UpdateVCPUs added in v1.0.0

Directories

Path Synopsis
* This file is part of the KubeVirt project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* This file is part of the KubeVirt project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* This file is part of the KubeVirt project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* This file is part of the KubeVirt project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL