Original comment by @droberts195:
At present if there are no ML nodes then opening an ML job will fail immediately due to the checks in OpenJobAction.validate().
Given the way it is proposed to add lazy ML nodes to Cloud LINK REDACTED), there is a requirement to relax this check when running in Cloud.
We need to add a boolean setting that allows jobs to be opened if there are no ML nodes at all in the cluster. However, jobs should not be allowed to open when there are ML nodes in the cluster but they are all full to capacity.
The new setting will default to false, but be set to true in Cloud clusters.
A job that is opened when there are no ML nodes in the cluster will stay in the opening state until an ML node joins the cluster, at which point the job will get allocated to the ML node.