kubevirt

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Oct 19, 2020 License: Apache-2.0, MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const GroupName = "kubevirt.provider.extensions.gardener.cloud"

GroupName is the group name use in this package

Variables

View Source
var (
	// SchemeBuilder used to register the Shoot resource.
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	// AddToScheme is a pointer to SchemeBuilder.AddToScheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}

SchemeGroupVersion is group version used to register these objects

Functions

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type CloudControllerManagerConfig

type CloudControllerManagerConfig struct {
	// FeatureGates contains information about enabled feature gates.
	FeatureGates map[string]bool
}

CloudControllerManagerConfig contains configuration settings for the cloud-controller-manager.

func (*CloudControllerManagerConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudControllerManagerConfig.

func (*CloudControllerManagerConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CloudProfileConfig

type CloudProfileConfig struct {
	metav1.TypeMeta
	// MachineImages is the list of machine images that are understood by the controller. It maps
	// logical names and versions to provider-specific identifiers.
	MachineImages []MachineImages
	// MachineTypes extend machineType object to KubeVirt provider specific config
	MachineTypes []MachineType
}

CloudProfileConfig contains provider-specific configuration that is embedded into Gardener's `CloudProfile` resource.

func (*CloudProfileConfig) DeepCopy

func (in *CloudProfileConfig) DeepCopy() *CloudProfileConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudProfileConfig.

func (*CloudProfileConfig) DeepCopyInto

func (in *CloudProfileConfig) DeepCopyInto(out *CloudProfileConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CloudProfileConfig) DeepCopyObject

func (in *CloudProfileConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ControlPlaneConfig

type ControlPlaneConfig struct {
	metav1.TypeMeta

	// CloudControllerManager contains configuration settings for the cloud-controller-manager.
	// +optional
	CloudControllerManager *CloudControllerManagerConfig
}

ControlPlaneConfig contains configuration settings for the control plane.

func (*ControlPlaneConfig) DeepCopy

func (in *ControlPlaneConfig) DeepCopy() *ControlPlaneConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneConfig.

func (*ControlPlaneConfig) DeepCopyInto

func (in *ControlPlaneConfig) DeepCopyInto(out *ControlPlaneConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ControlPlaneConfig) DeepCopyObject

func (in *ControlPlaneConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type Devices

type Devices struct {
	// Disks allows to customize disks attached to KubeVirt VM
	Disks []kubevirtv1.Disk
	// Whether to have random number generator from host
	Rng *kubevirtv1.Rng
	// Whether or not to enable virtio multi-queue for block devices
	BlockMultiQueue bool
	// If specified, virtual network interfaces configured with a virtio bus will also enable the vhost multiqueue feature
	NetworkInterfaceMultiQueue bool
}

Devices allows to fine-tune devices attached to KubeVirt VM

func (*Devices) DeepCopy

func (in *Devices) DeepCopy() *Devices

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Devices.

func (*Devices) DeepCopyInto

func (in *Devices) DeepCopyInto(out *Devices)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InfrastructureConfig

type InfrastructureConfig struct {
	metav1.TypeMeta
	// Networks is the configuration of the infrastructure networks.
	Networks NetworksConfig
}

InfrastructureConfig is the infrastructure configuration resource.

func (*InfrastructureConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InfrastructureConfig.

func (*InfrastructureConfig) DeepCopyInto

func (in *InfrastructureConfig) DeepCopyInto(out *InfrastructureConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*InfrastructureConfig) DeepCopyObject

func (in *InfrastructureConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type InfrastructureStatus

type InfrastructureStatus struct {
	metav1.TypeMeta
	// Networks is the status of the infrastructure networks.
	Networks []NetworkStatus
}

InfrastructureStatus contains information about the status of the infrastructure resources.

func (*InfrastructureStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InfrastructureStatus.

func (*InfrastructureStatus) DeepCopyInto

func (in *InfrastructureStatus) DeepCopyInto(out *InfrastructureStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*InfrastructureStatus) DeepCopyObject

func (in *InfrastructureStatus) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MachineImage

type MachineImage struct {
	// Name is the logical name of the machine image.
	Name string
	// Version is the logical version of the machine image.
	Version string
	// SourceURL is the url of the machine image
	SourceURL string
}

MachineImage is a mapping from logical names and versions to provider-specific machine image data.

func (*MachineImage) DeepCopy

func (in *MachineImage) DeepCopy() *MachineImage

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineImage.

func (*MachineImage) DeepCopyInto

func (in *MachineImage) DeepCopyInto(out *MachineImage)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MachineImageVersion

type MachineImageVersion struct {
	// Version is the version of the image.
	Version string
	// SourceURL is the url of the image
	SourceURL string
}

MachineImageVersion contains a version and a provider-specific identifier.

func (*MachineImageVersion) DeepCopy

func (in *MachineImageVersion) DeepCopy() *MachineImageVersion

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineImageVersion.

func (*MachineImageVersion) DeepCopyInto

func (in *MachineImageVersion) DeepCopyInto(out *MachineImageVersion)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MachineImages

type MachineImages struct {
	// Name is the logical name of the machine image.
	Name string
	// Versions contains versions and a provider-specific identifier.
	Versions []MachineImageVersion
}

MachineImages is a mapping from logical names and versions to provider-specific identifiers.

func (*MachineImages) DeepCopy

func (in *MachineImages) DeepCopy() *MachineImages

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineImages.

func (*MachineImages) DeepCopyInto

func (in *MachineImages) DeepCopyInto(out *MachineImages)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MachineType

type MachineType struct {
	// Name is a reference for a machine type object
	Name string
	// Limits defines resources limits of KubeVirt VMs
	Limits *ResourcesLimits
}

MachineType extend machineType object to KubeVirt provider specific config

func (*MachineType) DeepCopy

func (in *MachineType) DeepCopy() *MachineType

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineType.

func (*MachineType) DeepCopyInto

func (in *MachineType) DeepCopyInto(out *MachineType)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkAttachmentDefinitionReference

type NetworkAttachmentDefinitionReference struct {
	// Name is the name of the referenced NetworkAttachmentDefinition.
	Name string
	// Namespace is the namespace of the referenced NetworkAttachmentDefinition.
	Namespace string
}

NetworkAttachmentDefinitionReference represents a NetworkAttachmentDefinition reference.

func (*NetworkAttachmentDefinitionReference) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkAttachmentDefinitionReference.

func (*NetworkAttachmentDefinitionReference) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkStatus

type NetworkStatus struct {
	// Name is the name (in the format <name> or <namespace>/<name>) of the network.
	Name string
	// Default is whether the network is the default or not.
	Default bool
	// SHA is an SHA256 checksum of the network configuration.
	SHA string
}

NetworkStatus contains information about the status of an infrastructure network.

func (*NetworkStatus) DeepCopy

func (in *NetworkStatus) DeepCopy() *NetworkStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkStatus.

func (*NetworkStatus) DeepCopyInto

func (in *NetworkStatus) DeepCopyInto(out *NetworkStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworksConfig

type NetworksConfig struct {
	// SharedNetworks is a list of existing networks that can be shared between multiple clusters, e.g. storage networks.
	SharedNetworks []NetworkAttachmentDefinitionReference
	// TenantNetworks is a list of "tenant" networks that are only used by this cluster.
	TenantNetworks []TenantNetwork
}

NetworksConfig contains information about the configuration of the infrastructure networks.

func (*NetworksConfig) DeepCopy

func (in *NetworksConfig) DeepCopy() *NetworksConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworksConfig.

func (*NetworksConfig) DeepCopyInto

func (in *NetworksConfig) DeepCopyInto(out *NetworksConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourcesLimits

type ResourcesLimits struct {
	// CPU limits
	CPU resource.Quantity
	// Memory limits
	Memory resource.Quantity
}

ResourceLimits define resources limits of KubeVirt VMs

func (*ResourcesLimits) DeepCopy

func (in *ResourcesLimits) DeepCopy() *ResourcesLimits

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourcesLimits.

func (*ResourcesLimits) DeepCopyInto

func (in *ResourcesLimits) DeepCopyInto(out *ResourcesLimits)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TenantNetwork

type TenantNetwork struct {
	// Name is the name of the tenant network.
	Name string
	// Config is the configuration of the tenant network.
	Config string
	// Default is whether the tenant network is the default or not.
	Default bool
}

TenantNetwork represents a "tenant" network that is only used by a single cluster.

func (*TenantNetwork) DeepCopy

func (in *TenantNetwork) DeepCopy() *TenantNetwork

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantNetwork.

func (*TenantNetwork) DeepCopyInto

func (in *TenantNetwork) DeepCopyInto(out *TenantNetwork)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WorkerConfig

type WorkerConfig struct {
	metav1.TypeMeta

	// Devices allows to customize devices attached to KubeVirt VM
	Devices *Devices
	// CPU allows specifying the CPU topology of KubeVirt VM.
	CPU *kubevirtv1.CPU
	// Memory allows specifying the VirtualMachineInstance memory features like huge pages and guest memory settings.
	// Each feature might require appropriate FeatureGate enabled.
	// For hugepages take a look at:
	// k8s - https://kubernetes.io/docs/tasks/manage-hugepages/scheduling-hugepages/
	// okd - https://docs.okd.io/3.9/scaling_performance/managing_hugepages.html#huge-pages-prerequisites
	Memory *kubevirtv1.Memory
	// Set DNS policy for the VM (the same options as for the pod)
	// Defaults to "ClusterFirst".
	// Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'.
	// DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy.
	// To have DNS options set along with hostNetwork, you have to specify DNS policy
	// explicitly to 'ClusterFirstWithHostNet'.
	DNSPolicy corev1.DNSPolicy
	// Specifies the DNS parameters of a VM.
	// Parameters specified here will be merged to the generated DNS
	// configuration based on DNSPolicy.
	DNSConfig *corev1.PodDNSConfig
	// DisablePreAllocatedDataVolumes disables using pre-allocated DataVolumes for VMs. Default is false.
	DisablePreAllocatedDataVolumes bool
	// OvercommitGuestOverhead informs the scheduler to not take the guest-management overhead into account. Instead
	// put the overhead only into the container's memory limit. This can lead to crashes if
	// all memory is in use on a node. Defaults to false.
	OvercommitGuestOverhead bool
}

WorkerConfig contains configuration for VMs

func (*WorkerConfig) DeepCopy

func (in *WorkerConfig) DeepCopy() *WorkerConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkerConfig.

func (*WorkerConfig) DeepCopyInto

func (in *WorkerConfig) DeepCopyInto(out *WorkerConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*WorkerConfig) DeepCopyObject

func (in *WorkerConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type WorkerStatus

type WorkerStatus struct {
	metav1.TypeMeta

	// MachineImages is a list of machine images that have been used in this worker. Usually, the extension controller
	// gets the mapping from name/version to the provider-specific machine image data in its componentconfig. However, if
	// a version that is still in use gets removed from this componentconfig it cannot reconcile anymore existing `Worker`
	// resources that are still using this version. Hence, it stores the used versions in the provider status to ensure
	// reconciliation is possible.
	// +optional
	MachineImages []MachineImage
}

WorkerStatus contains information about created worker resources.

func (*WorkerStatus) DeepCopy

func (in *WorkerStatus) DeepCopy() *WorkerStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkerStatus.

func (*WorkerStatus) DeepCopyInto

func (in *WorkerStatus) DeepCopyInto(out *WorkerStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*WorkerStatus) DeepCopyObject

func (in *WorkerStatus) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

Directories

Path Synopsis
Package v1alpha1 contains the kubevirt provider API resources.
Package v1alpha1 contains the kubevirt provider API resources.

Jump to

Keyboard shortcuts

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