checking VM termination error

This commit is contained in:
Arvind Tiwari 2017-09-19 00:24:06 +05:30
parent 43300c7226
commit 8db7ead9e2
2 changed files with 9 additions and 3 deletions

View file

@ -969,11 +969,12 @@ class VirtualMachineView(LoginRequiredMixin, View):
kwargs={'pk': opennebula_vm_id}) kwargs={'pk': opennebula_vm_id})
) )
terminated = manager.delete_vm(vm.id) terminated, err = manager.delete_vm(vm.id)
if not terminated: if not terminated:
response['text'] = ugettext( response['text'] = ugettext(
'Error terminating VM') + opennebula_vm_id 'Error terminating VM') + opennebula_vm_id + '\n' +
err
else: else:
for t in range(15): for t in range(15):
try: try:

View file

@ -324,6 +324,7 @@ class OpenNebulaManager():
def delete_vm(self, vm_id): def delete_vm(self, vm_id):
TERMINATE_ACTION = 'terminate' TERMINATE_ACTION = 'terminate'
vm_terminated = False vm_terminated = False
err = ''
try: try:
self.oneadmin_client.call( self.oneadmin_client.call(
oca.VirtualMachine.METHODS['action'], oca.VirtualMachine.METHODS['action'],
@ -333,15 +334,19 @@ class OpenNebulaManager():
vm_terminated = True vm_terminated = True
except socket.timeout as socket_err: except socket.timeout as socket_err:
logger.info("Socket timeout error: {0}".format(socket_err)) logger.info("Socket timeout error: {0}".format(socket_err))
err = ("Socket timeout error: {0}".format(socket_err))
except OpenNebulaException as opennebula_err: except OpenNebulaException as opennebula_err:
logger.info( logger.info(
"OpenNebulaException error: {0}".format(opennebula_err)) "OpenNebulaException error: {0}".format(opennebula_err))
err = ("OpenNebulaException error: {0}".format(opennebula_err))
except OSError as os_err: except OSError as os_err:
logger.info("OSError : {0}".format(os_err)) logger.info("OSError : {0}".format(os_err))
err = ("OSError : {0}".format(os_err))
except ValueError as value_err: except ValueError as value_err:
logger.info("ValueError : {0}".format(value_err)) logger.info("ValueError : {0}".format(value_err))
err = ("ValueError : {0}".format(value_err))
return vm_terminated return (vm_terminated, err)
def _get_template_pool(self): def _get_template_pool(self):
try: try: