Revision 1bf69a52 snf-cyclades-app/synnefo/management/common.py
b/snf-cyclades-app/synnefo/management/common.py | ||
---|---|---|
80 | 80 |
raise CommandError("image-id is mandatory") |
81 | 81 |
|
82 | 82 |
|
83 |
def get_vm(server_id): |
|
83 |
def get_vm(server_id, for_update=False):
|
|
84 | 84 |
"""Get a VirtualMachine object by its ID. |
85 | 85 |
|
86 | 86 |
@type server_id: int or string |
... | ... | |
96 | 96 |
raise CommandError("Invalid server ID: %s" % server_id) |
97 | 97 |
|
98 | 98 |
try: |
99 |
return VirtualMachine.objects.get(id=server_id) |
|
99 |
objs = VirtualMachine.objects |
|
100 |
if for_update: |
|
101 |
objs = objs.select_for_update() |
|
102 |
return objs.get(id=server_id) |
|
100 | 103 |
except VirtualMachine.DoesNotExist: |
101 | 104 |
raise CommandError("Server with ID %s not found in DB." |
102 | 105 |
" Use snf-manage server-list to find out" |
... | ... | |
166 | 169 |
" available port IDs" % port_id) |
167 | 170 |
|
168 | 171 |
|
169 |
def get_flavor(flavor_id): |
|
172 |
def get_flavor(flavor_id, for_update=False):
|
|
170 | 173 |
try: |
171 | 174 |
flavor_id = int(flavor_id) |
172 |
return Flavor.objects.get(id=flavor_id) |
|
175 |
objs = Flavor.objects |
|
176 |
if for_update: |
|
177 |
objs = objs.select_for_update() |
|
178 |
return objs.get(id=flavor_id) |
|
173 | 179 |
except ValueError: |
174 | 180 |
raise CommandError("Invalid flavor ID: %s", flavor_id) |
175 | 181 |
except Flavor.DoesNotExist: |
Also available in: Unified diff