In destroy_vm, instead of waiting for a specified period of time for an instance to terminate (in wait_for_instance_to_terminate), we should regularly query the status of the instance and wait for it to be stopped before continuing.
The 60 seconds we wait is not quite long enough for the CentOS 7 instances to completely shut down and have their disk volumes detach, so in some of the workflows on the new CI/CD server the subsequent delete_volumes failed with a "volume still in use" error.
We can simply increase the timeout, but that simply works around the problem, it doesn't fix it reliably.