Example #1
0
 def read_backblaze_meta_chunk(self,
                               req,
                               storage_method,
                               meta_chunk,
                               meta_start=None,
                               meta_end=None):
     container_id = safe_get_header(req, 'container_id')
     sysmeta = {'container_id': container_id}
     key_file = self.conf.get('key_file')
     try:
         creds = BackblazeUtils.get_credentials(storage_method, key_file)
     except ConfigurationException as exc:
         return Response(exc, 500)
     if meta_start is not None:
         if meta_start < 0:
             offset = meta_start
             size = -meta_start
         elif meta_end is not None:
             offset = meta_start
             size = meta_end - meta_start + 1
         else:
             offset = meta_start
             size = None
     elif meta_end is not None:
         offset = 0
         size = meta_end + 1
     handler = BackblazeChunkDownloadHandler(sysmeta, meta_chunk, offset,
                                             size, None, creds)
     stream = handler.get_stream()
     return Response(stream, 200)
Example #2
0
 def read_backblaze_meta_chunk(self, req, storage_method, meta_chunk,
                               meta_start=None, meta_end=None):
     container_id = req.headers[sys_headers['container_id']]
     sysmeta = {'container_id': container_id}
     key_file = self.conf.get('key_file')
     try:
         creds = BackblazeUtils.get_credentials(storage_method, key_file)
     except BackblazeUtilsException as exc:
         return Response(exc, 500)
     if meta_start is not None:
         if meta_start < 0:
             offset = meta_start
             size = -meta_start
         elif meta_end is not None:
             offset = meta_start
             size = meta_end - meta_start + 1
         else:
             offset = meta_start
             size = None
     elif meta_end is not None:
         offset = 0
         size = meta_end + 1
     handler = BackblazeChunkDownloadHandler(sysmeta, meta_chunk,
                                             offset, size,
                                             None, creds)
     stream = handler.get_stream()
     return Response(stream, 200)
Example #3
0
 def _handle_b2(self, url, chunks, headers, storage_method, reqid):
     meta = {'container_id': url['id']}
     key_file = self.conf.get('key_file')
     b2_creds = BackblazeUtils.get_credentials(storage_method, key_file)
     try:
         BackblazeDeleteHandler(meta, chunks, b2_creds).delete()
     except OioException as exc:
         self.logger.warn('delete failed: %s' % str(exc))
Example #4
0
 def _handle_b2(self, url, chunks, headers, storage_method, reqid):
     meta = {'container_id': url['id']}
     chunk_list = []
     for chunk in chunks:
         chunk['url'] = chunk['id']
         chunk_list.append(chunk)
     key_file = self.conf.get('key_file')
     b2_creds = BackblazeUtils.get_credentials(
         storage_method, key_file)
     try:
         BackblazeDeleteHandler(meta, chunk_list,
                                b2_creds).delete()
     except OioException as exc:
         self.logger.warn('delete failed: %s' % str(exc))
Example #5
0
 def delete_chunk_backblaze(chunks, url, storage_method):
     meta = {}
     meta['container_id'] = url['id']
     chunk_list = []
     for chunk in chunks:
         chunk['url'] = chunk['id']
         chunk_list.append(chunk)
     key_file = self.conf.get('key_file')
     backblaze_info = BackblazeUtils.get_credentials(
         storage_method, key_file)
     try:
         BackblazeDeleteHandler(meta, chunk_list,
                                backblaze_info).delete()
     except OioException as e:
         self.logger.warn('delete failed: %s' % str(e))
Example #6
0
 def delete_chunk_backblaze(chunks, url,
                            content_headers, storage_method):
     meta = {}
     meta['container_id'] = url['id']
     chunk_list = []
     for chunk in chunks:
         chunk['url'] = chunk['id']
         chunk_list.append([chunk])
     key_file = self.conf.get('key_file')
     backblaze_info = BackblazeUtils.put_meta_backblaze(
         storage_method, key_file)
     try:
         BackblazeDeleteHandler(meta, chunk_list,
                                backblaze_info).delete()
     except OioException as e:
         self.logger.warn('delete failed: %s' % str(e))
Example #7
0
 def write_backblaze_meta_chunk(self, source, size, storage_method, sysmeta,
                                meta_chunk):
     meta_checksum = md5()
     upload_chunk = meta_chunk[0]
     key_file = self.conf.get('key_file')
     try:
         creds = BackblazeUtils.get_credentials(storage_method, key_file)
     except ConfigurationException as exc:
         return Response(exc, 500)
     handler = BackblazeChunkWriteHandler(sysmeta, upload_chunk,
                                          meta_checksum, storage_method,
                                          creds)
     try:
         bytes_transferred, chunks = handler.stream(source)
     except OioException as e:
         return Response(str(e), 503)
     return Response("OK")
Example #8
0
 def write_backblaze_meta_chunk(self, source, size, storage_method, sysmeta,
                                meta_chunk):
     meta_checksum = md5()
     upload_chunk = meta_chunk[0]
     key_file = self.conf.get('key_file')
     try:
         creds = BackblazeUtils.get_credentials(storage_method, key_file)
     except BackblazeUtilsException as exc:
         return Response(exc, 500)
     handler = BackblazeChunkWriteHandler(sysmeta, upload_chunk,
                                          meta_checksum, storage_method,
                                          creds)
     try:
         bytes_transferred, chunks = handler.stream(source)
     except OioException as e:
         return Response(str(e), 503)
     return Response("OK")
Example #9
0
 def _b2_credentials(self, storage_method, key_file):
     key_file = key_file or '/etc/oio/sds/b2-appkey.conf'
     try:
         return BackblazeUtils.get_credentials(storage_method, key_file)
     except BackblazeUtilsException as err:
         raise exc.ConfigurationException(str(err))
 def _b2_credentials(self, storage_method, key_file):
     try:
         return BackblazeUtils.get_credentials(storage_method, key_file)
     except BackblazeUtilsException as err:
         raise exc.OioException(str(err))
Example #11
0
 def _b2_credentials(self, storage_method, key_file):
     try:
         return BackblazeUtils.get_credentials(storage_method,
                                               key_file)
     except BackblazeUtilsException as err:
         raise exc.OioException(str(err))
Example #12
0
 def _put_meta_backblaze(self, storage_method, key_file):
     try:
         return BackblazeUtils.put_meta_backblaze(storage_method,
                                                  key_file)
     except BackblazeUtilsException as e:
         raise exc.OioException(str(e))