这是我在装有7GB内存的Ubuntu 20.04虚拟机上安装DevStack时遇到的错误。如何解决这个问题?
Call Trace
./stack.sh:1264:start_ovn_services
/opt/stack/devstack/lib/neutron-legacy:477:start_ovn
/opt/stack/devstack/lib/neutron_plugins/ovn_agent:691:wait_for_sock_file
/opt/stack/devstack/lib/neutron_plugins/ovn_agent:174:die
ERROR /opt/stack/devstack/lib/neutron_plugins/ovn_agent:174 Socket /var/run/openvswitch/ovnnb_db.sock not found
exit_trap: cleaning up child processes
Error on exit
错误图像的链接https://i.stack.imgur.com/lcuLJ.png
正如Sage Ren所说,当我们第一次运行命令$ ./stack.sh
时,会遇到上述错误。
此错误可以通过以下步骤轻松解决。
- 转到neuron_plugin文件夹,默认情况下该文件夹位于/opt/stack/defstack/lib目录中
- 使用sudo权限打开ovn_agent文件
- 更改行116,它看起来像这个
OVS_RUNDIR=$OVS_PREFIX/var/run/openvswitch
,您只需要通过替换openvswitch来更改ovn。更改后,您的线路将变为OVS_RUNDIR=$OVS_PREFIX/var/run/ovn
现在保存文件 - 现在转到
/var/run/ovn/
目录,在这里你会发现ovn文件夹在那里。只需使用$sudo rm -rf ovn command
删除文件夹 - 现在首先运行
./clean.sh
,然后运行./unstack.sh
命令 - 重新启动系统
- 跑步/stack.sh
:ovn目录文件夹的图像删除信息
我在Ubuntu 20.04中遇到了同样的错误,经过一些深入的探索,没有得到好的结果,我最终决定通过更改运行路径(ovn
而不是openvswitch
文件夹(来修补ovn_agent文件:
OVS_RUNDIR=$OVS_PREFIX/var/run/ovn
这不是一个好的解决方案,但它可以帮助你像我一样在安装过程中走得更远。以下是我汇编的研究,如果有人有更好的环境变量解决方案,实际上这是我第一次使用这个DevStack工具:
- ovn-north-doc:在最新版本中,他们将绝对路径更改为unix路径,因此ovn-db套接字的默认路径可能在某个地方发生了更改
- install-doc:可能存在一些选项来指定自定义套接字路径,但我没有成功使其工作
最后,我在煤渣创建卷类型过程中遇到了另一个错误,500个内部错误响应。。。我不确定实际版本是否稳定,每个堆栈命令都需要15-20分钟,也许我会制造一个问题,在这个主题上找到一些实验性的眼睛。
我也遇到了master分支的问题。正如Yann B所提到的,问题可能是$OVS_RUNDIR和$OVN_RUNDIR间的路径冲突。
脚本lib/neutron_plugins/ovn_agent
尝试将$OVS_RUNDIR链接到$0VN_RUNDIROVN_RUNDIR创建得很早。$OVS_RUNDIR使用相同命令(ln -s **$OVS_RUNDIR** **$OVN_RUNDIR**
(链接到$OVN_RUNDIR子文件夹。因此,在$ovn_RUNDIR中找不到ovn的服务创建的文件。
停止所有ovs和ovn服务,手动链接两个文件夹,删除子文件夹,启动服务并重试我的工作。希望它也适用于你。
卸载./unstak
和./clean.sh
之后的所有ovn包
sudo apt remove -y ovn-common ovn-controller-vtep ovn-host ovn-central
在此之后,./stack.sh
应该可以正常工作。