Skip to content

Commit 9c18920

Browse files
committed
fix
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
1 parent 04913a4 commit 9c18920

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

server/src/main/java/com/cloud/ha/HighAvailabilityManagerImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import static org.apache.cloudstack.framework.config.ConfigKey.Scope.Zone;
2020

2121
import java.util.ArrayList;
22+
import java.util.Arrays;
2223
import java.util.Date;
2324
import java.util.HashMap;
2425
import java.util.List;
@@ -134,7 +135,7 @@ public class HighAvailabilityManagerImpl extends ManagerBase implements Configur
134135
"Enable/Disable alerts for the VM HA operations, it is enabled by default.", true, Zone);
135136

136137
protected static final List<ReasonType> CancellableWorkReasonTypes =
137-
List.of(ReasonType.HostMaintenance, ReasonType.HostDown, ReasonType.HostDegraded);
138+
Arrays.asList(ReasonType.HostMaintenance, ReasonType.HostDown, ReasonType.HostDegraded);
138139

139140
WorkerThread[] _workers;
140141
boolean _stopped;
@@ -789,7 +790,6 @@ protected boolean checkAndCancelWorkIfNeeded(final HaWorkVO work) {
789790
if (!CancellableWorkReasonTypes.contains(work.getReasonType())) {
790791
return false;
791792
}
792-
793793
Status hostStatus = investigate(work.getHostId());
794794
if (!Status.Up.equals(hostStatus)) {
795795
return false;

server/src/test/java/com/cloud/ha/HighAvailabilityManagerImplTest.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -449,15 +449,24 @@ public void testCheckAndCancelWorkIfNeeded_StepNotInvestigating() {
449449
Mockito.verify(mockWork, Mockito.never()).setStep(Mockito.any());
450450
}
451451

452-
@Test
453-
public void testCheckAndCancelWorkIfNeeded_InvalidReasonType() {
452+
private void runInvalidReasonCheckAndCancelWorkIfNeeded(HighAvailabilityManager.ReasonType reasonType) {
454453
Mockito.when(mockWork.getStep()).thenReturn(Step.Investigating);
455-
Mockito.when(mockWork.getReasonType()).thenReturn(HighAvailabilityManager.ReasonType.Unknown);
454+
Mockito.when(mockWork.getReasonType()).thenReturn(reasonType);
456455
boolean result = highAvailabilityManagerSpy.checkAndCancelWorkIfNeeded(mockWork);
457456
assertFalse(result);
458457
Mockito.verify(mockWork, Mockito.never()).setStep(Mockito.any());
459458
}
460459

460+
@Test
461+
public void testCheckAndCancelWorkIfNeeded_InvalidReasonType() {
462+
runInvalidReasonCheckAndCancelWorkIfNeeded(HighAvailabilityManager.ReasonType.Unknown);
463+
}
464+
465+
@Test
466+
public void testCheckAndCancelWorkIfNeeded_NullReasonType() {
467+
runInvalidReasonCheckAndCancelWorkIfNeeded(null);
468+
}
469+
461470
@Test
462471
public void testCheckAndCancelWorkIfNeeded_HostStatusNotUp() {
463472
Mockito.when(mockWork.getStep()).thenReturn(Step.Investigating);

0 commit comments

Comments
 (0)