Yeah, the intention is that anything that would cause the method to throw an exception will be caught. The expected behaviour of the method is that a vm instance will be created. If the method throws an exception api users would (should) assume that vm creation failed. To ensure this actually also happens on the cloudstack cloud i'm catching anything that happens after the vm spins up and roll it back.