David L. Day created LIBCLOUD-959:
-------------------------------------

             Summary: AZURE_BLOBS upload_object fails on both Container and 
Driver
                 Key: LIBCLOUD-959
                 URL: https://issues.apache.org/jira/browse/LIBCLOUD-959
             Project: Libcloud
          Issue Type: Bug
          Components: Storage
         Environment: Microsoft Windows
Python 2.7.11

{{Package         Version
--------------- ---------
apache-libcloud 2.2.1
asn1crypto      0.23.0
certifi         2017.11.5
cffi            1.11.2
chardet         3.0.4
cryptography    2.1.3
enum34          1.1.6
idna            2.6
ipaddress       1.0.18
pip             9.0.1
pycparser       2.18
pyOpenSSL       17.3.0
requests        2.18.4
setuptools      36.6.0
six             1.11.0
urllib3         1.22
wheel           0.30.0}}
            Reporter: David L. Day


The upload_object method on both the driver and container objects fails for 
Provider.AZURE_BLOBS. Listing containers and objects works.

Code to reproduce:

{{# -*- coding: utf-8 -*-
import libcloud.security
from libcloud.storage.types import Provider
from libcloud.storage.providers import get_driver

key = ''
secret = ''

cls = get_driver(Provider.AZURE_BLOBS)
driver = cls(key=key, secret=secret)
print "Containers: ", driver.list_containers()
testing = driver.get_container(container_name='testing')
print "Objects in 'testing': ", testing.list_objects()
print "Uploading via driver:"
driver.upload_object(file_path='C:\\Users\\dayd3\\Downloads\\test.txt', 
container=testing, object_name='test/test.txt')
print "Uploading via container:"
testing.upload_object(file_path='C:\\Users\\dayd3\\Downloads\\test.txt', 
object_name='test/test.txt')}}


Error:
{{> python azure.py
Containers:  [<Container: name=testing, provider=Microsoft Azure (blobs)>]
Objects in 'testing':  []
Uploading via driver:
Traceback (most recent call last):
  File "azure.py", line 15, in <module>
    driver.upload_object(file_path='C:\\Users\\dayd3\\Downloads\\test.txt', 
container=testing, object_name='test/test.txt')
  File 
"C:\Users\dayd3\Envs\libcloud\lib\site-packages\libcloud\storage\drivers\azure_blobs.py",
 line 771, in upload_object
    use_lease=ex_use_lease)
  File 
"C:\Users\dayd3\Envs\libcloud\lib\site-packages\libcloud\storage\drivers\azure_blobs.py",
 line 895, in _put_object
    stream=stream)
  File 
"C:\Users\dayd3\Envs\libcloud\lib\site-packages\libcloud\storage\base.py", line 
627, in _upload_object
    headers=headers, raw=True)
  File 
"C:\Users\dayd3\Envs\libcloud\lib\site-packages\libcloud\common\base.py", line 
590, in request
    stream=stream)
  File "C:\Users\dayd3\Envs\libcloud\lib\site-packages\libcloud\http.py", line 
230, in prepared_request
    verify=self.ca_cert if self.ca_cert is not None else self.verify)
  File "C:\Users\dayd3\Envs\libcloud\lib\site-packages\requests\sessions.py", 
line 618, in send
    r = adapter.send(request, **kwargs)
  File "C:\Users\dayd3\Envs\libcloud\lib\site-packages\requests\adapters.py", 
line 508, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: 
HTTPSConnectionPool(host='dmainnovbdl1.blob.core.windows.net', port=443): Max 
retries exceeded with url: /testing/test/test.txt (Caused by 
NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 
0x0000000003B6A6D8>: Failed to establish a new connection: [Errno 11004] 
getaddrinfo failed',))}}




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to