Cross-cluster host reassignment
Disclosed are various implementations of approaches for reassigning hosts between computing clusters. A computing cluster assigned to a first queue is identified. The first queue can include a first list of identifiers of computing clusters with insufficient resources for a respective workload. A host machine assigned to a second queue can then be identified. The second queue can include a second list of identifiers of host machines in an idle state. A command can then be sent to the host machine to migrate to the computing cluster. Finally, the host machine can be removed from the second queue.
1. A system, comprising:
a computing device comprising a processor and a memory;
machine readable instructions stored in the memory that, when executed by the processor, cause the computing device to at least:
identify a computing cluster assigned to a first queue, the first queue comprising a first list of identifiers of computing clusters with insufficient resources for a respective workload;
identify a host machine assigned to a second queue, the second queue comprising a second list of identifiers of host machines in an idle state;
send a command to the host machine to join to the computing cluster; and
remove a host identifier for the host machine from the second queue.
2. The system of claim 1 , wherein the machine readable instructions further cause the computing device to at least:
in response to the host machine joining the computing cluster, evaluate the computing cluster to determine that the computing cluster has sufficient resources for the respective workload; and
remove the computing cluster from the first queue.
3. The system of claim 1 , wherein the host machine is a first host machine assigned to the second queue, the command is a first command, and the machine readable instructions further cause the computing device to at least:
in response to the first host machine joining the computing cluster, evaluate the computing cluster to determine that the computing cluster continues to have insufficient resources for the respective workload;
identify a second host machine assigned to the second queue; and
send a second command to the second host machine to migrate to the computing cluster.
4. The system of claim 1 , wherein the machine readable instructions further cause the computing device to at least:
evaluate the computing cluster to determine that the computing cluster has insufficient resources for the respective workload; and
add the computing cluster to the first queue in response to a determination that the computing cluster has insufficient resources for the respective workload.
5. The system of claim 1 , wherein the computing cluster is a first computing cluster and the machine readable instructions further cause the computing device to at least:
evaluate a second computing cluster to determine that the second computing cluster has insufficient resources for the respective workload; and
add the second computing cluster to the first queue in response to a determination that the second computing cluster has insufficient resources for the respective workload.
6. The system of claim 1 , wherein the computing cluster is a first computing cluster, the command is a first command, and the machine readable instructions further cause the computing device to at least:
evaluate a second computing cluster to determine that host machine can be unassigned from the second computing cluster;
send a second command to the host machine to enter the idle state;
send a third command to the second computing cluster to redistribute the respective workload to other computing resources assigned to the second computing cluster; and
add an identifier of the host machine to the second queue.
7. The system of claim 6 , wherein a determination that the host machine can be unassigned from the second computing cluster is based at least in part on a resource usage rule.
8. A method, comprising:
identifying a computing cluster assigned to a first queue, the first queue comprising a first list of identifiers of computing clusters with insufficient resources for a respective workload;
identifying a host machine assigned to a second queue, the second queue comprising a second list of identifiers of host machines in an idle state;
sending a command to the host machine to join to the computing cluster; and
removing the host machine from the second queue.
9. The method of claim 8 , wherein the method further comprises:
in response to the host machine joining the computing cluster, evaluating the computing cluster to determine that the computing cluster has sufficient resources for the respective workload; and
removing the computing cluster from the first queue.
10. The method of claim 8 , wherein the host machine is a first host machine assigned to the second queue, the command is a first command, and the method further comprises:
in response to the first host machine joining the computing cluster, evaluating the computing cluster to determine that the computing cluster continues to have insufficient resources for the respective workload;
identifying a second host machine assigned to the second queue; and
sending a second command to the second host machine to migrate to the computing cluster.
11. The method of claim 8 , wherein the method further comprises:
evaluating the computing cluster to determine that the computing cluster has insufficient resources for the respective workload; and
adding the computing cluster to the first queue in response to a determination that the computing cluster has insufficient resources for the respective workload.
12. The method of claim 8 , wherein the computing cluster is a first computing cluster and the method further comprises:
evaluating a second computing cluster to determine that the second computing cluster has insufficient resources for the respective workload; and
adding the second computing cluster to the first queue in response to a determination that the second computing cluster has insufficient resources for the respective workload.
13. The method of claim 8 , wherein the computing cluster is a first computing cluster, the command is a first command, and the method further comprises:
evaluating a second computing cluster to determine that host machine can be unassigned from the second computing cluster;
sending a second command to the host machine to enter the idle state;
sending a third command to the second computing cluster to redistribute the respective workload to other computing resources assigned to the second computing cluster; and
adding an identifier of the host machine to the second queue.
14. The method of claim 13 , wherein a determination that the host machine can be unassigned from the second computing cluster is based at least in part on a resource usage rule.
15. A non-transitory computer-readable medium comprising machine readable instructions that, when executed by a processor, cause a computing device to at least:
identify a computing cluster assigned to a first queue, the first queue comprising a first list of identifiers of computing clusters with insufficient resources for a respective workload;
identify a host machine assigned to a second queue, the second queue comprising a second list of identifiers of host machines in an idle state;
send a command to the host machine to join to the computing cluster; and
remove the host machine from the second queue.
16. The non-transitory computer-readable medium of claim 15 , wherein the machine readable instructions further cause the computing device to at least:
in response to migration of the host machine joining the computing cluster, evaluate the computing cluster to determine that the computing cluster has sufficient resources for the respective workload; and
remove the computing cluster from the first queue.
17. The non-transitory computer-readable medium of claim 15 , wherein the host machine is a first host machine assigned to the second queue, the command is a first command, and the machine readable instructions further cause the computing device to at least:
in response to the first host machine joining the computing cluster, evaluate the computing cluster to determine that the computing cluster continues to have insufficient resources for the respective workload;
identify a second host machine assigned to the second queue; and
send a second command to the second host machine to migrate to the computing cluster.
18. The non-transitory computer-readable medium of claim 15 , wherein the machine readable instructions further cause the computing device to at least:
evaluate the computing cluster to determine that the computing cluster has insufficient resources for the respective workload; and
add the computing cluster to the first queue in response to a determination that the computing cluster has insufficient resources for the respective workload.
19. The non-transitory computer-readable medium of claim 15 , wherein the computing cluster is a first computing cluster and the machine readable instructions further cause the computing device to at least:
evaluate a second computing cluster to determine that the second computing cluster has insufficient resources for the respective workload; and
add the second computing cluster to the first queue in response to a determination that the second computing cluster has insufficient resources for the respective workload.
20. The non-transitory computer-readable medium of claim 15 , wherein the computing cluster is a first computing cluster, the command is a first command, and the machine readable instructions further cause the computing device to at least:
evaluate a second computing cluster to determine that host machine can be unassigned from the second computing cluster;
send a second command to the host machine to enter the idle state;
send a third command to the second computing cluster to redistribute the respective workload to other computing resources assigned to the second computing cluster; and
add an identifier of the host machine to the second queue.