1

我正在尝试执行的项目涉及将 devstack 安装到 Xenserver 6.5 上。这似乎很简单,至少如https://github.com/openstack-dev/devstack/blob/master/tools/xen/README.md所述。但是我有很多错误。大多数我已经能够通过各种论坛帖子解决,但这个特殊问题一直没有得到答案。

我的配置是安装在服务器上的 XenServer 6.5,并在主机上下载了最新版本的 devstack。按照自述文件中的指导,我触发了 ./install_os_domU.sh,它创建了将运行 devstack 的 DevStackOSDomU 虚拟机(在这种情况下,IP:192.168.2.230)。但是,当 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

如您所见,错误重复了 3 次,然后出现错误。Devstack 最终没有安装,也无法运行。我似乎无法从进程的日志中看出为什么 HttpConnectionPool 会被填满,这似乎不是在 Xenserver 上安装 devstack 时的常见错误。我想知道警告是否与错误有关。有没有人遇到过这个问题,或者了解解决这个问题的潜在方法?

感谢您的时间。

4

1 回答 1

1

我相信我刚刚解决了这个问题。显然,stack.sh 脚本多次遍历我在 localrc 中设置的 IMAGE_URLS 变量的最后一个元素。当我去掉该列表中的逗号并将 stack.sh 更改为仅读取空白作为列表的元素分隔符时(默认情况下),脚本完成而没有进一步的错误。

为了显示:

(在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" 

(来自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"

(并且在stack.sh

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

成为

for image_url in ${IMAGE_URLS}; do
于 2014-10-07T01:07:20.437 回答