fission
fission copied to clipboard
Feature: Allow operations on multiple vms
I propose that anywhere where you're supplying a VM name for any of the command line operations, that you can choose to supply a comma-separated string of VMs to perform operations on multiple VMs at once.
I'm wondering if this should be baked into fission or if this type of behavior should be driven from shell/command line tools (for loops, gnu parallel, etc.).
If baked into fission, I can see how this could be useful for items such as clone, delete, start, stop, suspend, and snapshot create/delete/revert.
For delete, I think there would need to be some level of internal locking/coordination to ensure the plist file is updated cleanly.
I'd like more native support than the shell offers, I find myself doing this a lot lately:
for vm in vm1 vm2 vm3; do
fission snapshot revert $vm vanilla
fission start $vm --headless
done
and I'd much much rather be able to do
fission snapshot revert vm1,vm2,vm3 vanilla
fission start vm1,vm2,vm3 --headless
I suspect that this will be a several pass operation where we add this feature for the simpler methods, and sort out delete/etc where locking matters later.
Based on your current usage, it looks like serial execution would suffice initially. Is that correct?
The locking comment was my assumption of parallel execution.
Either way, I think this feature makes sense.
Absolutely. Parallel would be gravy, but totally not crucial for now.