本机开发环境是UBUNTU16.04LTS,开发环境是本机搭建的centos7虚拟机通过packstack搭建的newton版本openstack运行环境。 在开发horizon过程中,发现openstack报错的代码和本机看到的代码对不上。通过比对,发现是openstack_auth在两边的版本不一致。
因为本机开发horizon解决依赖是通过在horizon源码目录,执行如下命令安装的:
sudo pip install -r requirements.txt
所以本机安装的依赖普遍版本号比packstack环境高,加上openstack已经出了ocata版本,于是就出现两套环境的openstack_auth差异较大。
测试通过如下步骤可以将两边环境的依赖包处理成一致。
1.在packstack环境通过pip生成依赖信息
pip freeze -r requirements.txt
2.修改requirements.txt为requirements.sh 修改前
alembic==0.8.7
amqp==1.4.6
anyjson==0.3.3
aodh==3.0.1
......
通过vscode的列编辑模式,快速修改为如下内容:
sudo pip install alembic==0.8.7
sudo pip install amqp==1.4.6
sudo pip install anyjson==0.3.3
sudo pip install aodh==3.0.1
......
3.安装执行 sudo sh requirements.sh,即可将本机与packstack依赖包版本调整为一致。