nova hypervisor-list无法执行,其他api均正常
2018-03-20 15:33
169 查看
平台中有一些计算节点下架,通过nova service-delete ID将其删除后,admin用户登录dashboard,提示"Can't get hareware usage",之后迅速退出登录,后台执行nova hypervisor-list命令后,无法执行成功,提示如下报错:
ERROR (ClientException): Unexpected API Error. Please report this athttp://bugs.launchpad.net/nova/ and attach the
Nova API log if possible.
<class 'nova.exception.ComputeHostNotFound'> (HTTP 500) (Request-ID: req-3b2c76d8-3cfd-405f-bf9d-418524e92131)
![](https://img-blog.csdn.net/20180320152446149?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFoYXBweTg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
原因: 删除计算节点的过程中,nova service-list所呈现的信息与nova hypervisor-list所呈现的数据不一致,nova-all.log中提示如下信息:
![](https://img-blog.csdn.net/20180320152621382?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFoYXBweTg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
解决方法: 基于nova service-list的信息确保compute_nodes表格一致,
[root@node-6 ~]# mysql
mysql> use nova;
mysql> show tables;
mysql> desc compute_nodes;
mysql> select host_ip,hypervisor_hostname from compute_nodes;
+---------------+--------------------------------------------------+
| host_ip | hypervisor_hostname |
+---------------+--------------------------------------------------+
| 192.168.4.3 | node-1.domain.tld |
| 192.168.4.6 | node-4.domain.tld
4000
|
| 192.168.4.7 | node-5.domain.tld |
| 192.168.2.205 | domain-c794.907DA621-15BD-4094-B4A9-5D2FD673591D |
| 192.168.2.207 | 87cc96aa-198a-4b2b-b713-10579cbed210 |
| 192.168.2.207 | 0834bd41-6165-4b94-a333-8f69c6f22a48 |
| 192.168.2.207 | 0834bd41-6165-4b94-a333-8f69c6f22a48 |
| 192.168.2.207 | 87cc96aa-198a-4b2b-b713-10579cbed210 |
| 192.168.2.207 | 5645e6ab-3b93-4a48-b677-807083f59970 |
| 192.168.2.207 | 1aa3d25d-d0d0-44c2-94c1-4c24ec20d051 |
| 192.168.2.205 | domain-c794.907DA621-15BD-4094-B4A9-5D2FD673591D |
| 192.168.2.205 | 3ad8e7c1-1ece-405d-a14d-7ef4447a2ce9 |
| 192.168.2.206 | domain-c794.907DA621-15BD-4094-B4A9-5D2FD673591D
可以看到有大量数据残留。
删除无效数据即可
mysql> delete from compute_nodes where hypervisor_hostname='domain-c794.907DA621-15BD-4094-B4A9-5D2FD673591D';
Query OK, 21 rows affected (0.00 sec)
如下是已经删除的后的结果:
![](https://img-blog.csdn.net/20180320153120835?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFoYXBweTg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
compute_nodes表格中数据内容
ERROR (ClientException): Unexpected API Error. Please report this athttp://bugs.launchpad.net/nova/ and attach the
Nova API log if possible.
<class 'nova.exception.ComputeHostNotFound'> (HTTP 500) (Request-ID: req-3b2c76d8-3cfd-405f-bf9d-418524e92131)
原因: 删除计算节点的过程中,nova service-list所呈现的信息与nova hypervisor-list所呈现的数据不一致,nova-all.log中提示如下信息:
解决方法: 基于nova service-list的信息确保compute_nodes表格一致,
[root@node-6 ~]# mysql
mysql> use nova;
mysql> show tables;
mysql> desc compute_nodes;
mysql> select host_ip,hypervisor_hostname from compute_nodes;
+---------------+--------------------------------------------------+
| host_ip | hypervisor_hostname |
+---------------+--------------------------------------------------+
| 192.168.4.3 | node-1.domain.tld |
| 192.168.4.6 | node-4.domain.tld
4000
|
| 192.168.4.7 | node-5.domain.tld |
| 192.168.2.205 | domain-c794.907DA621-15BD-4094-B4A9-5D2FD673591D |
| 192.168.2.207 | 87cc96aa-198a-4b2b-b713-10579cbed210 |
| 192.168.2.207 | 0834bd41-6165-4b94-a333-8f69c6f22a48 |
| 192.168.2.207 | 0834bd41-6165-4b94-a333-8f69c6f22a48 |
| 192.168.2.207 | 87cc96aa-198a-4b2b-b713-10579cbed210 |
| 192.168.2.207 | 5645e6ab-3b93-4a48-b677-807083f59970 |
| 192.168.2.207 | 1aa3d25d-d0d0-44c2-94c1-4c24ec20d051 |
| 192.168.2.205 | domain-c794.907DA621-15BD-4094-B4A9-5D2FD673591D |
| 192.168.2.205 | 3ad8e7c1-1ece-405d-a14d-7ef4447a2ce9 |
| 192.168.2.206 | domain-c794.907DA621-15BD-4094-B4A9-5D2FD673591D
可以看到有大量数据残留。
删除无效数据即可
mysql> delete from compute_nodes where hypervisor_hostname='domain-c794.907DA621-15BD-4094-B4A9-5D2FD673591D';
Query OK, 21 rows affected (0.00 sec)
如下是已经删除的后的结果:
compute_nodes表格中数据内容
相关文章推荐
- nova api执行过程(以nova list为例)
- 解决普通用户无法执行SQL_TRACE跟踪其他会话问题
- Python IDLE reload(sys)后无法正常执行命令的原因
- 多个click()在一起无法正常执行
- 在 Windows server 2008 下计划任务无法正常执行bat批处理文件
- oracle可执行文件s位导致的Cluster资源组无法正常启动的问题解决
- qt生成的exe可执行程序打包到其他电脑上执行时jpg、gif图片不能正常显示,但png等其他格式可以显示
- 执行程序时报错-“无法启动此程序,因为计算机中丢失api-ms-win-crt-runtime-l1-1-0.dll。尝试重新安装该程序以解决此问题”
- 网站发布后错误:该页无法显示 您试图从目录中执行 CGI、ISAPI 或其他可执行程序,但该目录不允许执行程序。
- 该页无法显示 您试图从目录中执行 CGI、ISAPI 或其他可执行程序,但该目录不允许执行程序
- Linux下rm命令提示“Argument list too long”无法执行解决方法
- 该页无法显示您试图从目录中执行 CGI、ISAPI 或其他可执行程序,但该目录不允许执行程序
- 解决Spring boot中使用Gson,Swagger2 api-docs无法正常显示json问题
- Crontab脚本无法正常执行问题
- Python IDLE reload(sys)后无法正常执行命令的原因
- 压测xx业务数据库资源大量等待,存在表锁问题,导致数据库无法正常执行解决办法
- WebpageTest的测试机器(客户端agent)ie无法打开网页,其他浏览器正常的问题
- spring事务、当业务中并没有异常抛出时执行一半的事务无法正常出发导致数据一致性遭到破坏、事务不起作用
- 请问HOOK自己进程API写函数头写到一半,其他线程执行该API时怎么办?
- yum源在执行yum update 之后无法使用:Could not retrieve mirrorlist