Revision 20fc5c41

b/snf-cyclades-app/synnefo/api/management/commands/floating-ip-remove.py
52 52
        force = options['force']
53 53
        self.confirm_deletion(force, "floating ip(s)", args)
54 54

  
55
        floating_ip_id = args[0]
56

  
57
        floating_ip = common.get_floating_ip_by_id(floating_ip_id,
58
                                                   for_update=True)
59
        ips.delete_floating_ip(floating_ip)
60
        self.stdout.write("Deleted floating IP '%s'.\n" % floating_ip_id)
55
        for floating_ip_id in args:
56
            self.stdout.write("\n")
57
            try:
58
                floating_ip = common.get_floating_ip_by_id(floating_ip_id,
59
                                                           for_update=True)
60
                ips.delete_floating_ip(floating_ip)
61
                self.stdout.write("Deleted floating IP '%s'.\n" %
62
                                  floating_ip_id)
63
            except CommandError as e:
64
                self.stdout.write("Error -- %s\n" % e.message)
b/snf-cyclades-app/synnefo/api/management/commands/network-remove.py
30 30

  
31 31
from django.core.management.base import CommandError
32 32
from snf_django.management.commands import RemoveCommand
33
from snf_django.lib.api import faults
33 34
from synnefo.logic import networks
34 35
from synnefo.management.common import get_network, convert_api_faults
35 36

  
......
40 41

  
41 42
    @convert_api_faults
42 43
    def handle(self, *args, **options):
43
        if len(args) < 1:
44
        if not args:
44 45
            raise CommandError("Please provide a network ID")
45 46

  
46 47
        force = options['force']
47 48
        self.confirm_deletion(force, "network(s)", args)
48 49

  
49
        network = get_network(args[0], for_update=True)
50
        for network_id in args:
51
            self.stdout.write("\n")
52
            try:
53
                network = get_network(network_id, for_update=True)
54
                self.stdout.write('Removing network: %s\n' %
55
                                  network.backend_id)
50 56

  
51
        self.stdout.write('Removing network: %s\n' % network.backend_id)
57
                networks.delete(network)
52 58

  
53
        networks.delete(network)
54

  
55
        self.stdout.write("Successfully submitted Ganeti jobs to"
56
                          " remove network %s\n" % network.backend_id)
59
                self.stdout.write("Successfully submitted Ganeti jobs to"
60
                                  " remove network %s\n" % network.backend_id)
61
            except (CommandError, faults.BadRequest) as e:
62
                self.stdout.write("Error -- %s\n" % e.message)
b/snf-cyclades-app/synnefo/api/management/commands/port-remove.py
51 51

  
52 52
    @common.convert_api_faults
53 53
    def handle(self, *args, **options):
54
        if len(args) < 1:
54
        if not args:
55 55
            raise CommandError("Please provide a port ID")
56 56

  
57 57
        force = options['force']
58 58
        self.confirm_deletion(force, "port(s)", args)
59 59

  
60
        port = common.get_port(args[0], for_update=True)
60
        for port_id in args:
61
            self.stdout.write("\n")
62
            try:
63
                port = common.get_port(port_id, for_update=True)
61 64

  
62
        servers.delete_port(port)
65
                servers.delete_port(port)
63 66

  
64
        wait = parse_bool(options["wait"])
65
        if port.machine is not None:
66
            common.wait_server_task(port.machine, wait, stdout=self.stdout)
67
        else:
68
            self.stdout.write("Successfully removed port %s\n" % port)
67
                wait = parse_bool(options["wait"])
68
                if port.machine is not None:
69
                    common.wait_server_task(port.machine, wait,
70
                                            stdout=self.stdout)
71
                else:
72
                    self.stdout.write("Successfully removed port %s\n" % port)
73
            except CommandError as e:
74
                self.stdout.write("Error -- %s\n" % e.message)
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