def _stop_deployment(self): errors = [] for nodename, runner in self.get_vms().items(): vm_id = runner.vmIds[0] try: vm_info = runner.cloud._vmInfo(vm_id) uuids_list = self._get_volatile_disk_ids_to_delete( etree.fromstring(vm_info)) runner.killInstances() self._wait_vm_in_state(['Done', 'Failed'], runner, vm_id) time.sleep(2) self._delete_volatile_disks(uuids_list) except Exception as ex: traceback.print_exc() try: time.sleep(2) runner.killInstances() self._delete_volatile_disks(uuids_list) except Exception as ex: traceback.print_exc() errors.append('Error killing node %s\n%s' % (nodename, str(ex))) if errors: raise Exceptions.CloudError('Failed stopping following instances. ' 'Details: %s' % '\n -> '.join(errors))
def _stop_deployment(self): errors = [] for nodename, runner in self.get_vms().items(): try: runner.killInstances() except Exception: # Retry killing instances. try: time.sleep(2) runner.killInstances() except Exception as ex: errors.append('Error killing node %s\n%s' % (nodename, str(ex))) if errors: raise Exceptions.CloudError('Failed stopping following instances. ' 'Details: %s' % '\n -> '.join(errors))