virtconfig

package
v0.41.0-rc.0 Latest Latest
Warning

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

Go to latest
Published: May 3, 2021 License: Apache-2.0 Imports: 14 Imported by: 7

Documentation

Index

Constants

View Source
const (
	ConfigMapName                     = "kubevirt-config"
	FeatureGatesKey                   = "feature-gates"
	EmulatedMachinesKey               = "emulated-machines"
	MachineTypeKey                    = "machine-type"
	UseEmulationKey                   = "debug.useEmulation"
	ImagePullPolicyKey                = "dev.imagePullPolicy"
	MigrationsConfigKey               = "migrations"
	CPUModelKey                       = "default-cpu-model"
	CPURequestKey                     = "cpu-request"
	MemoryOvercommitKey               = "memory-overcommit"
	LessPVCSpaceTolerationKey         = "pvc-tolerate-less-space-up-to-percent"
	NodeSelectorsKey                  = "node-selectors"
	NetworkInterfaceKey               = "default-network-interface"
	PermitSlirpInterface              = "permitSlirpInterface"
	PermitBridgeInterfaceOnPodNetwork = "permitBridgeInterfaceOnPodNetwork"
	NodeDrainTaintDefaultKey          = "kubevirt.io/drain"
	SmbiosConfigKey                   = "smbios"
	SELinuxLauncherTypeKey            = "selinuxLauncherType"
	SupportedGuestAgentVersionsKey    = "supported-guest-agent"
	OVMFPathKey                       = "ovmfPath"
	MemBalloonStatsPeriod             = "memBalloonStatsPeriod"
	CPUAllocationRatio                = "cpu-allocation-ratio"
	PermittedHostDevicesKey           = "permittedHostDevices"
)
View Source
const (
	CPUManager        = "CPUManager"
	IgnitionGate      = "ExperimentalIgnitionSupport"
	LiveMigrationGate = "LiveMigration"
	// SRIOVLiveMigrationGate enable's Live Migration for VM's with SRIOV interfaces.
	SRIOVLiveMigrationGate = "SRIOVLiveMigration"
	CPUNodeDiscoveryGate   = "CPUNodeDiscovery"
	HypervStrictCheckGate  = "HypervStrictCheck"
	SidecarGate            = "Sidecar"
	GPUGate                = "GPU"
	HostDevicesGate        = "HostDevices"
	SnapshotGate           = "Snapshot"
	HotplugVolumesGate     = "HotplugVolumes"
	HostDiskGate           = "HostDisk"
	VirtIOFSGate           = "ExperimentalVirtiofsSupport"
	MacvtapGate            = "Macvtap"
)
View Source
const (
	ParallelOutboundMigrationsPerNodeDefault uint32 = 2
	ParallelMigrationsPerClusterDefault      uint32 = 5
	BandwithPerMigrationDefault                     = "64Mi"
	MigrationAllowAutoConverge               bool   = false
	MigrationAllowPostCopy                   bool   = false
	MigrationProgressTimeout                 int64  = 150
	MigrationCompletionTimeoutPerGiB         int64  = 800
	DefaultAMD64MachineType                         = "q35"
	DefaultPPC64LEMachineType                       = "pseries"
	DefaultAARCH64MachineType                       = "virt"
	DefaultCPURequest                               = "100m"
	DefaultMemoryOvercommit                         = 100
	DefaultAMD64EmulatedMachines                    = "q35*,pc-q35*"
	DefaultPPC64LEEmulatedMachines                  = "pseries*"
	DefaultAARCH64EmulatedMachines                  = "virt*"
	DefaultLessPVCSpaceToleration                   = 10
	DefaultNodeSelectors                            = ""
	DefaultNetworkInterface                         = "bridge"
	DefaultImagePullPolicy                          = k8sv1.PullIfNotPresent
	DefaultUseEmulation                             = false
	DefaultUnsafeMigrationOverride                  = false
	DefaultPermitSlirpInterface                     = false
	SmbiosConfigDefaultFamily                       = "KubeVirt"
	SmbiosConfigDefaultManufacturer                 = "KubeVirt"
	SmbiosConfigDefaultProduct                      = "None"
	DefaultPermitBridgeInterfaceOnPodNetwork        = true
	DefaultSELinuxLauncherType                      = "virt_launcher.process"
	SupportedGuestAgentVersions                     = "2.*,3.*,4.*,5.*"
	DefaultARCHOVMFPath                             = "/usr/share/OVMF"
	DefaultAARCH64OVMFPath                          = "/usr/share/AAVMF"
	DefaultMemBalloonStatsPeriod             uint32 = 10
	DefaultCPUAllocationRatio                       = 10
	DefaultVirtAPILogVerbosity                      = 2
	DefaultVirtControllerLogVerbosity               = 2
	DefaultVirtHandlerLogVerbosity                  = 2
	DefaultVirtLauncherLogVerbosity                 = 2
	DefaultVirtOperatorLogVerbosity                 = 2
)

