首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >openstack /devstack /作业用于ovn-central.service失败,因为超过了超时

openstack /devstack /作业用于ovn-central.service失败,因为超过了超时
EN

Stack Overflow用户
提问于 2021-06-10 15:42:24
回答 2查看 1.7K关注 0票数 1

在尝试使用dev堆栈安装openstack时,在运行命令./stack.sh后,我得到了以下错误

由于超过了超时,

作业用于ovn-central.service失败。有关详细信息,请参阅"systemctl status ovn- details al.service“和"journalctl -xe”。

运行命令systemctl status ovn-central.service为我提供了以下输出:

我知道我必须改变超时的值,但我不知道怎么做

日志文件:

我需要解决这个问题。

EN

回答 2

Stack Overflow用户

发布于 2021-07-10 15:23:46

我也有同样的问题。我就是这样修好的。

代码语言:javascript
复制
The OVN named daemons are stored in /var/run/ovn
   openvswitch -> /var/run/openvswitch/
   ovnnb_db.ctl=
   ovnnb_db.pid
   ovnnb_db.sock=
   ovn-northd.176946.ctl=
   ovn-northd.pid
   ovnsb_db.ctl=
   ovnsb_db.pid
   ovnsb_db.sock=
代码语言:javascript
复制
The OVS named daemons are stored in /var/run/openvswitch 

   br-ex.mgmt=
   br-ex.snoop=
   db.sock=
   ovsdb-server.176376.ctl=
   ovsdb-server.pid
   ovs-vswitchd.176528.ctl=
   ovs-vswitchd.pid

问题在于脚本lib/ovn_plugins/ovn_agent的函数start_ovn中使用了start_ovn变量(lib/中子_plugins/ovn_agent:start_ovn)。

我所做的是在函数中将$OVS_RUNDIR替换为$OVN_RUNDIR。在重新运行stack.sh之前,我必须做的另一个修复是手动删除链接"/var/run/ovn/openvswitch“(untack.sh不会这么做)。

所以,在修复了脚本lib/ovn_plugins/ovn_agent之后,运行unstack.sh并手动删除一个杂乱的链接文件之后,我重新运行了stack.sh,并且经过了将近一个星期的尝试和错误之后,我得到了大量的数据并运行。

这是我应用替换的原始代码:(lib/ovn_plugins/ovn_agent:start_ovn函数)

代码语言:javascript
复制
690         # Wait for the service to be ready
691         wait_for_sock_file $OVS_RUNDIR/ovnnb_db.sock
692         wait_for_sock_file $OVS_RUNDIR/ovnsb_db.sock
693 
694         if is_service_enabled tls-proxy; then
695             sudo ovn-nbctl --db=unix:$OVS_RUNDIR/ovnnb_db.sock set-ssl $INT_CA_DIR/private/$DEVSTACK_CERT_NAME.key $INT_CA_DIR/$DEVSTACK_CERT_NAME.cr>
696             sudo ovn-sbctl --db=unix:$OVS_RUNDIR/ovnsb_db.sock set-ssl $INT_CA_DIR/private/$DEVSTACK_CERT_NAME.key $INT_CA_DIR/$DEVSTACK_CERT_NAME.cr>
697         fi
698         sudo ovn-nbctl --db=unix:$OVS_RUNDIR/ovnnb_db.sock set-connection p${OVN_PROTO}:6641:$SERVICE_LISTEN_ADDRESS -- set connection . inactivity_p>
699         sudo ovn-sbctl --db=unix:$OVS_RUNDIR/ovnsb_db.sock set-connection p${OVN_PROTO}:6642:$SERVICE_LISTEN_ADDRESS -- set connection . inactivity_p>
700         sudo ovs-appctl -t $OVS_RUNDIR/ovnnb_db.ctl vlog/set console:off syslog:$OVN_DBS_LOG_LEVEL file:$OVN_DBS_LOG_LEVEL
701         sudo ovs-appctl -t $OVS_RUNDIR/ovnsb_db.ctl vlog/set console:off syslog:$OVN_DBS_LOG_LEVEL file:$OVN_DBS_LOG_LEVEL
票数 1
EN

Stack Overflow用户

发布于 2021-06-22 08:34:38

我遇到了和你一样的错误。我尝试将超时设置为一个更大的数目,比如600秒,您可以在这个链接中检查第一个答案:how-to-change-systemd-service-timeout-value

但实际上,这不是正确的解决办法。您可以使用systemctl status找到该服务的启动脚本,阻止重新启动进程的是ovn-sbctl init

代码语言:javascript
复制
stack@lil-u18:~/devstack$ systemctl status ovn-central.service 
● ovn-central.service - LSB: OVN central components
   Loaded: loaded (/etc/init.d/ovn-central; static; vendor preset: enabled)
   Active: activating (start) since Wed 2021-06-23 10:02:29 CST; 10min ago
     Docs: man:systemd-sysv-generator(8)
Cntrl PID: 3527 (ovn-central)
    Tasks: 5 (limit: 3654)
   CGroup: /system.slice/ovn-central.service
           ├─ 3527 /bin/sh /etc/init.d/ovn-central start
           ├─ 3534 /bin/sh /usr/share/openvswitch/scripts/ovn-ctl start_northd
           ├─ 3558 ovn-sbctl init
           ├─24463 /bin/sh /usr/share/openvswitch/scripts/ovn-ctl start_northd
           └─24489 ovn-sbctl init

尝试ovn-sbctl --verbose init打印错误消息,如下所示:

代码语言:javascript
复制
stack@lil-u18:~/devstack$ ovn-sbctl --verbose init
2021-06-23T02:13:06Z|00002|reconnect|DBG|unix:/var/run/openvswitch/ovnsb_db.sock: entering BACKOFF
2021-06-23T02:13:06Z|00003|stream_unix|DBG|/var/run/openvswitch/ovnsb_db.sock: connection failed (No such file or directory)
2021-06-23T02:13:06Z|00004|reconnect|INFO|unix:/var/run/openvswitch/ovnsb_db.sock: connecting...
2021-06-23T02:13:06Z|00005|reconnect|DBG|unix:/var/run/openvswitch/ovnsb_db.sock: entering CONNECTING
2021-06-23T02:13:06Z|00006|reconnect|INFO|unix:/var/run/openvswitch/ovnsb_db.sock: connection attempt failed (No such file or directory)
2021-06-23T02:13:06Z|00007|reconnect|DBG|unix:/var/run/openvswitch/ovnsb_db.sock: entering BACKOFF
2021-06-23T02:13:06Z|00008|poll_loop|DBG|wakeup due to 0-ms timeout at ../lib/ovsdb-idl.c:1404
2021-06-23T02:13:07Z|00009|poll_loop|DBG|wakeup due to 1000-ms timeout at ../lib/reconnect.c:643

如您所见,连接失败是因为缺少ovnsb_db.sock,而且它一直在重试,因此设置systemctl服务的timeout不会有帮助。在我的实践中,我将超时设置为15分钟,但仍然失败。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67924432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档