我正在尝试在CentOS系统上安装DevStack。我已经执行了运行stack.sh所需的设置,但是当我运行它时,我得到了以下失败:
Installing collected packages: PyYAML, zipp, importlib-metadata, stevedore, colorama, pyperclip, cmd2, pyparsing, cliff, future, stestr, os-testr
Attempting uninstall: PyYAML
Found existing installation: PyYAML 5.3
ERROR: Cannot uninstall 'PyYAML'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
+inc/python:pip_install:1 exit_trap
+./stack.sh:exit_trap:489 local r=1
++./stack.sh:exit_trap:490 jobs -p
+./stack.sh:exit_trap:490 jobs=
+./stack.sh:exit_trap:493 [[ -n '' ]]
+./stack.sh:exit_trap:499 '[' -f '' ']'
+./stack.sh:exit_trap:504 kill_spinner
+./stack.sh:kill_spinner:399 '[' '!' -z '' ']'
+./stack.sh:exit_trap:506 [[ 1 -ne 0 ]]
+./stack.sh:exit_trap:507 echo 'Error on exit'
Error on exit
+./stack.sh:exit_trap:509 type -p generate-subunit
+./stack.sh:exit_trap:512 [[ -z /opt/stack/logs ]]
+./stack.sh:exit_trap:515 /usr/bin/python3.6 /opt/stack/devstack/tools/worlddump.py -d /opt/stack/logs
ebtables v1.8.4 (nf_tables): table `broute' is incompatible, use 'nft' tool.
+./stack.sh:exit_trap:524 exit 1通过在互联网上的研究,我了解到当python(显然包括PyYAML)的pip3命令试图卸载一些使用distutils安装的东西时,就会出现这种故障。我还看到在stack.sh中的某个地方安装了PyYAML,然后尝试卸载它,但失败了!
我还查看了Devstack附带的setup.py脚本,但该脚本显然没有使用distutils。它在PyYAML安装期间在其他地方使用,但找不到它所在的位置。
更糟糕的是,有一些变通方法(包括使用PIP的--ignore-installed选项),但我不知道在stack.sh或我所见过的任何其他文件中应该将该选项放在哪里。
就目前情况而言,stack.sh看起来是不可用的。由于这个问题,它无法安装Devstack。
有没有人找到了安装Devstack并解决这个问题的方法?有没有stack.sh的替代品?到devstack?
发布于 2020-08-30 02:02:23
我找到了我的问题的解决方案:
不要使用Devstack。使用Packstack。
我甚至为Devstack发布了一个关于这个问题的bug报告。它似乎不会在不久的将来得到修复。因此,那些寻求创建开发安装的人应该使用Packstack。我能够使用中提供的说明使用Packstack安装和运行Openstack:
https://www.linuxtechi.com/install-openstack-centos-8-with-packstack/
https://stackoverflow.com/questions/63420633
复制相似问题