validators

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Aug 9, 2021 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// NicInterfaceCheckID defines an ID of a NIC interface model check
	NicInterfaceCheckID = CheckID("nic.interface")
	// NicOnBootID defines an ID of a NIC on_boot == fales check
	NicOnBootID = CheckID("nic.on_boot")
	// NicPluggedID defines an ID of a NIC plugged == false check
	NicPluggedID = CheckID("nic.plugged")
	// NicVNicPortMirroringID defines an ID of a vnic_profile.port_mirroring == true check
	NicVNicPortMirroringID = CheckID("nic.vnic_profile.port_mirroring")
	// NicVNicCustomPropertiesID defines an ID of a vnic_profile.custom_properties presence check
	NicVNicCustomPropertiesID = CheckID("nic.vnic_profile.custom_properties")
	// NicVNicNetworkFilterID defines an ID of a vnic_profile.networ_filter presence check
	NicVNicNetworkFilterID = CheckID("nic.vnic_profile.network_filter")
	// NicVNicQosID defines an ID of a vnic_profile.qos presence check
	NicVNicQosID = CheckID("nic.vnic_profile.qos")
	// DiskAttachmentsExistID defines an ID of a disk attachment existence check
	DiskAttachmentsExistID = CheckID("disk_attachments.exist")
	// DiskAttachmentInterfaceID defines an ID of a disk attachment interface check
	DiskAttachmentInterfaceID = CheckID("disk_attachment.interface")
	// DiskAttachmentLogicalNameID defines an ID of a disk_attachment.logical_name check
	DiskAttachmentLogicalNameID = CheckID("disk_attachment.logical_name")
	// DiskAttachmentPassDiscardID defines an ID of a disk_attachment.pass_discard == true check
	DiskAttachmentPassDiscardID = CheckID("disk_attachment.pass_discard")
	// DiskAttachmentUsesScsiReservationID defines and ID of a disk_attachment.uses_scsi_reservation == true check
	DiskAttachmentUsesScsiReservationID = CheckID("disk_attachment.uses_scsi_reservation")
	// DiskInterfaceID defines an ID of a disk interface check
	DiskInterfaceID = CheckID("disk_attachment.disk.interface")
	// DiskLogicalNameID defines an ID of a disk.logical_name check
	DiskLogicalNameID = CheckID("disk_attachment.disk.logical_name")
	// DiskUsesScsiReservationID defines an ID of a disk.uses_scsi_reservation == true check
	DiskUsesScsiReservationID = CheckID("disk_attachment.disk.uses_scsi_reservation")
	// DiskBackupID defines an ID of a disk.backup == 'incremental' check
	DiskBackupID = CheckID("disk_attachment.disk.backup")
	// DiskLunStorageID defines an ID of a disk.lun_storage presence check
	DiskLunStorageID = CheckID("disk_attachment.disk.lun_storage")
	// DiskPropagateErrorsID defines an ID of a disk.propagate_errors presence check
	DiskPropagateErrorsID = CheckID("disk_attachment.disk.propagate_errors")
	// DiskWipeAfterDeleteID defines an ID of a disk.wipe_after_delete == true check
	DiskWipeAfterDeleteID = CheckID("disk_attachment.disk.wipe_after_delete")
	// DiskStatusID defines an ID of a disk.status == 'ok'
	DiskStatusID = CheckID("disk_attachment.disk.status")
	// DiskStoragaTypeID defines an ID of a disk.storage_type != image check
	DiskStoragaTypeID = CheckID("disk_attachment.disk.storage_type")
	// DiskSgioID defines an ID of a disk.sgio == true check
	DiskSgioID = CheckID("disk_attachment.disk.sgio")
	// VMStatusID defines an ID of a VM status check
	VMStatusID = CheckID("vm.status")
	// VMBiosBootMenuID defines an ID of a vm.bios.boot_menu.enabled == true check
	VMBiosBootMenuID = CheckID("vm.bios.boot_menu.enabled")
	// VMBiosTypeID defines an ID of a vm.bios.type check
	VMBiosTypeID = CheckID("vm.bios.type")
	// VMBiosTypeQ35SecureBootID defines an ID of a vm.bios.type != q35_secure_boot check
	VMBiosTypeQ35SecureBootID = CheckID("vm.bios.type.q35_secure_boot")
	// VMTimezoneID defines an ID of a check whether VM timezone is UTC-compatible
	VMTimezoneID = CheckID("vm.timezone")
	// VMCpuArchitectureID defines an ID of a vm.cpu.architecture != s390x check
	VMCpuArchitectureID = CheckID("vm.cpu.architecture")
	// VMCpuTuneID defines an ID of a vm.cpu.cpu_tune mapping check
	VMCpuTuneID = CheckID("vm.cpu.cpu_tune")
	// VMCpuSharesID defines an ID of a vm.cpu_shares check
	VMCpuSharesID = CheckID("vm.cpu_shares")
	// VMCustomPropertiesID defines an ID of a vm.custom_properties check
	VMCustomPropertiesID = CheckID("vm.custom_properties")
	// VMDisplayTypeID defines an ID of a vm.display.type == spice check
	VMDisplayTypeID = CheckID("vm.display.type")
	// VMHasIllegalImagesID defines an ID of a vm.has_illegal_images == true check
	VMHasIllegalImagesID = CheckID("vm.has_illegal_images")
	// VMHighAvailabilityPriorityID defines an ID of a vm.high_availability.priority check
	VMHighAvailabilityPriorityID = CheckID("vm.high_availability.priority")
	// VMIoThreadsID defines an ID of a vm.io.threads check
	VMIoThreadsID = CheckID("vm.io.threads")
	// VMMemoryPolicyBallooningID defines an ID of a vm.memory_policy.ballooning == true check
	VMMemoryPolicyBallooningID = CheckID("vm.memory_policy.ballooning")
	// VMMemoryPolicyOvercommitPercentID defines an ID of a vm.memory_policy.over_commit.percent check
	VMMemoryPolicyOvercommitPercentID = CheckID("vm.memory_policy.over_commit.percent")
	// VMMemoryPolicyGuaranteedID defines an ID of a vm.memory_policy.guaranteed check
	VMMemoryPolicyGuaranteedID = CheckID("vm.memory_policy.guaranteed")
	// VMCustomEmulatedMachine defines machine type
	VMCustomEmulatedMachine = CheckID("vm.machine.type")
	// VMMemoryTemplateLimitID defines that vm memory is below template requirements
	VMMemoryTemplateLimitID = CheckID("vm.memory template.requests")
	// VMMigrationID defines an ID of a vm.migration check
	VMMigrationID = CheckID("vm.migration")
	// VMMigrationDowntimeID defines an ID of a vm.migration_downtime check
	VMMigrationDowntimeID = CheckID("vm.migration_downtime")
	// VMNumaTuneModeID defines an ID of a vm.numa_tune_mode check
	VMNumaTuneModeID = CheckID("vm.numa_tune_mode")
	// VMOriginID defines an ID of a vm.origin == kubevirt check
	VMOriginID = CheckID("vm.origin")
	// VMPlacementPolicyAffinityID defines an ID of a vm.placement_policy.affinity == migratable check
	VMPlacementPolicyAffinityID = CheckID("vm.placement_policy.affinity")
	// VMRngDeviceSourceID defines an ID of a vm.rng_device.source != urandom check
	VMRngDeviceSourceID = CheckID("vm.rng_device.source")
	// VMSoundcardEnabledID defines an ID of a vm.soundcard_enabled == true check
	VMSoundcardEnabledID = CheckID("vm.soundcard_enabled")
	// VMStartPausedID defines an ID of a vm.start_paused == true check
	VMStartPausedID = CheckID("vm.start_paused")
	// VMStorageErrorResumeBehaviourID defines an ID of a vm.storage_error_resume_behaviour check
	VMStorageErrorResumeBehaviourID = CheckID("vm.storage_error_resume_behaviour")
	// VMTunnelMigrationID defines an ID of a vm.tunnel_migration == true check
	VMTunnelMigrationID = CheckID("vm.tunnel_migration")
	// VMUsbID defines an ID of a vm.usb check
	VMUsbID = CheckID("vm.usb")
	// VMGraphicConsolesID defines an ID of a vm.graphic_consoles.protocol == spice check
	VMGraphicConsolesID = CheckID("vm.graphic_consoles.protocol")
	// VMHostDevicesID defines an ID of a vm.host_devices check
	VMHostDevicesID = CheckID("vm.host_devices")
	// VMReportedDevicesID defines an ID of a vm.reported_devices check
	VMReportedDevicesID = CheckID("vm.reported_devices")
	// VMQuotaID defines an ID of a vm.quota check
	VMQuotaID = CheckID("vm.quota")
	// VMWatchdogsID defines an ID of a vm.watchdogs
	VMWatchdogsID = CheckID("vm.watchdogs")
	// VMCdromsID defines an ID of a vm.cdroms storage domain type check
	VMCdromsID = CheckID("vm.cdroms.file.storage_domain.type")
	// VMFloppiesID defines an ID of a vm.floppies presence check
	VMFloppiesID = CheckID("vm.floppies")
	// NetworkMappingID defines an ID of a check verifying that all the required source networks are present in the resource mapping
	NetworkMappingID = CheckID("network.mapping")
	// NetworkTypeID defines an ID of a check verifying supported network types
	NetworkTypeID = CheckID("network.type")
	// NetworkTargetID defines an ID of a check verifying existence of target network
	NetworkTargetID = CheckID("network.target")
	// NetworkConfig defines an ID of a check verifying correcness of target network config
	NetworkConfig = CheckID("network.config")
	// NetworkMultiplePodTargetsID defines an ID of a check verifying that there is not more than one network mapped to a pod network
	NetworkMultiplePodTargetsID = CheckID("network.pod.multiple")
	// NetworkSourceDuplicateID defines an ID of a check verifying that there are no duplicated keys in source networks
	NetworkSourceDuplicateID = CheckID("network.source.duplicate")
	// StorageTargetID defines an ID of a check verifying existence of target storage class
	StorageTargetID = CheckID("storage.target")
	// DiskTargetID defines an ID of a check verifying existence of target storage class
	DiskTargetID = CheckID("disk.target")
	// StorageTargetDefaultClass defines an ID of a check verifying whether the default storage class is used in mapping
	StorageTargetDefaultClass = CheckID("storage.target.default")
)

