Revision 9e98ba3c api/images.py

b/api/images.py
41 41
from synnefo.api.common import method_not_allowed
42 42
from synnefo.api.faults import BadRequest
43 43
from synnefo.db.models import Image, ImageMetadata
44
from synnefo.util.log import getLogger
44 45

  
45 46

  
47
log = getLogger('synnefo.api')
48

  
46 49
urlpatterns = patterns('synnefo.api.images',
47 50
    (r'^(?:/|.json|.xml)?$', 'demux'),
48 51
    (r'^/detail(?:.json|.xml)?$', 'list_images', {'detail': True}),
......
115 118
    #                       badRequest (400),
116 119
    #                       overLimit (413)
117 120
    
121
    log.debug('list_images detail=%s', detail)
118 122
    user_images = Image.objects.filter(Q(owner=request.user) | Q(public=True))
119 123
    since = util.isoparse(request.GET.get('changes-since'))
120 124
    
......
152 156
    #                       overLimit (413)
153 157

  
154 158
    req = util.get_request_dict(request)
155

  
159
    log.debug('create_image %s', req)
160
    
156 161
    try:
157 162
        d = req['image']
158 163
        server_id = d['serverRef']
......
163 168
    owner = request.user
164 169
    vm = util.get_vm(server_id, owner)
165 170
    image = Image.objects.create(name=name, owner=owner, sourcevm=vm)
171
    log.info('User %d created image %d', owner.id, image.id)
166 172

  
167 173
    imagedict = image_to_dict(image)
168 174
    if request.serialization == 'xml':
......
181 187
    #                       badRequest (400),
182 188
    #                       itemNotFound (404),
183 189
    #                       overLimit (413)
184

  
190
    
191
    log.debug('get_image_details %s', image_id)
185 192
    image = util.get_image(image_id, request.user)
186 193
    imagedict = image_to_dict(image)
187 194

  
......
200 207
    #                       unauthorized (401),
201 208
    #                       itemNotFound (404),
202 209
    #                       overLimit (413)
203

  
210
    
211
    log.debug('delete_image %s', image_id)
204 212
    image = util.get_image(image_id, request.user)
205 213
    image.state = 'DELETED'
206 214
    image.save()
215
    log.info('User %d deleted image %d', request.user.id, image.id)
207 216
    return HttpResponse(status=204)
208 217

  
209 218
@util.api_method('GET')
......
214 223
    #                       unauthorized (401),
215 224
    #                       badRequest (400),
216 225
    #                       overLimit (413)
217

  
226
    
227
    log.debug('list_image_metadata %s', image_id)
218 228
    image = util.get_image(image_id, request.user)
219 229
    metadata = dict((m.meta_key, m.meta_value) for m in image.metadata.all())
220 230
    return util.render_metadata(request, metadata, use_values=True, status=200)
......
229 239
    #                       buildInProgress (409),
230 240
    #                       badMediaType(415),
231 241
    #                       overLimit (413)
232

  
233
    image = util.get_image(image_id, request.user)
242
    
234 243
    req = util.get_request_dict(request)
244
    log.debug('update_image_metadata %s %s', image_id, req)
245
    image = util.get_image(image_id, request.user)
235 246
    try:
236 247
        metadata = req['metadata']
237 248
        assert isinstance(metadata, dict)
......
256 267
    #                       itemNotFound (404),
257 268
    #                       badRequest (400),
258 269
    #                       overLimit (413)
259

  
270
    
271
    log.debug('get_image_metadata_item %s %s', image_id, key)
260 272
    image = util.get_image(image_id, request.user)
261 273
    meta = util.get_image_meta(image, key)
262 274
    return util.render_meta(request, meta, status=200)
......
272 284
    #                       buildInProgress (409),
273 285
    #                       badMediaType(415),
274 286
    #                       overLimit (413)
275

  
276
    image = util.get_image(image_id, request.user)
287
    
277 288
    req = util.get_request_dict(request)
289
    log.debug('create_image_metadata_item %s %s %s', image_id, key, req)
290
    image = util.get_image(image_id, request.user)
278 291
    try:
279 292
        metadict = req['meta']
280 293
        assert isinstance(metadict, dict)
......
303 316
    #                       buildInProgress (409),
304 317
    #                       badMediaType(415),
305 318
    #                       overLimit (413),
306

  
319
    
320
    log.debug('delete_image_metadata_item %s %s', image_id, key)
307 321
    image = util.get_image(image_id, request.user)
308 322
    meta = util.get_image_meta(image, key)
309 323
    meta.delete()

Also available in: Unified diff