Documentation ¶
Index ¶
- Constants
- func AlignImageSizeTo1MiB(size int64, logger *log.FilteredLogger) int64
- func CalcExpectedMemoryDumpSize(vmi *v1.VirtualMachineInstance) *resource.Quantity
- func CloseIOAndCheckErr(c io.Closer, err *error)
- func GenerateKubeVirtGroupVersionKind(obj runtime.Object) (runtime.Object, error)
- func GenerateSecureRandomString(n int) (string, error)
- func HasHugePages(vmi *v1.VirtualMachineInstance) bool
- func HasKernelBootContainerImage(vmi *v1.VirtualMachineInstance) bool
- func IsAMD64VMI(vmi *v1.VirtualMachineInstance) bool
- func IsARM64VMI(vmi *v1.VirtualMachineInstance) bool
- func IsAutoAttachVSOCK(vmi *v1.VirtualMachineInstance) bool
- func IsEFIVMI(vmi *v1.VirtualMachineInstance) bool
- func IsGPUVMI(vmi *v1.VirtualMachineInstance) bool
- func IsHostDevVMI(vmi *v1.VirtualMachineInstance) bool
- func IsNonRootVMI(vmi *v1.VirtualMachineInstance) bool
- func IsPasstVMI(vmi *v1.VirtualMachineInstance) bool
- func IsReadOnlyDisk(disk *v1.Disk) bool
- func IsSEVAttestationRequested(vmi *v1.VirtualMachineInstance) bool
- func IsSEVESVMI(vmi *v1.VirtualMachineInstance) bool
- func IsSEVVMI(vmi *v1.VirtualMachineInstance) bool
- func IsSRIOVVmi(vmi *v1.VirtualMachineInstance) bool
- func IsVFIOVMI(vmi *v1.VirtualMachineInstance) bool
- func IsVMIVirtiofsEnabled(vmi *v1.VirtualMachineInstance) bool
- func IsVmiUsingHyperVReenlightenment(vmi *v1.VirtualMachineInstance) bool
- func MarkAsNonroot(vmi *v1.VirtualMachineInstance)
- func MkdirAllWithNosec(pathName string) error
- func NeedTunDevice(vmi *v1.VirtualMachineInstance) bool
- func NeedVirtioNetDevice(vmi *v1.VirtualMachineInstance, allowEmulation bool) bool
- func OpenFileWithNosec(pathName string, flag int) (*os.File, error)
- func ResourceNameToEnvVar(prefix string, resourceName string) string
- func SetDefaultVolumeDisk(spec *v1.VirtualMachineInstanceSpec)
- func UseSoftwareEmulationForDevice(devicePath string, allowEmulation bool) (bool, error)
- func WantVirtioNetDevice(vmi *v1.VirtualMachineInstance) bool
- func WriteBytes(f *os.File, c byte, n int64) error
- func WriteFileWithNosec(pathName string, data []byte) error
Constants ¶
const ( ExtensionAPIServerAuthenticationConfigMap = "extension-apiserver-authentication" RequestHeaderClientCAFileKey = "requestheader-client-ca-file" VirtPrivateDir = "/var/run/kubevirt-private" VirtLibDir = "/var/lib/kubevirt" KubeletRoot = "/var/lib/kubelet" KubeletPodsDir = KubeletRoot + "/pods" HostRootMount = "/proc/1/root/" CPUManagerOS3Path = HostRootMount + "var/lib/origin/openshift.local.volumes/cpu_manager_state" CPUManagerPath = HostRootMount + "var/lib/kubelet/cpu_manager_state" // Alphanums is the list of alphanumeric characters used to create a securely generated random string Alphanums = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" NonRootUID = 107 NonRootUserString = "qemu" RootUser = 0 UnprivilegedContainerSELinuxLabel = "system_u:object_r:container_file_t:s0" )
Variables ¶
This section is empty.
Functions ¶
func AlignImageSizeTo1MiB ¶ added in v0.49.1
func AlignImageSizeTo1MiB(size int64, logger *log.FilteredLogger) int64
AlignImageSizeTo1MiB rounds down the size to the nearest multiple of 1MiB A warning or an error may get logged The caller is responsible for ensuring the rounded-down size is not 0
func CalcExpectedMemoryDumpSize ¶ added in v0.56.0
func CalcExpectedMemoryDumpSize(vmi *v1.VirtualMachineInstance) *resource.Quantity
func CloseIOAndCheckErr ¶ added in v0.36.0
CloseIOAndCheckErr closes the file and check the returned error. If there was an error a log messages will be printed. If a valid address (not nil) is passed in err the function will also update the error Note: to update the error the calling funtion need to use named returned variable (If called as defer function)
func GenerateKubeVirtGroupVersionKind ¶ added in v0.58.1
GenerateKubeVirtGroupVersionKind ensures a provided object registered with KubeVirts generated schema has GVK set correctly. This is required as client-go continues to return objects without TypeMeta set as set out in the following issue: https://github.com/kubernetes/client-go/issues/413
func GenerateSecureRandomString ¶ added in v0.58.0
GenerateRandomString creates a securely generated random string using crypto/rand
func HasHugePages ¶ added in v0.44.1
func HasHugePages(vmi *v1.VirtualMachineInstance) bool
func HasKernelBootContainerImage ¶ added in v0.42.0
func HasKernelBootContainerImage(vmi *v1.VirtualMachineInstance) bool
Checks if kernel boot is defined in a valid way
func IsAMD64VMI ¶ added in v1.1.0
func IsAMD64VMI(vmi *v1.VirtualMachineInstance) bool
func IsARM64VMI ¶ added in v1.1.0
func IsARM64VMI(vmi *v1.VirtualMachineInstance) bool
func IsAutoAttachVSOCK ¶ added in v0.59.0
func IsAutoAttachVSOCK(vmi *v1.VirtualMachineInstance) bool
func IsEFIVMI ¶ added in v1.1.0
func IsEFIVMI(vmi *v1.VirtualMachineInstance) bool
func IsGPUVMI ¶ added in v0.22.0
func IsGPUVMI(vmi *v1.VirtualMachineInstance) bool
Check if a VMI spec requests GPU
func IsHostDevVMI ¶ added in v0.36.0
func IsHostDevVMI(vmi *v1.VirtualMachineInstance) bool
Check if a VMI spec requests a HostDevice
func IsNonRootVMI ¶ added in v0.44.1
func IsNonRootVMI(vmi *v1.VirtualMachineInstance) bool
func IsPasstVMI ¶ added in v0.58.1
func IsPasstVMI(vmi *v1.VirtualMachineInstance) bool
Check if the VMI includes passt network interface(s)
func IsReadOnlyDisk ¶ added in v0.49.0
func IsSEVAttestationRequested ¶ added in v1.1.0
func IsSEVAttestationRequested(vmi *v1.VirtualMachineInstance) bool
Check if a VMI spec requests SEV with attestation
func IsSEVESVMI ¶ added in v1.0.0
func IsSEVESVMI(vmi *v1.VirtualMachineInstance) bool
Check if a VMI spec requests AMD SEV-ES
func IsSEVVMI ¶ added in v0.49.0
func IsSEVVMI(vmi *v1.VirtualMachineInstance) bool
Check if a VMI spec requests AMD SEV
func IsSRIOVVmi ¶ added in v0.21.0
func IsSRIOVVmi(vmi *v1.VirtualMachineInstance) bool
func IsVFIOVMI ¶ added in v0.36.0
func IsVFIOVMI(vmi *v1.VirtualMachineInstance) bool
Check if a VMI spec requests a VFIO device
func IsVMIVirtiofsEnabled ¶ added in v0.34.0
func IsVMIVirtiofsEnabled(vmi *v1.VirtualMachineInstance) bool
Check if a VMI spec requests VirtIO-FS
func IsVmiUsingHyperVReenlightenment ¶ added in v0.56.1
func IsVmiUsingHyperVReenlightenment(vmi *v1.VirtualMachineInstance) bool
func MarkAsNonroot ¶ added in v0.52.0
func MarkAsNonroot(vmi *v1.VirtualMachineInstance)
func MkdirAllWithNosec ¶ added in v0.40.0
func NeedTunDevice ¶ added in v0.51.0
func NeedTunDevice(vmi *v1.VirtualMachineInstance) bool
func NeedVirtioNetDevice ¶ added in v0.44.1
func NeedVirtioNetDevice(vmi *v1.VirtualMachineInstance, allowEmulation bool) bool
NeedVirtioNetDevice checks whether a VMI requires the presence of the "virtio" net device. This happens when the VMI wants to use a "virtio" network interface, and software emulation is disallowed.
func OpenFileWithNosec ¶ added in v0.40.0
func ResourceNameToEnvVar ¶ added in v0.36.0
func SetDefaultVolumeDisk ¶ added in v0.55.0
func SetDefaultVolumeDisk(spec *v1.VirtualMachineInstanceSpec)
func UseSoftwareEmulationForDevice ¶ added in v0.44.1
UseSoftwareEmulationForDevice determines whether to fallback to software emulation for the given device. This happens when the given device doesn't exist, and software emulation is enabled.
func WantVirtioNetDevice ¶ added in v0.45.0
func WantVirtioNetDevice(vmi *v1.VirtualMachineInstance) bool
WantVirtioNetDevice checks whether a VMI references at least one "virtio" network interface. Note that the reference can be explicit or implicit (unspecified nic models defaults to "virtio").
func WriteFileWithNosec ¶ added in v0.40.0
Types ¶
This section is empty.
Directories ¶
Path | Synopsis |
---|---|
net
|
|
grpc
* 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. |
ip
* 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. |