Variables

View Source
var DefaultMachineType, DefaultEmulatedMachines = NewDefaultArch(runtime.GOARCH).GetDefaultMachinesForArch()
View Source
var DefaultOVMFPath = NewDefaultArch(runtime.GOARCH).GetDefaultOVMFPathForArch()

Functions

This section is empty.

Types

type ClusterConfig added in v0.16.0

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

func NewClusterConfig added in v0.16.0

func NewClusterConfig(configMapInformer cache.SharedIndexInformer,
	crdInformer cache.SharedIndexInformer,
	kubeVirtInformer cache.SharedIndexInformer,
	namespace string) *ClusterConfig

NewClusterConfig represents the `kubevirt-config` config map. It can be used to live-update values if the config changes. The config update works like this: 1. Check if the config exists. If it does not exist, return the default config 2. Check if the config got updated. If so, try to parse and return it 3. In case of errors or no updates (resource version stays the same), it returns the values from the last good config

func (*ClusterConfig) CPUManagerEnabled added in v0.18.0

func (config *ClusterConfig) CPUManagerEnabled() bool

func (*ClusterConfig) CPUNodeDiscoveryEnabled added in v0.18.0

func (config *ClusterConfig) CPUNodeDiscoveryEnabled() bool

func (*ClusterConfig) GPUPassthroughEnabled added in v0.22.0

func (config *ClusterConfig) GPUPassthroughEnabled() bool

func (*ClusterConfig) GetCPUAllocationRatio added in v0.34.0

func (c *ClusterConfig) GetCPUAllocationRatio() int

func (*ClusterConfig) GetCPUModel added in v0.17.0

func (c *ClusterConfig) GetCPUModel() string

func (*ClusterConfig) GetCPURequest added in v0.17.0

func (c *ClusterConfig) GetCPURequest() *resource.Quantity

func (*ClusterConfig) GetConfig added in v0.31.0

func (c *ClusterConfig) GetConfig() (config *v1.KubeVirtConfiguration)

getConfig returns the latest valid parsed config map result, or updates it if a newer version is available. XXX Rework this, to happen mostly in informer callbacks. This will also allow us then to react to config changes and e.g. restart some controllers

func (*ClusterConfig) GetDefaultClusterConfig added in v0.31.0

func (c *ClusterConfig) GetDefaultClusterConfig() *v1.KubeVirtConfiguration

func (*ClusterConfig) GetDefaultNetworkInterface added in v0.19.0

func (c *ClusterConfig) GetDefaultNetworkInterface() string

func (*ClusterConfig) GetEmulatedMachines added in v0.18.0

func (c *ClusterConfig) GetEmulatedMachines() []string

func (*ClusterConfig) GetImagePullPolicy added in v0.16.0

func (c *ClusterConfig) GetImagePullPolicy() (policy k8sv1.PullPolicy)

func (*ClusterConfig) GetLessPVCSpaceToleration added in v0.18.0

func (c *ClusterConfig) GetLessPVCSpaceToleration() int

func (*ClusterConfig) GetMachineType added in v0.17.0

func (c *ClusterConfig) GetMachineType() string

func (*ClusterConfig) GetMemBalloonStatsPeriod added in v0.33.0

func (c *ClusterConfig) GetMemBalloonStatsPeriod() uint32

func (*ClusterConfig) GetMemoryOvercommit added in v0.19.0

func (c *ClusterConfig) GetMemoryOvercommit() int

func (*ClusterConfig) GetMigrationConfiguration added in v0.31.0

func (c *ClusterConfig) GetMigrationConfiguration() *v1.MigrationConfiguration

func (*ClusterConfig) GetMinCPUModel added in v0.40.0

func (c *ClusterConfig) GetMinCPUModel() string

GetMinCPUModel return minimal cpu which is used in node-labeller

func (*ClusterConfig) GetNodeSelectors added in v0.18.0

func (c *ClusterConfig) GetNodeSelectors() map[string]string

func (*ClusterConfig) GetOVMFPath added in v0.30.0

func (c *ClusterConfig) GetOVMFPath() string

func (*ClusterConfig) GetObsoleteCPUModels added in v0.40.0

func (c *ClusterConfig) GetObsoleteCPUModels() map[string]bool

GetObsoleteCPUModels return slice of obsolete cpus which are used in node-labeller

func (*ClusterConfig) GetPermittedHostDevices added in v0.36.0

func (c *ClusterConfig) GetPermittedHostDevices() *v1.PermittedHostDevices

