Revision b84ed662 snf-cyclades-app/synnefo/api/management/commands/server-create.py

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

  
36 36
from django.core.management.base import BaseCommand, CommandError
37
from synnefo.management import common
37 38

  
38
from synnefo.db.models import VirtualMachine, Backend, Flavor
39
from synnefo.db.models import VirtualMachine
39 40
from synnefo.logic.backend import create_instance
40 41
from synnefo.logic.backend_allocator import BackendAllocator
41
from synnefo.api.util import get_image, allocate_public_address
42
from synnefo.api.faults import ItemNotFound
42
from synnefo.api.util import allocate_public_address
43 43

  
44 44
HELP_MSG = """
45 45

  
......
95 95

  
96 96
        # Get Flavor
97 97
        if flavor_id:
98
            try:
99
                flavor_id = int(flavor_id)
100
                flavor = Flavor.objects.get(id=flavor_id)
101
            except ValueError:
102
                raise CommandError("Invalid flavor-id")
103
            except Flavor.DoesNotExist:
104
                raise CommandError("Flavor not found")
105
        else:
106
            raise CommandError("flavor-id is mandatory")
98
            flavor = common.get_flavor(flavor_id)
107 99

  
108 100
        # Get Image
109 101
        if image_id:
110
            try:
111
                img = get_image(image_id, user_id)
112
            except ItemNotFound:
113
                raise CommandError("Image not found")
102
            img = common.get_image(image_id, user_id)
114 103

  
115 104
            properties = img.get('properties', {})
116 105
            image = {}
......
123 112

  
124 113
        # Get Backend
125 114
        if backend_id:
126
            try:
127
                backend_id = int(backend_id)
128
                backend = Backend.objects.get(id=backend_id)
129
            except (ValueError, Backend.DoesNotExist):
130
                raise CommandError("Invalid Backend ID")
115
            backend = common.get_backend(backend_id)
131 116
        else:
132 117
            ballocator = BackendAllocator()
133 118
            backend = ballocator.allocate(user_id, flavor)

Also available in: Unified diff