1

私が実行しようとしているプロジェクトには、devstack を Xenserver 6.5 にインストールすることが含まれます。少なくともhttps://github.com/openstack-dev/devstack/blob/master/tools/xen/README.mdで説明されているように、これはかなり簡単に思えました。しかし、私は多くのエラーがありました。さまざまなフォーラムの投稿を通じてほとんどを修正できましたが、この特定の問題については答えが見つかりませんでした.

私の構成は、サーバーにインストールされた XenServer 6.5 で、最新バージョンの devstack がホストにダウンロードされています。README のガイドに従って、./install_os_domU.sh をトリガーします。これにより、devstack を実行する DevStackOSDomU vm (この状況では、IP: 192.168.2.230) が作成されます。ただし、DevStackOSDomU で stack.sh が (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 に答える