Variables

View Source
var InterfaceModelMapping = map[string]string{"e1000": "e1000", "rtl8139": "rtl8139", "virtio": "virtio", "pci_passthrough": "pci_passthrough"}

InterfaceModelMapping defines mapping of NIC device models between oVirt and kubevirt domains

Functions

func ValidateDiskStatus added in v0.0.4

func ValidateDiskStatus(diskAttachment ovirtsdk.DiskAttachment) bool

ValidateDiskStatus return true if the disk status is valid:

Types

type CheckID

type CheckID string

CheckID identifies validation check for Virtual Machine Import

type NetworkAttachmentDefinitionProvider

type NetworkAttachmentDefinitionProvider interface {
	//Find retrieves NetworkAttachmentDefinition for given name and optional namespace
	Find(name string, namespace string) (*netv1.NetworkAttachmentDefinition, error)
}

NetworkAttachmentDefinitionProvider provides NetworkAttachmentDefinition retrieval capabilities

type NetworkAttachmentDefinitions

type NetworkAttachmentDefinitions struct {
	Client client.Client
}

NetworkAttachmentDefinitions is responsible for finding network attachment definitions

func (*NetworkAttachmentDefinitions) Find

Find retrieves network attachment definition with provided name and namespace

type NetworkMappingValidator

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

