Revision 20fc5c41 snf-cyclades-app/synnefo/api/management/commands/server-remove.py
b/snf-cyclades-app/synnefo/api/management/commands/server-remove.py | ||
---|---|---|
39 | 39 |
from synnefo.logic import servers |
40 | 40 |
from snf_django.management.commands import RemoveCommand |
41 | 41 |
from snf_django.management.utils import parse_bool |
42 |
from snf_django.lib.api import faults |
|
42 | 43 |
|
43 | 44 |
|
44 | 45 |
class Command(RemoveCommand): |
... | ... | |
57 | 58 |
|
58 | 59 |
@convert_api_faults |
59 | 60 |
def handle(self, *args, **options): |
60 |
if len(args) != 1:
|
|
61 |
if not args:
|
|
61 | 62 |
raise CommandError("Please provide a server ID") |
62 | 63 |
|
63 | 64 |
force = options['force'] |
64 | 65 |
self.confirm_deletion(force, "server(s)", args) |
65 | 66 |
|
66 |
server = get_vm(args[0]) |
|
67 |
for server_id in args: |
|
68 |
self.stdout.write("\n") |
|
69 |
try: |
|
70 |
server = get_vm(server_id) |
|
67 | 71 |
|
68 |
self.stdout.write("Trying to remove server '%s' from backend '%s'\n" % |
|
69 |
(server.backend_vm_id, server.backend)) |
|
72 |
self.stdout.write("Trying to remove server '%s' from backend " |
|
73 |
"'%s' \n" % (server.backend_vm_id, |
|
74 |
server.backend)) |
|
70 | 75 |
|
71 |
server = servers.destroy(server) |
|
72 |
jobID = server.task_job_id |
|
76 |
server = servers.destroy(server)
|
|
77 |
jobID = server.task_job_id
|
|
73 | 78 |
|
74 |
self.stdout.write("Issued OP_INSTANCE_REMOVE with id: %s\n" % jobID) |
|
79 |
self.stdout.write("Issued OP_INSTANCE_REMOVE with id: %s\n" % |
|
80 |
jobID) |
|
75 | 81 |
|
76 |
wait = parse_bool(options["wait"]) |
|
77 |
wait_server_task(server, wait, self.stdout) |
|
82 |
wait = parse_bool(options["wait"]) |
|
83 |
wait_server_task(server, wait, self.stdout) |
|
84 |
except (CommandError, faults.BadRequest) as e: |
|
85 |
self.stdout.write("Error -- %s\n" % e.message) |
Also available in: Unified diff