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