Skip to content

Commit fffcef0

Browse files
keep maintenance state on trigger shutdown call when ms is in maintenance
1 parent 3785dee commit fffcef0

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

plugins/maintenance/src/main/java/org/apache/cloudstack/maintenance/ManagementServerMaintenanceManagerImpl.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -320,6 +320,7 @@ public ManagementServerMaintenanceResponse triggerShutdown(TriggerShutdownCmd cm
320320

321321
if (State.Up.equals(msHost.getState())) {
322322
msHostDao.updateState(msHost.getId(), State.PreparingForShutDown);
323+
msHost.setState(State.PreparingForShutDown);
323324
}
324325

325326
final Command[] cmds = new Command[1];
@@ -330,7 +331,9 @@ public ManagementServerMaintenanceResponse triggerShutdown(TriggerShutdownCmd cm
330331
throw new CloudRuntimeException(result);
331332
}
332333

333-
msHostDao.updateState(msHost.getId(), State.ShuttingDown);
334+
if (!State.Maintenance.equals(msHost.getState())) {
335+
msHostDao.updateState(msHost.getId(), State.ShuttingDown);
336+
}
334337
return prepareMaintenanceResponse(cmd.getManagementServerId());
335338
}
336339

@@ -535,7 +538,7 @@ protected void runInContext() {
535538
// No more pending jobs. Good to terminate
536539
if (managementServerMaintenanceManager.isShutdownTriggered()) {
537540
logger.info("MS is Shutting Down Now");
538-
// update state to down ?
541+
// Keeps Maintenance state, Otherwise updates state to ShuttingDown followed by Down
539542
System.exit(0);
540543
}
541544
if (managementServerMaintenanceManager.isPreparingForMaintenance()) {

0 commit comments

Comments
 (0)