openstack断点pdb调试

1、以neutron的ovn代码为例,说明使用方法。代码文件是/usr/lib/python2.7/site-packages/ovsdbapp/backend/ovs_idl/idlutils.py,在需要打断点的位置输入import pdb;pdb.set_trace()
代码和pdb断点位置如下:

openstack断点pdb调试_第1张图片
2、使用如下命令停止neutron-server的服务:
systemctl stop neutron-server
3、命令行启动neutron-server
这时候不可以直接使用systemctl的方法启动neutron-sever,不然我们无法让代码在断点处停下来。

查看neutron-server的启动命令
通过查看该配置文件可知cat /usr/lib/systemd/system/neutron-server.service
openstack断点pdb调试_第2张图片
3、执行如下命令,以命令行形式重启neutron-server(在这个之前也同样需要自行openrc
/usr/bin/neutron-server --config-file /usr/share/neutron/neutron-dist.conf --config-dir /usr/share/neutron/server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini --config-dir /etc/neutron/conf.d/common --config-dir /etc/neutron/conf.d/neutron-server --log-file /var/log/neutron/server.log

4、发现会在断点位置处停下,再输入‘c’.会到下一个断点位置,如果只打了一个断点则只会再次到该断点。
5、不过需要小心的是,一般而言,当代码到该断点的时候,可能neutron-server还没有起来,或者有可能已经起来,这时候需要经验判断,如果没有起来,说明该断点处被执行不止一次,那就继续输入“c”。这样就会让代码继续往下执行。完成neutron-server的启动,以及下面的调试。
6、然后重新打开一个窗口,执行port-create命令,该命令会在断点处卡住。
在这里插入图片描述
其他openstack的调试方法可以查看该博客
https://gtcsq.readthedocs.io/en/latest/openstack/openstack_debug.html

你可能感兴趣的:(网络虚拟化,openstack)