Revision 35f2fc07 snf-cyclades-app/synnefo/api/management/commands/server-remove.py

b/snf-cyclades-app/synnefo/api/management/commands/server-remove.py
34 34
from optparse import make_option
35 35

  
36 36
from django.core.management.base import BaseCommand, CommandError
37
from synnefo.management.common import get_vm, convert_api_faults
38
from synnefo.logic import servers, backend as backend_mod
37
from synnefo.management.common import (get_vm, convert_api_faults,
38
                                       wait_server_task)
39
from synnefo.logic import servers
39 40
from snf_django.management.utils import parse_bool
40 41

  
41 42

  
......
63 64
        self.stdout.write("Trying to remove server '%s' from backend '%s'\n" %
64 65
                          (server.backend_vm_id, server.backend))
65 66

  
66
        servers.destroy(server)
67
        server = servers.destroy(server)
67 68
        jobID = server.task_job_id
68 69

  
69 70
        self.stdout.write("Issued OP_INSTANCE_REMOVE with id: %s\n" % jobID)
70 71

  
71 72
        wait = parse_bool(options["wait"])
72
        if wait:
73
            self.stdout.write("Waiting for job to complete...\n")
74
            client = server.get_client()
75
            status, error = backend_mod.wait_for_job(client, jobID)
76
            if status == "success":
77
                self.stdout.write("Job '%s' completed successfully.\n" % jobID)
78
            else:
79
                self.stdout.write("Job '%s' failed: %s\n" % (jobID, error))
73
        wait_server_task(server, wait, self.stdout)

Also available in: Unified diff