NetworkMappingValidator provides network mappings validation logic

func NewNetworkMappingValidator

func NewNetworkMappingValidator(provider NetworkAttachmentDefinitionProvider) NetworkMappingValidator

NewNetworkMappingValidator creates new NetworkMappingValidator that will use given provider

func (*NetworkMappingValidator) ValidateNetworkMapping

func (v *NetworkMappingValidator) ValidateNetworkMapping(nics []*ovirtsdk.Nic, mapping *[]v2vv1.NetworkResourceMappingItem, crNamespace string) []ValidationFailure

ValidateNetworkMapping validates network mapping

type StorageClassProvider

type StorageClassProvider interface {
	Find(name string) (*v1.StorageClass, error)
}

StorageClassProvider retrieves StorageClass for given name

type StorageClasses

type StorageClasses struct {
	Client client.Client
}

StorageClasses is responsible for finding storage classes

func (*StorageClasses) Find

func (finder *StorageClasses) Find(name string) (*v1.StorageClass, error)

Find retrieves storage class with provided name

type StorageMappingValidator

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

StorageMappingValidator provides storage mappings validation logic

func NewStorageMappingValidator

func NewStorageMappingValidator(provider StorageClassProvider) StorageMappingValidator

NewStorageMappingValidator creates new StorageMappingValidator that will use given provider

