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