Openstack glance 单元测试中遇到的插件无法加载问题

问题

通过vscode 直接跑function test时候报错找不到插件。(手动跑结果也一样:stestr run --no-discover glance/tests/functional/v2/test_images.py::TestQuotasWithRegistry::test_image_upload_under_quota --debug
报错日志:

2022-09-26 10:33:16.081 16636 ERROR glance.common.wsgi File "/home/jn/code/cee/openstack/glance/glance/common/location_strategy/init.py", line 120, in get_ordered_locations
2022-09-26 10:33:16.081 16636 ERROR glance.common.wsgi strategy_module = _available_strategies[CONF.location_strategy]
2022-09-26 10:33:16.081 16636 ERROR glance.common.wsgi KeyError: 'location_order'

背景知识:

  • setuptools 通过读取 setup.cfg 生成相关的打包文件
  • stevedore 根据打包之后生成的 entry_points.txt 动态读取插件

由于没有用仓库定义的 tox.ini 先生成上述文件,导致读取不到插件。

解决办法:

tox -e functional-py37 glance/tests/functional/v2/test_images.py

代码根目录会多出 /etc/ /glance.egg-info/ 等文件夹,之后再手动跑/用vscode test 跑都没在出现问题。

posted @ 2022-10-21 19:19  Jneeee  阅读(45)  评论(0编辑  收藏  举报