alan-turing-institute / azure-batch-tools

Some tools to make deploying batch processing jobs to Azure easier
MIT License
1 stars 1 forks source link

Parallelize setup of VMs #11

Open tlienart opened 7 years ago

tlienart commented 7 years ago

(for the sake of keeping track of issue)

Aim:

have this:

python az-vm-pool.py RESNAME setup-pool -d=PATH

run on all the machines of the pool simultaneously and without asking for permission more than once.

martintoreilly commented 7 years ago

Changed setup-pool in commit a0c1a98 to not wait for the setup script to finish on one VM before moving on to the next VM (by using screen -d -m to start the script). This gets setup running on all machines in parallel, but means you need to wait the setup script is finished on all VMs before running a task. To see if the setup script is still running on a VM:

@tlienart Does this work for you for now? I'll keep this ticket open until we add a proper parallised solution. We should find one that allows us to do VM create and delete in parallel too. I've also opened issue #14 to support this (adding status tracking for setup and task running).

martintoreilly commented 7 years ago

Added --no-wait option for create-pool, setup-pool, start-pool and stop-pool in commit 7d39499. Did not include delete-pool as we need to finish deleting VM before we can delete associated NICs and IPs.

@tlienart - Is this enough to make management of larger VM pools bearable for now? I still want to add the status tracking from issue #14, but won't get to this for a week or two.