keystone的单元测试用例包含部分后端数据库的测试,注意!!!,这是真实的测试,并不是mock测试。
所以需要测试环境本地安装有数据库。如果本地暂时未安装数据库或者数据库的版本太低,那我们其实也可以指定远程的数据库。
指定步骤:
①进入py27的虚拟环境,在oslo.db下找到provision.py文件
通常路径为:.tox/py27/lib/python2.7/site-packages/oslo_db/sqlalchemy
在MySQLBackendImpl类中有create_opportunistic_driver_url方法
将localhost修改为实际数据库所在环境的IP
def create_opportunistic_driver_url(self):
return "mysql+pymysql://openstack_citest:openstack_citest@**localhost**/"
②在远程环境上执行sh tools/test-setup.py
因为连接数据库是需要通过默认openstack_citest用户跟openstack_citest 密码,执行这条命令可以对openstack_citest用户进行授权。
执行之前