Skip to content

Commit 849efc7

Browse files
init3
Signed-off-by: Yaroslav Borbat <[email protected]>
1 parent 52c087f commit 849efc7

File tree

15 files changed

+281
-295
lines changed

15 files changed

+281
-295
lines changed

api/core/v1alpha2/virtual_disk.go

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,6 @@ type VirtualDiskStatus struct {
8282

8383
// Migration information.
8484
MigrationInfo VirtualDiskMigrationInfo `json:"migrationInfo,omitempty"`
85-
// Migration requests.
86-
MigrationRequests []VirtualDiskMigrationRequest `json:"migrationRequest,omitempty"`
8785
}
8886

8987
// VirtualDisk statistics.
@@ -232,17 +230,3 @@ type VirtualDiskMigrationInfo struct {
232230
StartTimestamp metav1.Time `json:"startTimestamp,omitempty"`
233231
EndTimestamp metav1.Time `json:"endTimestamp,omitempty"`
234232
}
235-
236-
type VirtualDiskMigrationRequest struct {
237-
Action VirtualDiskMigrationRequestAction `json:"action"`
238-
Requester string `json:"requester"`
239-
StorageClassName string `json:"storageClassName"`
240-
}
241-
242-
type VirtualDiskMigrationRequestAction string
243-
244-
const (
245-
VirtualDiskMigrationRequestActionMigrate VirtualDiskMigrationRequestAction = "migrate"
246-
VirtualDiskMigrationRequestActionRevert VirtualDiskMigrationRequestAction = "revert"
247-
VirtualDiskMigrationRequestActionComplete VirtualDiskMigrationRequestAction = "complete"
248-
)

