背景: openstack kolla-ansible的部署集群的/etc/kolla/passwords.yml 文件被覆盖
集群密码全部丢失,这个时候想尽可能的恢复集群
幸运的是在history中可以找到mysql的root密码,以及数据库中nova cell相关表中可以查到nova的密码以及消息队列密码
首先要有root密码,从history表中可以找到
select * from cell_mappings;
把nova_cell中的密码和rabbitmq密码还原掉
mysql+pymysql://nova:VAcccJ2jpvI5VDllok0KfEZLrXB2t9Kb4pkylEMi@172.16.4.219:3306/nova_cell0
rabbit://openstack:fWkPkUnKnfYksor8VdfaCk4Nnpgc0jddim07hV4w@172.16.4.21:5672
openstack user list | grep glance
openstack endpoint user service 删掉重建
重建所有用户
nova placement neutron cinder murano
重新部署,这个时候应该可以删掉虚拟机,但是无法新建虚拟机,需要重建cell-->host-->instance的数据
参考: https://kb.vmware.com/s/article/2149692
云硬盘相关的cinder nova 的virsh secret-list对应的key也需要还原
由于是个人开发环境,而且在整理cell相关的记录时遇到的错误太多,所以直接清理了nova相关的虚拟机后,就清理了nova的数据库。
后续解决: 备份该文件,或者 chattr +i /etc/kolla/passwords.yml 防止被覆盖
网友评论