Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions pkg/controller/kubevirt.go
Original file line number Diff line number Diff line change
Expand Up @@ -159,16 +159,16 @@ func (c *Controller) handleAddOrUpdateVMIMigration(key string) error {
srcNodeName := vmi.Status.MigrationState.SourceNode
targetNodeName := vmi.Status.MigrationState.TargetNode
switch vmiMigration.Status.Phase {
case kubevirtv1.MigrationRunning:
klog.Infof("migrate start set options for lsp %s from %s to %s", portName, srcNodeName, targetNodeName)
if err := c.OVNNbClient.SetLogicalSwitchPortMigrateOptions(portName, srcNodeName, targetNodeName); err != nil {
err = fmt.Errorf("failed to set migrate options for lsp %s, %w", portName, err)
case kubevirtv1.MigrationSucceeded:
klog.Infof("migrate end reset options for lsp %s from %s to %s, migrated succeed", portName, srcNodeName, targetNodeName)
if err := c.OVNNbClient.ResetLogicalSwitchPortMigrateOptions(portName, srcNodeName, targetNodeName, false); err != nil {
err = fmt.Errorf("failed to clean migrate options for lsp %s, %w", portName, err)
klog.Error(err)
return err
}
case kubevirtv1.MigrationSucceeded, kubevirtv1.MigrationFailed:
klog.Infof("migrate end clean options for lsp %s from %s to %s, migration completed with status: %s", portName, srcNodeName, targetNodeName, vmiMigration.Status.Phase)
if err := c.OVNNbClient.CleanLogicalSwitchPortMigrateOptions(portName); err != nil {
case kubevirtv1.MigrationFailed:
klog.Infof("migrate end reset options for lsp %s from %s to %s, migrated fail", portName, srcNodeName, targetNodeName)
if err := c.OVNNbClient.ResetLogicalSwitchPortMigrateOptions(portName, srcNodeName, targetNodeName, true); err != nil {
err = fmt.Errorf("failed to clean migrate options for lsp %s, %w", portName, err)
klog.Error(err)
return err
Expand Down
13 changes: 13 additions & 0 deletions pkg/controller/pod.go
Original file line number Diff line number Diff line change
Expand Up @@ -664,6 +664,19 @@ func (c *Controller) reconcileAllocateSubnets(pod *v1.Pod, needAllocatePodNets [
}
}

if isVMPod {
if _, ok := pod.Labels["kubevirt.io/migrationJobUID"]; ok {
if sourceNode, ok := pod.Labels["kubevirt.io/nodeName"]; ok && sourceNode != pod.Spec.NodeName {
klog.Infof("VM pod %s/%s is migrating from %s to %s",
pod.Namespace, pod.Name, sourceNode, pod.Spec.NodeName)
if err := c.OVNNbClient.SetLogicalSwitchPortMigrateOptions(portName, sourceNode, pod.Spec.NodeName); err != nil {
klog.Errorf("failed to set migrate options for VM pod lsp %s: %v", portName, err)
return nil, err
}
}
}
}
Comment on lines +667 to +678
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The nested if statements can be flattened to improve readability.

Suggested change
if isVMPod {
if _, ok := pod.Labels["kubevirt.io/migrationJobUID"]; ok {
if sourceNode, ok := pod.Labels["kubevirt.io/nodeName"]; ok && sourceNode != pod.Spec.NodeName {
klog.Infof("VM pod %s/%s is migrating from %s to %s",
pod.Namespace, pod.Name, sourceNode, pod.Spec.NodeName)
if err := c.OVNNbClient.SetLogicalSwitchPortMigrateOptions(portName, sourceNode, pod.Spec.NodeName); err != nil {
klog.Errorf("failed to set migrate options for VM pod lsp %s: %v", portName, err)
return nil, err
}
}
}
}
if isVMPod {
_, isMigrating := pod.Labels["kubevirt.io/migrationJobUID"]
sourceNode, hasSourceNode := pod.Labels["kubevirt.io/nodeName"]
if isMigrating && hasSourceNode && sourceNode != pod.Spec.NodeName {
klog.Infof("VM pod %s/%s is migrating from %s to %s",
pod.Namespace, pod.Name, sourceNode, pod.Spec.NodeName)
if err := c.OVNNbClient.SetLogicalSwitchPortMigrateOptions(portName, sourceNode, pod.Spec.NodeName); err != nil {
klog.Errorf("failed to set migrate options for VM pod lsp %s: %v", portName, err)
return nil, err
}
}
}


if securityGroupAnnotation != "" || oldSgList != nil {
securityGroups := strings.ReplaceAll(securityGroupAnnotation, " ", "")
newSgList := strings.Split(securityGroups, ",")
Expand Down