2014-10-02 7 views
1

실행하려고하는 프로젝트에는 XstServer 6.5에 devstack을 설치해야합니다. 이것은 적어도 똑 바른 것처럼 보였습니다, 적어도 https://github.com/openstack-dev/devstack/blob/master/tools/xen/README.md에 의해 기술 된 것과 같이 . 그러나 나는 많은 오류가 있었다. 대부분 나는 다양한 포럼 게시물을 통해 문제를 해결할 수 있었지만이 특별한 문제는 답을 찾지 못했습니다.Xenserver에 Devstack을 설치하면 urllib3.connectionpool 경고가 발생하고 409 충돌 : unqueued 이미지에 업로드 할 수 없음

내 구성은 호스트에 최신 버전의 devstack을 다운로드 한 서버에 설치된 XenServer 6.5입니다. README에있는 지침대로 devstack을 실행할 DevStackOSDomU VM (이 경우 IP : 192.168.2.230)을 만드는 ./install_os_domU.sh를 실행합니다. stack.sh이 DevStackOSDomU에 (run.sh의 일부로서)를 실행하는 동안 그러나, 다음과 같은 오류가 발생하고 종료 설치 :

+ [[ x86_64 == \p\p\c\6\4 ]] 
+ '[' '' = bare ']' 
+ local kernel_id= ramdisk_id= 
+ '[' -n /opt/stack/devstack/files/images/cirros-0.3.2-x86_64-uec/cirros-0.3.2-x86_64-vmlinuz ']' 
++ openstack --os-token b6269cdf2e154d0c94d130db522da200 --os-url http://192.168.2.230:9292 image create cirros-0.3.2-x86_64-uec-kernel --public --container-forma$ 
++ grep ' id ' 
++ get_field 2 
++ local data field 
++ read data 
WARNING: urllib3.connectionpool HttpConnectionPool is full, discarding connection: 192.168.2.230 
ERROR: openstack <html> 
    <head> 
    <title>409 Conflict</title> 
</head> 
<body> 
    <h1>409 Conflict</h1> 
    There was a conflict when trying to complete your request.<br /><br /> 
    Cannot upload to an unqueued image 

</body> 
</html> (HTTP 409) 
+ kernel_id= 
+ '[' -n /opt/stack/devstack/files/images/cirros-0.3.2-x86_64-uec/cirros-0.3.2-x86_64-initrd ']' 
++ openstack --os-token b6269cdf2e154d0c94d130db522da200 --os-url http://192.168.2.230:9292 image create cirros-0.3.2-x86_64-uec-ramdisk --public --container-form$ 
++ grep ' id ' 
++ get_field 2 
++ local data field 
++ read data 
WARNING: urllib3.connectionpool HttpConnectionPool is full, discarding connection: 192.168.2.230 
ERROR: openstack <html> 
<head> 
<title>409 Conflict</title> 
    </head> 
<body> 
    <h1>409 Conflict</h1> 
    There was a conflict when trying to complete your request.<br /><br /> 
Cannot upload to an unqueued image 

</body> 
</html> (HTTP 409) 
+ ramdisk_id= 
+ openstack --os-token b6269cdf2e154d0c94d130db522da200 --os-url http://192.168.2.230:9292 image create cirros-0.3.2-x86_64-uec --public --container-format ami --$ 
WARNING: urllib3.connectionpool HttpConnectionPool is full, discarding connection: 192.168.2.230 
ERROR: openstack <html> 
<head> 
    <title>409 Conflict</title> 
    </head> 
<body> 
    <h1>409 Conflict</h1> 
    There was a conflict when trying to complete your request.<br /><br /> 
    Cannot upload to an unqueued image 

    </body> 
</html> (HTTP 409) 
+ exit_trap 
+ local r=1 
++ jobs -p 
+ jobs= 
+ [[ -n '' ]] 
+ kill_spinner 
+ '[' '!' -z '' ']' 
+ [[ 1 -ne 0 ]] 
+ echo 'Error on exit' 
Error on exit 
+ [[ -z /opt/stack/logs ]] 
+ /opt/stack/devstack/tools/worlddump.py -d /opt/stack/logs 
+ exit 1 

당신이 볼 수있는 바와 같이, 오류가 밖으로 세 다음 시간, 오류를 반복 . Devstack은 설치가 끝나지 않아 실행할 수 없습니다. HttpConnectionPool이 프로세스 로그로 가득 차서 왜 Xenserver에 devstack을 설치하는 데 일반적인 오류로 보이지 않는지 알 수 없습니다. 경고에 오류가 연결되어 있는지 궁금합니다. 전에이 문제를 겪은 사람이 있습니까? 아니면 해결할 잠재적 인 방법을 알고 있습니까?

감사합니다.

답변

1

저는 방금 문제를 해결했다고 생각합니다. 분명히, stack.sh 스크립트는 localrc에서 설정 한 IMAGE_URLS 변수의 마지막 요소를 통해 여러 번 반복되었습니다. 그 목록에서 쉼표를 없애고 stack.sh를 목록의 요소 구분 기호로 공백으로 읽도록 변경하면 (기본값 인 것처럼) 스크립트는 더 이상 오류없이 완료됩니다.

을 설명하기 :

이가 된합니다 (devstack/tools/xen/readme 가입일)

IMAGE_URLS="\ 
https://github.com/downloads/citrix-openstack/warehouse/cirros-0.3.0-x86_64-disk.vhd.tgz,\ 
http://download.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-uec.tar.gz" 

(localrc에서)

IMAGE_URLS="https://github.com/downloads/citrix-openstack/warehouse/cirros-0.3.0-x86_64-disk.vhd.tgz http://download.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-uec.tar.gz" 

(그리고 stack.sh)에

for image_url in ${IMAGE_URLS//,/ }; do 

for image_url in ${IMAGE_URLS}; do 
되었다