2017-11-19 8 views
0

프로젝트에 대한 libcloud의 ECS 드라이버를 테스트하려고합니다.Libcloud ECS 액세스

with open("conf.json") as f: 
    data = json.loads(f.read()) 

driver = get_driver(getattr(Provider,'ECS')) 

with open('.cloud_credentials/'+data['provider']+'/access_id', 'r') as myfile: 
    ACCESS_KEY_ID = myfile.read().replace('\n', '') 
    print ACCESS_KEY_ID 

with open('.cloud_credentials/'+data['provider']+'/secret_key', 'r') as myfile: 
    SECRET_KEY = myfile.read().replace('\n', '') 
    print SECRET_KEY 


timer.start() 
conn = driver(access_id = ACCESS_KEY_ID, 
       secret = SECRET_KEY, 
       region = 'us-east-1') 
timer.stop() 


cluster = conn.create_cluster('pippo','us-east-1') 

것은 그러나이 오류가 발생 실행 :

Traceback (most recent call last): 
    File "launch.py", line 32, in <module> 
    cluster = conn.create_cluster('pippo',data['region']) 
    File "/home/sergio/anaconda2/lib/python2.7/site-packages/libcloud/container/drivers/ecs.py", line 151, in create_cluster 
    headers=self._get_headers('CreateCluster') 
    File "/home/sergio/anaconda2/lib/python2.7/site-packages/libcloud/common/base.py", line 604, in request 
    headers=headers, stream=stream) 
    File "/home/sergio/anaconda2/lib/python2.7/site-packages/libcloud/http.py", line 212, in request 
    verify=self.verification 
    File "/home/sergio/anaconda2/lib/python2.7/site-packages/requests/sessions.py", line 468, in request 
    resp = self.send(prep, **send_kwargs) 
    File "/home/sergio/anaconda2/lib/python2.7/site-packages/requests/sessions.py", line 576, in send 
    r = adapter.send(request, **kwargs) 
    File "/home/sergio/anaconda2/lib/python2.7/site-packages/requests/adapters.py", line 437, in send 
    raise ConnectionError(e, request=request) 
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='ecs.%s.amazonaws.com', port=443): Max retries exceeded with url:/(Caused by NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x7f5f16dca950>: Failed to establish a new connection: [Errno -2] Name or service not known',)) 

내가 문제가 % s을 (를) 포함하는 호스트 문자열로 거짓말을 생각

나는 간단한 테스트를 썼다. 해당 문자열이 파일에 초기화 된 더미 하나처럼 도서관에서 파고 것이 보인다 : 나는 기능은 기본 문자열을 덮어 쓰기되어 해당 파일의 어딘가에 존재해야한다고 생각

/libcloud/container/drivers/ecs.py 

, 그건 아마하지 않습니다 어떤 이유로 libcloud 라이브러리를 사용하는 초보자가되어 그 원인을 찾기가 어렵습니다.

가 포함처럼

호기심, 전송되는 헤더를 검사, 보이는 올바른가 해결 (?) : 경험있는

headers: {'Host': u'ecs.us-east-1.amazonaws.com', 'User-Agent': 'libcloud/2.2.1 (Amazon Elastic Container Service) ', 'Content-Type': 'application/x-amz-json-1.1', 'Accept-Encoding': 'gzip,deflate', 'x-amz-target': 'AmazonEC2ContainerServiceV20141113.CreateCluster'} 

사람이 올바른 방향으로 날 지점 수 있을까? 대단히 감사하겠습니다.

답변

0

이것은 버그처럼 보입니다. 여러분이 한 일이 아닙니다.

+0

나는 모른다. ..있을 수있다. 어쩌면 누군가는 우리가하지 못하는 것을 압니다. – darkpirate