Nomad placement failures unrelated constraints and resource allocation

I’m rather new to Nomad and hosting a small 3 node cluster at home. For some reason, I find Jobs unable to allocate Tasks.

Right now, I have a job that is failing to place and the reasons it gives are:

  • Class ingress filtered 1 node
  • Constraint missing compatible host volumes filtered 2 nodes
  • Resources exhausted on 1 node
  • Dimension memory exhausted on 1 node

The odd thing is that the first constraint is not actually present on this Job or Group. I have one Node with that class and only a single job (not this one) with that constraint. Should I expect that to be shown even though I have no constraints tied to it?

The host volume and memory issue one is at least somewhat expected. Nomad has fully allocated resources on my node that I want to use for stateful services and contains my host volumes.

Should I not expect Nomad to move allocations that have no constraints to another node that has no allocations yet to make room for this allocation?

As far as I can tell, there is no way for me to fix this to force the migration other than stopping some jobs that are assigned to the stateful node, allowing this to allocate and then starting them again.

Is there a better way?