计算节点中无报错无法同步resource provider
报错信息为
2019-05-05 10:21:24.738 28481 WARNING nova.scheduler.client.report [req-8745f172-a018-403d-8519-4146e856abe1 - - - - -] Unable to refresh my resource provider record
2019-05-05 10:22:26.392 28481 INFO nova.scheduler.client.report [req-8745f172-a018-403d-8519-4146e856abe1 - - - - -] [req-a1784036-3080-4495-be08-4b8fa289db09] Another thread already created a resource provider with the UUID 29a49143-2efd-4881-90c7-ea95fc346d75. Grabbing that record from the placement API.
原因是部署完计算节点并同步数据库以后,修改过计算节点的主机名或者删除过nova service里的compute服务,重新同步以后服务能启动但是日志会报此种错误 导致无法进行虚机热迁移等错误;迁移时无法找到可用宿主机
解决办法 :
进入数据库
use nova_api;
select * from resource_providers where name like 'pc-zjhazrapp22.zj.chinamobile.com'; (pc-zjhazrapp22.zj.chinamobile.com 此处替换为计算节点宿主机名称)
执行后会得到一个uuid 为现在使用的resource_provider id 一定和日志里报的不一致;
use nova;
select deleted_at,host from compute_nodes where uuid='29a49143-2efd-4881-90c7-ea95fc346d75'; (此处uuid为上面日志中报出来的uuid)
执行命令后,显示为空 证明现在使用的uuid没有关联可用宿主机
确认以上情况后,执行修改命令解决问题