[
https://issues.apache.org/jira/browse/LIBCLOUD-823?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jamie Cressey updated LIBCLOUD-823:
-----------------------------------
Description:
I take regular mongo backups and upload them the storage platform of the cloud
provider hosting the DB servers, either S3 and Azure Blobs. The following code
works fine for S3:
{code}
from libcloud.storage.types import Provider
from libcloud.storage.providers import get_driver
cls = get_driver(Provider.S3_EU_WEST)
driver = cls(cfg['storage']['user'],
cfg['storage']['pass'])
try:
container = driver.create_container(cfg['storage']['container'])
except:
container = driver.get_container(cfg['storage']['container'])
driver.upload_object(
'/mnt/resource/backup/full_20160526_080013.tgz',
container,
'mongodb/full_20160526_080013.tgz',
)
{code}
However, running this against Azure Blobs, returns the following error:
{code}
Traceback (most recent call last):
File "/usr/local/scripts/mongodb_backup.py", line 645, in main
upload_local(backup_root, backup_dir, ml, mc, sp, container)
File "/usr/local/scripts/mongodb_backup.py", line 156, in upload_local
verify_hash=True):
File
"/usr/local/lib/python2.7/dist-packages/libcloud/storage/drivers/azure_blobs.py",
line 795, in upload_object
use_lease=ex_use_lease)
File
"/usr/local/lib/python2.7/dist-packages/libcloud/storage/drivers/azure_blobs.py",
line 932, in _put_object
iterator=iterator)
File "/usr/local/lib/python2.7/dist-packages/libcloud/storage/base.py", line
654, in _upload_object
**upload_func_kwargs)
File
"/usr/local/lib/python2.7/dist-packages/libcloud/storage/drivers/azure_blobs.py",
line 664, in _upload_in_chunks
params=params)
File "/usr/local/lib/python2.7/dist-packages/libcloud/common/base.py", line
782, in request
headers=headers)
File "/usr/lib/python2.7/httplib.py", line 979, in request
self._send_request(method, url, body, headers)
File "/usr/lib/python2.7/httplib.py", line 1013, in _send_request
self.endheaders(body)
File "/usr/lib/python2.7/httplib.py", line 975, in endheaders
self._send_output(message_body)
File "/usr/lib/python2.7/httplib.py", line 833, in _send_output
msg += message_body
UnicodeDecodeError: 'ascii' codec can't decode byte 0x8b in position 1: ordinal
not in range(128)
{code}
was:
I take regular mongo backups and upload them the storage platform of the cloud
provider hosting the DB servers, either S3 and Azure Blobs. The following code
works fine for S3:
{code:python}
from libcloud.storage.types import Provider
from libcloud.storage.providers import get_driver
cls = get_driver(Provider.S3_EU_WEST)
driver = cls(cfg['storage']['user'],
cfg['storage']['pass'])
try:
container = driver.create_container(cfg['storage']['container'])
except:
container = driver.get_container(cfg['storage']['container'])
driver.upload_object(
'/mnt/resource/backup/full_20160526_080013.tgz',
container,
'mongodb/full_20160526_080013.tgz',
)
{code}
However, running this against Azure Blobs, returns the following error:
{code}
Traceback (most recent call last):
File "/usr/local/scripts/mongodb_backup.py", line 645, in main
upload_local(backup_root, backup_dir, ml, mc, sp, container)
File "/usr/local/scripts/mongodb_backup.py", line 156, in upload_local
verify_hash=True):
File
"/usr/local/lib/python2.7/dist-packages/libcloud/storage/drivers/azure_blobs.py",
line 795, in upload_object
use_lease=ex_use_lease)
File
"/usr/local/lib/python2.7/dist-packages/libcloud/storage/drivers/azure_blobs.py",
line 932, in _put_object
iterator=iterator)
File "/usr/local/lib/python2.7/dist-packages/libcloud/storage/base.py", line
654, in _upload_object
**upload_func_kwargs)
File
"/usr/local/lib/python2.7/dist-packages/libcloud/storage/drivers/azure_blobs.py",
line 664, in _upload_in_chunks
params=params)
File "/usr/local/lib/python2.7/dist-packages/libcloud/common/base.py", line
782, in request
headers=headers)
File "/usr/lib/python2.7/httplib.py", line 979, in request
self._send_request(method, url, body, headers)
File "/usr/lib/python2.7/httplib.py", line 1013, in _send_request
self.endheaders(body)
File "/usr/lib/python2.7/httplib.py", line 975, in endheaders
self._send_output(message_body)
File "/usr/lib/python2.7/httplib.py", line 833, in _send_output
msg += message_body
UnicodeDecodeError: 'ascii' codec can't decode byte 0x8b in position 1: ordinal
not in range(128)
{code}
> UnicodeDecodeError when uploading via Azure Blobs
> -------------------------------------------------
>
> Key: LIBCLOUD-823
> URL: https://issues.apache.org/jira/browse/LIBCLOUD-823
> Project: Libcloud
> Issue Type: Bug
> Components: Storage
> Environment: Ubuntu 14.04.3
> Python 2.7.6
> Reporter: Jamie Cressey
>
> I take regular mongo backups and upload them the storage platform of the
> cloud provider hosting the DB servers, either S3 and Azure Blobs. The
> following code works fine for S3:
> {code}
> from libcloud.storage.types import Provider
> from libcloud.storage.providers import get_driver
> cls = get_driver(Provider.S3_EU_WEST)
> driver = cls(cfg['storage']['user'],
> cfg['storage']['pass'])
> try:
> container = driver.create_container(cfg['storage']['container'])
> except:
> container = driver.get_container(cfg['storage']['container'])
> driver.upload_object(
> '/mnt/resource/backup/full_20160526_080013.tgz',
> container,
> 'mongodb/full_20160526_080013.tgz',
> )
> {code}
> However, running this against Azure Blobs, returns the following error:
> {code}
> Traceback (most recent call last):
> File "/usr/local/scripts/mongodb_backup.py", line 645, in main
> upload_local(backup_root, backup_dir, ml, mc, sp, container)
> File "/usr/local/scripts/mongodb_backup.py", line 156, in upload_local
> verify_hash=True):
> File
> "/usr/local/lib/python2.7/dist-packages/libcloud/storage/drivers/azure_blobs.py",
> line 795, in upload_object
> use_lease=ex_use_lease)
> File
> "/usr/local/lib/python2.7/dist-packages/libcloud/storage/drivers/azure_blobs.py",
> line 932, in _put_object
> iterator=iterator)
> File "/usr/local/lib/python2.7/dist-packages/libcloud/storage/base.py",
> line 654, in _upload_object
> **upload_func_kwargs)
> File
> "/usr/local/lib/python2.7/dist-packages/libcloud/storage/drivers/azure_blobs.py",
> line 664, in _upload_in_chunks
> params=params)
> File "/usr/local/lib/python2.7/dist-packages/libcloud/common/base.py", line
> 782, in request
> headers=headers)
> File "/usr/lib/python2.7/httplib.py", line 979, in request
> self._send_request(method, url, body, headers)
> File "/usr/lib/python2.7/httplib.py", line 1013, in _send_request
> self.endheaders(body)
> File "/usr/lib/python2.7/httplib.py", line 975, in endheaders
> self._send_output(message_body)
> File "/usr/lib/python2.7/httplib.py", line 833, in _send_output
> msg += message_body
> UnicodeDecodeError: 'ascii' codec can't decode byte 0x8b in position 1:
> ordinal not in range(128)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)