def test_pending_task(self, mrapi): vm = mfactory.VirtualMachineFactory(task="REBOOT", task_job_id=1) self.assertRaises(faults.BadRequest, servers.start, vm) vm = mfactory.VirtualMachineFactory(task="BUILD", task_job_id=1) self.assertRaises(faults.BuildInProgress, servers.start, vm) # Assert always succeeds vm = mfactory.VirtualMachineFactory(task="BUILD", task_job_id=1) mrapi().DeleteInstance.return_value = 1 with mocked_quotaholder(): servers.destroy(vm) vm = mfactory.VirtualMachineFactory(task="REBOOT", task_job_id=1) with mocked_quotaholder(): servers.destroy(vm)
def handle(self, *args, **options): if not args: raise CommandError("Please provide a server ID") force = options['force'] message = "servers" if len(args) > 1 else "server" self.confirm_deletion(force, message, args) for server_id in args: self.stdout.write("\n") try: server = get_resource("server", server_id) self.stdout.write("Trying to remove server '%s' from backend " "'%s' \n" % (server.backend_vm_id, server.backend)) credentials = Credentials("snf-manage", is_admin=True) server = servers.destroy(server_id, credentials=credentials) jobID = server.task_job_id self.stdout.write("Issued OP_INSTANCE_REMOVE with id: %s\n" % jobID) wait = parse_bool(options["wait"]) wait_server_task(server, wait, self.stdout) except (CommandError, faults.BadRequest) as e: self.stdout.write("Error -- %s\n" % e.message)
def delete_server(request, server_id): # Normal Response Codes: 204 # Error Response Codes: computeFault (400, 500), # serviceUnavailable (503), # unauthorized (401), # itemNotFound (404), # unauthorized (401), # buildInProgress (409), # overLimit (413) credentials = request.credentials log.debug("User: %s, VM: %s, Action: deleted", credentials.userid, server_id) servers.destroy(server_id, credentials=credentials) log.info("User %s deleted VM %s", credentials.userid, server_id) return HttpResponse(status=204)
def delete_server(request, server_id): # Normal Response Codes: 204 # Error Response Codes: computeFault (400, 500), # serviceUnavailable (503), # unauthorized (401), # itemNotFound (404), # unauthorized (401), # buildInProgress (409), # overLimit (413) log.info('delete_server %s', server_id) vm = util.get_vm(server_id, request.user_uniq, for_update=True, non_suspended=True) vm = servers.destroy(vm) return HttpResponse(status=204)