diff --git a/framework/jobs/src/org/apache/cloudstack/framework/jobs/impl/AsyncJobManagerImpl.java b/framework/jobs/src/org/apache/cloudstack/framework/jobs/impl/AsyncJobManagerImpl.java index d5f7f9df107..0e00a88b75a 100644 --- a/framework/jobs/src/org/apache/cloudstack/framework/jobs/impl/AsyncJobManagerImpl.java +++ b/framework/jobs/src/org/apache/cloudstack/framework/jobs/impl/AsyncJobManagerImpl.java @@ -61,6 +61,7 @@ import com.cloud.cluster.ManagementServerHost; import com.cloud.utils.DateUtil; import com.cloud.utils.Pair; import com.cloud.utils.Predicate; +import com.cloud.utils.component.ComponentLifecycle; import com.cloud.utils.component.ManagerBase; import com.cloud.utils.concurrency.NamedThreadFactory; import com.cloud.utils.db.DB; @@ -1035,7 +1036,9 @@ public class AsyncJobManagerImpl extends ManagerBase implements AsyncJobManager, private GenericSearchBuilder JoinJobTimeSearch; protected AsyncJobManagerImpl() { - + // override default run level for manager components to start this early, otherwise, VirtualMachineManagerImpl will + // get stuck in non-initializing job queue + setRunLevel(ComponentLifecycle.RUN_LEVEL_FRAMEWORK); } private void publishOnEventBus(AsyncJob job, String jobEvent) {