def handle(self, request, data): image_id = data['image_id'] try: api.image_delete(request, image_id) except glance_exception.ClientConnectionError, e: LOG.error("Error connecting to glance", exc_info=True) messages.error(request, "Error connecting to glance: %s" % e.message)
def handle(self, request, data): image_id = data['image_id'] tenant_id = request.user.tenant_id try: image = api.image_get(request, image_id) if image.owner == request.user.username: api.image_delete(request, image_id) else: messages.info(request, _("Unable to delete image, you are not \ its owner.")) return redirect('dash_images_update', tenant_id, image_id) except glance_exception.ClientConnectionError, e: LOG.exception("Error connecting to glance") messages.error(request, _("Error connecting to glance: %s") % e.message)
def handle(self, request, data): image_id = data['image_id'] tenant_id = request.user.tenant_id try: image = api.image_get(request, image_id) if image.owner == request.user.username: api.image_delete(request, image_id) else: messages.info( request, "Unable to delete image, you are not \ its owner.") return redirect('dash_images_update', tenant_id, image_id) except glance_exception.ClientConnectionError, e: LOG.exception("Error connecting to glance") messages.error(request, "Error connecting to glance: %s" % e.message)
def test_image_delete(self): IMAGE_ID = "1" glance_api = self.stub_glance_api() glance_api.delete_image(IMAGE_ID).AndReturn(TEST_RETURN) self.mox.ReplayAll() ret_val = api.image_delete(self.request, IMAGE_ID) self.assertEqual(ret_val, TEST_RETURN) self.mox.VerifyAll()
def handle(self, request, data): image_id = data['image_id'] try: api.image_delete(request, image_id) except GlanceClientConnectionError, e: messages.error(request, "Error connecting to glance: %s" % e.message)
for key, value in meta.iteritems(): if not value: continue meta_send[key] = value LOG.info('sending meta %s' % meta_send) try: upload_image = api.image_create(request, image, None) try: update_image = api.image_update(request, upload_image.id, meta_send) except glance_exception.Invalid as e: messages.error(request, 'Image Metadata has invalid data %s' % str(e)) update_image = api.image_update(request, upload_image.id, {'location': ''}) api.image_delete(request, upload_image.id) return shortcuts.redirect(request.build_absolute_uri()) messages.success(request, "Image Metadata was successfully registerd") except glance_exception.BadStoreUri as e: messages.error(request, 'Metadata has bad location %s' % str(e)) return shortcuts.redirect(request.build_absolute_uri()) # utility def _parse_location(url): image_loc = urlparse.urlparse(url) location = image_loc.netloc.split('@', 1)[-1] if location.startswith('['): location = location[1:].split(']')[0]
meta['properties'] = prop meta_send = {} for key,value in meta.iteritems(): if not value: continue meta_send[key] = value LOG.info('sending meta %s' % meta_send) try: upload_image = api.image_create(request, image, None) try: update_image = api.image_update(request, upload_image.id , meta_send) except glance_exception.Invalid as e: messages.error(request, 'Image Metadata has invalid data %s' % str(e)) update_image = api.image_update(request, upload_image.id, { 'location' : '' }) api.image_delete(request, upload_image.id) return shortcuts.redirect(request.build_absolute_uri()) messages.success(request, "Image Metadata was successfully registerd") except glance_exception.BadStoreUri as e: messages.error(request, 'Metadata has bad location %s' % str(e)) return shortcuts.redirect(request.build_absolute_uri()) # utility def _parse_location(url): image_loc = urlparse.urlparse(url) location = image_loc.netloc.split('@', 1)[-1] if location.startswith('['): location = location[1:].split(']')[0] return image_loc.scheme, location, image_loc.path