func (*ClusterConfig) GetResourceVersion added in v0.30.5

func (c *ClusterConfig) GetResourceVersion() string

func (*ClusterConfig) GetSELinuxLauncherType added in v0.26.1

func (c *ClusterConfig) GetSELinuxLauncherType() string

func (*ClusterConfig) GetSMBIOS added in v0.21.0

func (c *ClusterConfig) GetSMBIOS() *v1.SMBiosConfiguration

func (*ClusterConfig) GetSupportedAgentVersions added in v0.29.0

func (c *ClusterConfig) GetSupportedAgentVersions() []string

func (*ClusterConfig) GetVirtAPIVerbosity added in v0.38.0

func (c *ClusterConfig) GetVirtAPIVerbosity(nodeName string) uint

func (*ClusterConfig) GetVirtControllerVerbosity added in v0.38.0

func (c *ClusterConfig) GetVirtControllerVerbosity(nodeName string) uint

func (*ClusterConfig) GetVirtHandlerVerbosity added in v0.38.0

func (c *ClusterConfig) GetVirtHandlerVerbosity(nodeName string) uint

func (*ClusterConfig) GetVirtLauncherVerbosity added in v0.38.0

func (c *ClusterConfig) GetVirtLauncherVerbosity() uint

func (*ClusterConfig) HasDataVolumeAPI added in v0.20.0

func (c *ClusterConfig) HasDataVolumeAPI() bool

func (*ClusterConfig) HostDevicesPassthroughEnabled added in v0.36.0

func (config *ClusterConfig) HostDevicesPassthroughEnabled() bool

func (*ClusterConfig) HostDiskEnabled added in v0.30.3

func (config *ClusterConfig) HostDiskEnabled() bool

func (*ClusterConfig) HotplugVolumesEnabled added in v0.36.0

func (config *ClusterConfig) HotplugVolumesEnabled() bool

func (*ClusterConfig) HypervStrictCheckEnabled added in v0.18.0

func (config *ClusterConfig) HypervStrictCheckEnabled() bool

func (*ClusterConfig) IgnitionEnabled added in v0.18.0

func (config *ClusterConfig) IgnitionEnabled() bool

func (*ClusterConfig) IsBridgeInterfaceOnPodNetworkEnabled added in v0.21.0

func (c *ClusterConfig) IsBridgeInterfaceOnPodNetworkEnabled() bool

func (*ClusterConfig) IsSlirpInterfaceEnabled added in v0.19.0

func (c *ClusterConfig) IsSlirpInterfaceEnabled() bool

func (*ClusterConfig) IsUseEmulation added in v0.16.0

func (c *ClusterConfig) IsUseEmulation() bool

func (*ClusterConfig) LiveMigrationEnabled added in v0.18.0

func (config *ClusterConfig) LiveMigrationEnabled() bool

func (*ClusterConfig) MacvtapEnabled added in v0.35.0

func (config *ClusterConfig) MacvtapEnabled() bool

func (*ClusterConfig) SRIOVLiveMigrationEnabled added in v0.39.0

func (config *ClusterConfig) SRIOVLiveMigrationEnabled() bool

func (*ClusterConfig) SetConfigModifiedCallback added in v0.20.0

func (c *ClusterConfig) SetConfigModifiedCallback(cb ConfigModifiedFn)

func (*ClusterConfig) SidecarEnabled added in v0.20.0

func (config *ClusterConfig) SidecarEnabled() bool

func (*ClusterConfig) SnapshotEnabled added in v0.31.0

func (config *ClusterConfig) SnapshotEnabled() bool

func (*ClusterConfig) VirtiofsEnabled added in v0.34.0

func (config *ClusterConfig) VirtiofsEnabled() bool

type ConfigModifiedFn added in v0.20.0

type ConfigModifiedFn func()

type DefaultArch added in v0.41.0

type DefaultArch struct {
	Architecture string
}

func NewDefaultArch added in v0.41.0

func NewDefaultArch(arch string) *DefaultArch

func (*DefaultArch) GetDefaultMachinesForArch added in v0.41.0

func (d *DefaultArch) GetDefaultMachinesForArch() (string, string)

GetDefaultMachinesForArch set default machine type and supported emulated machines based on architecture

func (*DefaultArch) GetDefaultOVMFPathForArch added in v0.41.0

func (d *DefaultArch) GetDefaultOVMFPathForArch() string

GetDefaultOVMFPathForArch set default EFI bootloader Path based on architecture

func (*DefaultArch) IsARM64 added in v0.41.0

func (d *DefaultArch) IsARM64() bool

func (*DefaultArch) IsPPC64 added in v0.41.0

func (d *DefaultArch) IsPPC64() bool

Jump to

Keyboard shortcuts

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