作者:舒祝
最近手动搭建了一个openstack环境,创建硬盘时失败,查看日志,提示无法进行调度,怀疑是cinder节点出现问题,去cinder节点查看服务 ,状态显示正常。systemctl status openstack-cinder-volume.service然后在控制节点查看cinder服务,openstack volume service list正常情况下显示:
![1af332e1d0ec426ad1545325eb8dcc90.png](https://img-blog.csdnimg.cn/img_convert/1af332e1d0ec426ad1545325eb8dcc90.png)
结果显示cinder-volume的state为down,查看日志发现没有任何错误信息,重启cinder的各种服务仍然没有效果,最后决定跟踪源码(说明:文中代码对应的是OpenStack Train版)。
找到openstack volume service list对应的实现代码。
![3b2529fca320068d3a3c24d4ce11bf30.png](https://img-blog.csdnimg.cn/img_convert/3b2529fca320068d3a3c24d4ce11bf30.png)
now = timeutils.utcnow(with_timezone=True)
由于openstack-cinder-api.servic服务在controller节点启动,所以获取的是controller节点的当前时间。
services &