Skip to content

Commit

Permalink
fix
Browse files Browse the repository at this point in the history
Signed-off-by: yaroslavborbat <yaroslav.752@gmail.com>
  • Loading branch information
yaroslavborbat committed Oct 22, 2024
1 parent c8d13ed commit 23fc7b3
Showing 1 changed file with 11 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,10 @@ func (h *StatisticHandler) syncStats(current, changed *virtv2.VirtualMachine, kv
if current == nil || changed == nil {
return
}
var stats virtv2.VirtualMachineStats
var (
stats virtv2.VirtualMachineStats
)

if current.Status.Stats != nil {
stats = *current.Status.Stats.DeepCopy()
}
Expand All @@ -210,8 +213,6 @@ func (h *StatisticHandler) syncStats(current, changed *virtv2.VirtualMachine, kv

launchTimeDuration := stats.LaunchTimeDuration

var emptyOSInfo virtv1.VirtualMachineInstanceGuestOSInfo

switch changed.Status.Phase {
case virtv2.MachinePending:
launchTimeDuration.WaitingForDependencies = nil
Expand All @@ -221,7 +222,7 @@ func (h *StatisticHandler) syncStats(current, changed *virtv2.VirtualMachine, kv
launchTimeDuration.VirtualMachineStarting = nil
launchTimeDuration.GuestOSAgentStarting = nil
case virtv2.MachineRunning:
if kvvmi != nil && emptyOSInfo == current.Status.GuestOSInfo {
if kvvmi != nil && osInfoIsEmpty(kvvmi.Status.GuestOSInfo) {
launchTimeDuration.GuestOSAgentStarting = nil
}
}
Expand All @@ -236,7 +237,7 @@ func (h *StatisticHandler) syncStats(current, changed *virtv2.VirtualMachine, kv
if i > 0 && pts.Items[i-1].Phase == phasePreviousPhase[pt.Phase] {
launchTimeDuration.VirtualMachineStarting = &metav1.Duration{Duration: pt.Timestamp.Sub(pts.Items[i-1].Timestamp.Time)}
}
if kvvmi != nil && emptyOSInfo == current.Status.GuestOSInfo && emptyOSInfo != kvvmi.Status.GuestOSInfo && !pt.Timestamp.IsZero() {
if kvvmi != nil && osInfoIsEmpty(current.Status.GuestOSInfo) && !osInfoIsEmpty(kvvmi.Status.GuestOSInfo) && !pt.Timestamp.IsZero() {
launchTimeDuration.GuestOSAgentStarting = &metav1.Duration{Duration: time.Now().Truncate(time.Second).Sub(pt.Timestamp.Time)}
}
}
Expand All @@ -246,6 +247,11 @@ func (h *StatisticHandler) syncStats(current, changed *virtv2.VirtualMachine, kv
changed.Status.Stats = &stats
}

func osInfoIsEmpty(info virtv1.VirtualMachineInstanceGuestOSInfo) bool {
var emptyOSInfo virtv1.VirtualMachineInstanceGuestOSInfo
return emptyOSInfo == info
}

var phasePreviousPhase = map[virtv2.MachinePhase]virtv2.MachinePhase{
virtv2.MachineRunning: virtv2.MachineStarting,
virtv2.MachineStarting: virtv2.MachinePending,
Expand Down

0 comments on commit 23fc7b3

Please sign in to comment.