func (*StorageMappingValidator) ValidateStorageMapping

func (v *StorageMappingValidator) ValidateStorageMapping(
	attachments []*ovirtsdk.DiskAttachment,
	storageMapping *[]v2vv1.StorageResourceMappingItem,
	diskMapping *[]v2vv1.StorageResourceMappingItem,
) []ValidationFailure

ValidateStorageMapping validates storage domain mapping and disk mapping

type ValidationFailure

type ValidationFailure struct {
	// Check ID
	ID CheckID
	// Verbose explanation of the failure
	Message string
}

ValidationFailure describes Virtual Machine Import validation failure

func ValidateDiskAttachments

func ValidateDiskAttachments(diskAttachments []*ovirtsdk.DiskAttachment) []ValidationFailure

ValidateDiskAttachments validates disk attachments

func ValidateNics

func ValidateNics(nics []*ovirtsdk.Nic) []ValidationFailure

ValidateNics validates given slice of NICs

func ValidateVM

ValidateVM validates given VM

type ValidatorWrapper

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

ValidatorWrapper exposes validator package API as a struct

func NewValidatorWrapper

func NewValidatorWrapper(client client.Client, kvConfigProvider kvConfig.KubeVirtConfigProvider) *ValidatorWrapper

NewValidatorWrapper creates new, configured ValidatorWrapper

func (*ValidatorWrapper) ValidateDiskAttachments

func (v *ValidatorWrapper) ValidateDiskAttachments(diskAttachments []*ovirtsdk.DiskAttachment) []ValidationFailure

ValidateDiskAttachments wraps validators package implementation of ValidateDiskAttachments function

func (*ValidatorWrapper) ValidateDiskStatus added in v0.0.4

func (v *ValidatorWrapper) ValidateDiskStatus(diskAttachment ovirtsdk.DiskAttachment) bool

ValidateDiskStatus return true if the disk status is valid:

func (*ValidatorWrapper) ValidateNetworkMapping

func (v *ValidatorWrapper) ValidateNetworkMapping(nics []*ovirtsdk.Nic, mapping *[]v2vv1.NetworkResourceMappingItem, crNamespace string) []ValidationFailure

ValidateNetworkMapping wraps networkMappingValidator call

func (*ValidatorWrapper) ValidateNics

func (v *ValidatorWrapper) ValidateNics(nics []*ovirtsdk.Nic) []ValidationFailure

ValidateNics wraps validators package implementation of ValidateNics function

func (*ValidatorWrapper) ValidateStorageMapping

func (v *ValidatorWrapper) ValidateStorageMapping(
	attachments []*ovirtsdk.DiskAttachment,
	storageMapping *[]v2vv1.StorageResourceMappingItem,
	diskMappings *[]v2vv1.StorageResourceMappingItem,
) []ValidationFailure

ValidateStorageMapping wraps storageMappingValidator call

func (*ValidatorWrapper) ValidateVM

ValidateVM wraps validators package implementation of ValidateVM function

Jump to

Keyboard shortcuts

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