Revision f4d6dfa6
b/snf-cyclades-app/synnefo/api/images.py | ||
---|---|---|
59 | 59 |
) |
60 | 60 |
|
61 | 61 |
|
62 |
PlanktonBackend = backend.get_backend() |
|
63 |
|
|
62 | 64 |
def demux(request): |
63 | 65 |
if request.method == 'GET': |
64 | 66 |
return list_images(request) |
... | ... | |
131 | 133 |
|
132 | 134 |
log.debug('list_images detail=%s', detail) |
133 | 135 |
since = utils.isoparse(request.GET.get('changes-since')) |
134 |
with backend.PlanktonBackend(request.user_uniq) as b:
|
|
136 |
with PlanktonBackend(request.user_uniq) as b: |
|
135 | 137 |
images = b.list_images() |
136 | 138 |
if since: |
137 | 139 |
updated_since = lambda img: date_parse(img["updated_at"]) >= since |
... | ... | |
180 | 182 |
# overLimit (413) |
181 | 183 |
|
182 | 184 |
log.debug('get_image_details %s', image_id) |
183 |
with backend.PlanktonBackend(request.user_uniq) as b:
|
|
185 |
with PlanktonBackend(request.user_uniq) as b: |
|
184 | 186 |
image = b.get_image(image_id) |
185 | 187 |
reply = image_to_dict(image) |
186 | 188 |
|
... | ... | |
202 | 204 |
# overLimit (413) |
203 | 205 |
|
204 | 206 |
log.info('delete_image %s', image_id) |
205 |
with backend.PlanktonBackend(request.user_uniq) as b:
|
|
207 |
with PlanktonBackend(request.user_uniq) as b: |
|
206 | 208 |
b.unregister(image_id) |
207 | 209 |
log.info('User %s deleted image %s', request.user_uniq, image_id) |
208 | 210 |
return HttpResponse(status=204) |
... | ... | |
218 | 220 |
# overLimit (413) |
219 | 221 |
|
220 | 222 |
log.debug('list_image_metadata %s', image_id) |
221 |
with backend.PlanktonBackend(request.user_uniq) as b:
|
|
223 |
with PlanktonBackend(request.user_uniq) as b: |
|
222 | 224 |
image = b.get_image(image_id) |
223 | 225 |
metadata = image['properties'] |
224 | 226 |
return util.render_metadata(request, metadata, use_values=False, |
... | ... | |
238 | 240 |
|
239 | 241 |
req = utils.get_request_dict(request) |
240 | 242 |
log.info('update_image_metadata %s %s', image_id, req) |
241 |
with backend.PlanktonBackend(request.user_uniq) as b:
|
|
243 |
with PlanktonBackend(request.user_uniq) as b: |
|
242 | 244 |
image = b.get_image(image_id) |
243 | 245 |
try: |
244 | 246 |
metadata = req['metadata'] |
... | ... | |
265 | 267 |
# overLimit (413) |
266 | 268 |
|
267 | 269 |
log.debug('get_image_metadata_item %s %s', image_id, key) |
268 |
with backend.PlanktonBackend(request.user_uniq) as b:
|
|
270 |
with PlanktonBackend(request.user_uniq) as b: |
|
269 | 271 |
image = b.get_image(image_id) |
270 | 272 |
val = image['properties'].get(key) |
271 | 273 |
if val is None: |
... | ... | |
296 | 298 |
raise faults.BadRequest('Malformed request.') |
297 | 299 |
|
298 | 300 |
val = metadict[key] |
299 |
with backend.PlanktonBackend(request.user_uniq) as b:
|
|
301 |
with PlanktonBackend(request.user_uniq) as b: |
|
300 | 302 |
image = b.get_image(image_id) |
301 | 303 |
properties = image['properties'] |
302 | 304 |
properties[key] = val |
... | ... | |
319 | 321 |
# overLimit (413), |
320 | 322 |
|
321 | 323 |
log.info('delete_image_metadata_item %s %s', image_id, key) |
322 |
with backend.PlanktonBackend(request.user_uniq) as b:
|
|
324 |
with PlanktonBackend(request.user_uniq) as b: |
|
323 | 325 |
image = b.get_image(image_id) |
324 | 326 |
properties = image['properties'] |
325 | 327 |
properties.pop(key, None) |
b/snf-cyclades-app/synnefo/api/util.py | ||
---|---|---|
51 | 51 |
Network, NetworkInterface, SecurityGroup, |
52 | 52 |
BridgePoolTable, MacPrefixPoolTable, IPAddress, |
53 | 53 |
IPPoolTable) |
54 |
from synnefo.plankton.backend import PlanktonBackend
|
|
54 |
from synnefo.plankton.backend import get_backend
|
|
55 | 55 |
|
56 | 56 |
from synnefo.cyclades_settings import cyclades_services, BASE_HOST |
57 | 57 |
from synnefo.lib.services import get_service_path |
58 | 58 |
from synnefo.lib import join_urls |
59 | 59 |
|
60 |
PlanktonBackend = get_backend() |
|
60 | 61 |
COMPUTE_URL = \ |
61 | 62 |
join_urls(BASE_HOST, |
62 | 63 |
get_service_path(cyclades_services, "compute", version="v2.0")) |
b/snf-cyclades-app/synnefo/plankton/backend.py | ||
---|---|---|
548 | 548 |
return image |
549 | 549 |
|
550 | 550 |
|
551 |
class JSONFileBackend(object):
|
|
551 |
class JSONFileBackend(PlanktonBackend):
|
|
552 | 552 |
""" |
553 | 553 |
A dummy image backend that loads available images from a file with json |
554 | 554 |
formatted content. |
... | ... | |
590 | 590 |
|
591 | 591 |
def get_backend(): |
592 | 592 |
backend_module = getattr(settings, 'PLANKTON_BACKEND_MODULE', None) |
593 |
|
|
593 | 594 |
if not backend_module: |
594 | 595 |
# no setting set |
595 | 596 |
return PlanktonBackend |
b/snf-cyclades-app/synnefo/plankton/views.py | ||
---|---|---|
43 | 43 |
from snf_django.lib import api |
44 | 44 |
from snf_django.lib.api import faults |
45 | 45 |
from synnefo.util.text import uenc |
46 |
from synnefo.plankton.backend import PlanktonBackend
|
|
46 |
from synnefo.plankton.backend import get_backend
|
|
47 | 47 |
from synnefo.plankton.backend import split_url |
48 | 48 |
|
49 | 49 |
|
50 |
PlanktonBackend = get_backend() |
|
51 |
|
|
50 | 52 |
FILTERS = ('name', 'container_format', 'disk_format', 'status', 'size_min', |
51 | 53 |
'size_max') |
52 | 54 |
|
Also available in: Unified diff