Documentation ¶
Index ¶
- Constants
- Variables
- type ClusterConfig
- func (config *ClusterConfig) CPUManagerEnabled() bool
- func (config *ClusterConfig) CPUNodeDiscoveryEnabled() bool
- func (config *ClusterConfig) GPUPassthroughEnabled() bool
- func (c *ClusterConfig) GetCPUAllocationRatio() int
- func (c *ClusterConfig) GetCPUModel() string
- func (c *ClusterConfig) GetCPURequest() *resource.Quantity
- func (c *ClusterConfig) GetConfig() (config *v1.KubeVirtConfiguration)
- func (c *ClusterConfig) GetDefaultClusterConfig() *v1.KubeVirtConfiguration
- func (c *ClusterConfig) GetDefaultNetworkInterface() string
- func (c *ClusterConfig) GetEmulatedMachines() []string
- func (c *ClusterConfig) GetImagePullPolicy() (policy k8sv1.PullPolicy)
- func (c *ClusterConfig) GetLessPVCSpaceToleration() int
- func (c *ClusterConfig) GetMachineType() string
- func (c *ClusterConfig) GetMemBalloonStatsPeriod() uint32
- func (c *ClusterConfig) GetMemoryOvercommit() int
- func (c *ClusterConfig) GetMigrationConfiguration() *v1.MigrationConfiguration
- func (c *ClusterConfig) GetMinCPUModel() string
- func (c *ClusterConfig) GetNodeSelectors() map[string]string
- func (c *ClusterConfig) GetOVMFPath() string
- func (c *ClusterConfig) GetObsoleteCPUModels() map[string]bool
- func (c *ClusterConfig) GetPermittedHostDevices() *v1.PermittedHostDevices
- func (c *ClusterConfig) GetResourceVersion() string
- func (c *ClusterConfig) GetSELinuxLauncherType() string
- func (c *ClusterConfig) GetSMBIOS() *v1.SMBiosConfiguration
- func (c *ClusterConfig) GetSupportedAgentVersions() []string
- func (c *ClusterConfig) GetVirtAPIVerbosity(nodeName string) uint
- func (c *ClusterConfig) GetVirtControllerVerbosity(nodeName string) uint
- func (c *ClusterConfig) GetVirtHandlerVerbosity(nodeName string) uint
- func (c *ClusterConfig) GetVirtLauncherVerbosity() uint
- func (c *ClusterConfig) HasDataVolumeAPI() bool
- func (config *ClusterConfig) HostDevicesPassthroughEnabled() bool
- func (config *ClusterConfig) HostDiskEnabled() bool
- func (config *ClusterConfig) HotplugVolumesEnabled() bool
- func (config *ClusterConfig) HypervStrictCheckEnabled() bool
- func (config *ClusterConfig) IgnitionEnabled() bool
- func (c *ClusterConfig) IsBridgeInterfaceOnPodNetworkEnabled() bool
- func (c *ClusterConfig) IsSlirpInterfaceEnabled() bool
- func (c *ClusterConfig) IsUseEmulation() bool
- func (config *ClusterConfig) LiveMigrationEnabled() bool
- func (config *ClusterConfig) MacvtapEnabled() bool
- func (config *ClusterConfig) SRIOVLiveMigrationEnabled() bool
- func (c *ClusterConfig) SetConfigModifiedCallback(cb ConfigModifiedFn)
- func (config *ClusterConfig) SidecarEnabled() bool
- func (config *ClusterConfig) SnapshotEnabled() bool
- func (config *ClusterConfig) VirtiofsEnabled() bool
- type ConfigModifiedFn
- type DefaultArch
Constants ¶
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" )
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" )
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 ¶
var DefaultMachineType, DefaultEmulatedMachines = NewDefaultArch(runtime.GOARCH).GetDefaultMachinesForArch()
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