VirtualMachineInstanceMigration
kubevirt.io / v1
apiVersion: kubevirt.io/v1
kind: VirtualMachineInstanceMigration
metadata:
name: example
apiVersion
string
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind
string
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
object
spec object required
addedNodeSelector
object
AddedNodeSelector is an additional selector that can be used to
complement a NodeSelector or NodeAffinity as set on the VM
to restrict the set of allowed target nodes for a migration.
In case of key collisions, values set on the VM objects
are going to be preserved to ensure that addedNodeSelector
can only restrict but not bypass constraints already set on the VM object.
priority
string
Priority of the migration. This can be one of 'system-critical', 'user-triggered', 'system-maintenance'.
receive object
If receieve is specified, this VirtualMachineInstanceMigration will be considered the target
migrationID
string required
A unique identifier to identify this migration.
sendTo object
If sendTo is specified, this VirtualMachineInstanceMigration will be considered the source
connectURL
string required
The synchronization controller URL to connect to.
migrationID
string required
A unique identifier to identify this migration.
vmiName
string
The name of the VMI to perform the migration on. VMI must exist in the migration objects namespace
status object
VirtualMachineInstanceMigration reprents information pertaining to a VMI's migration.
conditions []object
lastProbeTime
string
format:
date-time
lastTransitionTime
string
format:
date-time
message
string
reason
string
status
string required
type
string required
migrationState object
Represents the status of a live migration
abortRequested
boolean
Indicates that the migration has been requested to abort
abortStatus
string
Indicates the final status of the live migration abortion
completed
boolean
Indicates the migration completed
endTimestamp
string
The time the migration action ended
format:
date-time
failed
boolean
Indicates that the migration failed
failureReason
string
Contains the reason why the migration failed
migrationConfiguration object
Migration configurations to apply
allowAutoConverge
boolean
AllowAutoConverge allows the platform to compromise performance/availability of VMIs to
guarantee successful VMI live migrations. Defaults to false
allowPostCopy
boolean
AllowPostCopy enables post-copy live migrations. Such migrations allow even the busiest VMIs
to successfully live-migrate. However, events like a network failure can cause a VMI crash.
If set to true, migrations will still start in pre-copy, but switch to post-copy when
CompletionTimeoutPerGiB triggers. Defaults to false
allowWorkloadDisruption
boolean
AllowWorkloadDisruption indicates that the migration shouldn't be
canceled after acceptableCompletionTime is exceeded. Instead, if
permitted, migration will be switched to post-copy or the VMI will be
paused to allow the migration to complete
bandwidthPerMigration
string | integer
BandwidthPerMigration limits the amount of network bandwidth live migrations are allowed to use.
The value is in quantity per second. Defaults to 0 (no limit)
string pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
completionTimeoutPerGiB
integer
CompletionTimeoutPerGiB is the maximum number of seconds per GiB a migration is allowed to take.
If the timeout is reached, the migration will be either paused, switched
to post-copy or cancelled depending on other settings. Defaults to 150
format:
int64
disableTLS
boolean
When set to true, DisableTLS will disable the additional layer of live migration encryption
provided by KubeVirt. This is usually a bad idea. Defaults to false
matchSELinuxLevelOnMigration
boolean
By default, the SELinux level of target virt-launcher pods is forced to the level of the source virt-launcher.
When set to true, MatchSELinuxLevelOnMigration lets the CRI auto-assign a random level to the target.
That will ensure the target virt-launcher doesn't share categories with another pod on the node.
However, migrations will fail when using RWX volumes that don't automatically deal with SELinux levels.
network
string
Network is the name of the CNI network to use for live migrations. By default, migrations go
through the pod network.
nodeDrainTaintKey
string
NodeDrainTaintKey defines the taint key that indicates a node should be drained.
Note: this option relies on the deprecated node taint feature. Default: kubevirt.io/drain
parallelMigrationsPerCluster
integer
ParallelMigrationsPerCluster is the total number of concurrent live migrations
allowed cluster-wide. Defaults to 5
format:
int32
parallelOutboundMigrationsPerNode
integer
ParallelOutboundMigrationsPerNode is the maximum number of concurrent outgoing live migrations
allowed per node. Defaults to 2
format:
int32
progressTimeout
integer
ProgressTimeout is the maximum number of seconds a live migration is allowed to make no progress.
Hitting this timeout means a migration transferred 0 data for that many seconds. The migration is
then considered stuck and therefore cancelled. Defaults to 150
format:
int64
unsafeMigrationOverride
boolean
UnsafeMigrationOverride allows live migrations to occur even if the compatibility check
indicates the migration will be unsafe to the guest. Defaults to false
utilityVolumesTimeout
integer
UtilityVolumesTimeout is the maximum number of seconds a migration can wait in Pending state
for utility volumes to be detached. If utility volumes are still present after this timeout,
the migration will be marked as Failed. Defaults to 150
format:
int64
migrationNetworkType
string
The type of migration network, either 'pod' or 'migration'
migrationPolicyName
string
Name of the migration policy. If string is empty, no policy is matched
migrationUid
string
The VirtualMachineInstanceMigration object associated with this migration
mode
string
Lets us know if the vmi is currently running pre or post copy migration
sourceNode
string
The source node that the VMI originated on
sourcePersistentStatePVCName
string
If the VMI being migrated uses persistent features (backend-storage), its source PVC name is saved here
sourcePod
string
sourceState object
SourceState contains migration state managed by the source virt handler
domainName
string
The name of the domain on the source libvirt domain
domainNamespace
string
Namespace used in the name of the source libvirt domain. Can be used to find and modify paths in the domain
migrationUID
string
The Source VirtualMachineInstanceMigration object associated with this migration
node
string
The source node that the VMI originated on
nodeSelectors
object
Node selectors needed by the target to start the receiving pod.
persistentStatePVCName
string
If the VMI being migrated uses persistent features (backend-storage), its source PVC name is saved here
pod
string
The source pod that the VMI is originated on
selinuxContext
string
SELinuxContext is the actual SELinux context of the pod
syncAddress
string
The ip address/fqdn:port combination to use to synchronize the VMI with the target.
virtualMachineInstanceUID
string
VirtualMachineInstanceUID is the UID of the target virtual machine instance
startTimestamp
string
The time the migration action began
format:
date-time
targetAttachmentPodUID
string
The UID of the target attachment pod for hotplug volumes
targetCPUSet
[]integer
If the VMI requires dedicated CPUs, this field will
hold the dedicated CPU set on the target node
targetDirectMigrationNodePorts
object
The list of ports opened for live migration on the destination node
targetMemoryOverhead
string | integer
TargetMemoryOverhead is the memory overhead of the target virt-launcher pod
string pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
targetNode
string
The target node that the VMI is moving to
targetNodeAddress
string
The address of the target node to use for the migration
targetNodeDomainDetected
boolean
The Target Node has seen the Domain Start Event
targetNodeDomainReadyTimestamp
string
The timestamp at which the target node detects the domain is active
format:
date-time
targetNodeTopology
string
If the VMI requires dedicated CPUs, this field will
hold the numa topology on the target node
targetPersistentStatePVCName
string
If the VMI being migrated uses persistent features (backend-storage), its target PVC name is saved here
targetPod
string
The target pod that the VMI is moving to
targetState object
TargetState contains migration state managed by the target virt handler
attachmentPodUID
string
The UID of the target attachment pod for hotplug volumes
cpuSet
[]integer
If the VMI requires dedicated CPUs, this field will
hold the dedicated CPU set on the target node
directMigrationNodePorts
object
The list of ports opened for live migration on the destination node
domainDetected
boolean
The Target Node has seen the Domain Start Event
domainName
string
The name of the domain on the source libvirt domain
domainNamespace
string
Namespace used in the name of the source libvirt domain. Can be used to find and modify paths in the domain
domainReadyTimestamp
string
The timestamp at which the target node detects the domain is active
format:
date-time
migrationUID
string
The Source VirtualMachineInstanceMigration object associated with this migration
node
string
The source node that the VMI originated on
nodeAddress
string
The address of the target node to use for the migration
nodeTopology
string
If the VMI requires dedicated CPUs, this field will
hold the numa topology on the target node
persistentStatePVCName
string
If the VMI being migrated uses persistent features (backend-storage), its source PVC name is saved here
pod
string
The source pod that the VMI is originated on
selinuxContext
string
SELinuxContext is the actual SELinux context of the pod
syncAddress
string
The ip address/fqdn:port combination to use to synchronize the VMI with the target.
virtualMachineInstanceUID
string
VirtualMachineInstanceUID is the UID of the target virtual machine instance
phase
string
VirtualMachineInstanceMigrationPhase is a label for the condition of a VirtualMachineInstanceMigration at the current time.
phaseTransitionTimestamps []object
PhaseTransitionTimestamp is the timestamp of when the last phase change occurred
phase
string
Phase is the status of the VirtualMachineInstanceMigrationPhase in kubernetes world. It is not the VirtualMachineInstanceMigrationPhase status, but partially correlates to it.
phaseTransitionTimestamp
string
PhaseTransitionTimestamp is the timestamp of when the phase change occurred
format:
date-time
synchronizationAddresses
[]string
The synchronization addresses one can use to connect to the synchronization controller, includes the port, if multiple
addresses are available, the first one is reported in the synchronizationAddress field.
No matches. Try .spec.addedNodeSelector for an exact path