api/core/v1alpha2/vmcondition/condition.go

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -82,16 +82,22 @@ const (
8282
ReasonRestartAwaitingVMClassChangesExist Reason = "RestartAwaitingVMClassChangesExist"
8383
ReasonRestartNoNeed Reason = "NoNeedRestart"
8484

85-
ReasonMigratable Reason = "VirtualMachineMigratable"
86-
ReasonNotMigratable Reason = "VirtualMachineNotMigratable"
87-
88-
ReasonVmIsMigrating Reason = "VirtualMachineMigrating"
85+
ReasonMigratable Reason = "VirtualMachineMigratable"
86+
ReasonNonMigratable Reason = "VirtualMachineNonMigratable"
87+
ReasonDisksNotMigratable Reason = "VirtualMachineDisksNotMigratable"
88+
89+
ReasonMigratingPending Reason = "Pending"
90+
ReasonMigratingReadyToMigrate Reason = "ReadyToMigrate"
91+
ReasonMigratingInProgress Reason = "InProgress"
92+
ReasonVmIsMigrating Reason = "VirtualMachineMigrating"
93+
// TODO: remove it
8994
ReasonVmIsNotMigrating Reason = "VirtualMachineNotMigrating"
9095
ReasonLastMigrationFinishedWithError Reason = "LastMigrationFinishedWithError"
91-
ReasonVmIsNotRunning Reason = "VirtualMachineNotRunning"
92-
ReasonVmIsRunning Reason = "VirtualMachineRunning"
93-
ReasonInternalVirtualMachineError Reason = "InternalVirtualMachineError"
94-
ReasonPodNotStarted Reason = "PodNotStarted"
96+
97+
ReasonVmIsNotRunning Reason = "VirtualMachineNotRunning"
98+
ReasonVmIsRunning Reason = "VirtualMachineRunning"
99+
ReasonInternalVirtualMachineError Reason = "InternalVirtualMachineError"
100+
ReasonPodNotStarted Reason = "PodNotStarted"
95101

96102
// ReasonFilesystemFrozen indicates that virtual machine's filesystem has been successfully frozen.
97103
ReasonFilesystemFrozen Reason = "Frozen"

api/core/v1alpha2/vmopcondition/condition.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,9 @@ const (
8080
// ReasonOtherMigrationInProgress is a ReasonCompleted indicating that there are other migrations in progress.
8181
ReasonOtherMigrationInProgress ReasonCompleted = "OtherMigrationInProgress"
8282

83+
// ReasonWaitingForVirtualMachineToBeReadyToMigrate is a ReasonCompleted indicating that the virtual machine is not ready to be migrated.
84+
ReasonWaitingForVirtualMachineToBeReadyToMigrate ReasonCompleted = "WaitingForVirtualMachineToBeReadyToMigrate"
85+
8386
// ReasonOperationFailed is a ReasonCompleted indicating that operation has failed.
8487
ReasonOperationFailed ReasonCompleted = "OperationFailed"
8588

api/core/v1alpha2/zz_generated.deepcopy.go

Lines changed: 0 additions & 21 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crds/virtualdisks.yaml

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -391,22 +391,6 @@ spec:
391391
- completed
392392
- failed
393393
type: object
394-
migrationRequest:
395-
description: Migration requests.
396-
items:
397-
properties:
398-
action:
399-
type: string
400-
requester:
401-
type: string
402-
storageClassName:
403-
type: string
404-
required:
405-
- action
406-
- requester
407-
- storageClassName
408-
type: object
409-
type: array
410394
observedGeneration:
411395
description: Resource generation last processed by the controller.
412396
format: int64

images/virtualization-artifact/pkg/apiserver/api/generated/openapi/zz_generated.openapi.go

Lines changed: 1 addition & 50 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

images/virtualization-artifact/pkg/controller/kvbuilder/kvvm_utils.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -197,14 +197,20 @@ func ApplyVirtualMachineSpec(
197197
// VirtualDisk is attached as a regular disk.
198198

199199
vd := vdByName[bd.Name]
200+
201+
pvcName := vd.Status.Target.PersistentVolumeClaim
202+
if vd.Status.MigrationInfo.SourcePVC != "" {
203+
pvcName = vd.Status.MigrationInfo.SourcePVC
204+
}
205+
200206
// VirtualDisk doesn't have pvc yet: wait for pvc and reconcile again.
201-
if vd.Status.Target.PersistentVolumeClaim == "" {
207+
if pvcName == "" {
202208
continue
203209
}
204210

205211
name := GenerateVMDDiskName(bd.Name)
206212
if err := kvvm.SetDisk(name, SetDiskOptions{
207-
PersistentVolumeClaim: pointer.GetPointer(vd.Status.Target.PersistentVolumeClaim),
213+
PersistentVolumeClaim: pointer.GetPointer(pvcName),
208214
Serial: GenerateSerialFromObject(vd),
209215
BootOrder: bootOrder,
210216
}); err != nil {

images/virtualization-artifact/pkg/controller/service/virtualdisk-migration/service.go

Lines changed: 0 additions & 96 deletions
This file was deleted.

images/virtualization-artifact/pkg/controller/vd/internal/inuse.go

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -223,13 +223,7 @@ func (h InUseHandler) isVMActive(ctx context.Context, vm virtv2.VirtualMachine)
223223
}
224224

225225
func (h InUseHandler) updateAttachedVirtualMachinesStatus(vd *virtv2.VirtualDisk, usageMap map[string]bool) {
226-
var currentlyMountedVM string
227-
for _, attachedVM := range vd.Status.AttachedToVirtualMachines {
228-
if attachedVM.Mounted {
229-
currentlyMountedVM = attachedVM.Name
230-
break
231-
}
232-
}
226+
currentlyMountedVM := currentlyMountedVM(vd)
233227

234228
attachedVMs := make([]virtv2.AttachedVirtualMachine, 0, len(usageMap))
235229
setAnyToTrue := false
@@ -318,3 +312,14 @@ func (h InUseHandler) checkUsageByCVI(ctx context.Context, vd *virtv2.VirtualDis
318312

319313
return false, nil
320314
}
315+
316+
func currentlyMountedVM(vd *virtv2.VirtualDisk) string {
317+
var currentlyMountedVM string
318+
for _, attachedVM := range vd.Status.AttachedToVirtualMachines {
319+
if attachedVM.Mounted {
320+
currentlyMountedVM = attachedVM.Name
321+
break
322+
}
323+
}
324+
return currentlyMountedVM
325+
}

0 commit comments

Comments
 (0)