易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 3298|回复: 0
收起左侧

No valid host was found. There are not enough hosts available-----openstack建虚拟机直

[复制链接]
发表于 2021-6-17 16:23:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?开始注册

x
目录$ ~- i* T6 u5 g3 F
No valid host was found. There are not enough hosts available-----openstack建虚拟机直接报错0 U) O/ U" j( e
一、问题现象:# h- L1 ]# s, a1 J1 z. r8 H" S
二、解决思路:/ \  D4 C* Q9 A' B
1、查看计算节点的nova-compute 日志,发现如下日志:
6 `. X+ _5 b7 A7 ]9 j6 |/ R2、查看nova-scheduler.log, Y! L$ W5 P* m8 _# H9 n
3、进数据查看数据库表
( r$ A, r1 }# ^! k7 n4、尝试将compute节点从nova service-list中删除,并重新加入到集群中3 k7 T6 x% P4 }% O# O7 }
5、再次进入数据库,执行 select * from resource_providers;9 g7 n  U& X; Q2 Y  ]  d$ {- O9 [" R
6、查找官网,找到了操作 resource_providers的openstack命令,执行如下操作。
6 X. U7 ~0 Y9 @, T+ z. p一、问题现象:
" ]9 A4 g% V- I' l* a+ d$ \本次环境中只有一个计算节点,创建虚拟机直接报错,使用nova show 看到报错如下图:0 }2 I$ T/ a2 e2 V  Z) `. G
"message": "No valid host was found. There are not enough hosts available.", "code": 500
/ i% `& @' K/ [: x  Q4 I* A" W) i4 x+ ~. n  l
二、解决思路:
0 r3 L$ W& p, z: D6 W1、查看计算节点的nova-compute 日志,发现如下日志:
2 f( d: P% `# o1 H) g2019-11-21 19:47:09.484 8 ERROR nova.scheduler.client.report [req-cbc37e88-16be-4b5b-be98-d889cd1b01dc - - - - -] [req-a5a6d438-3f63-49aa-9dd2-98d061b122b4] Failed to create resource provider record in placement API for UUID d878a164-6499-43d4-9772-b77107a1bb8c. Got 409: {"errors": [
; T1 w6 d: U" P1 c! J9 O! m) I' N' Z0 A& B{"status": 409, "request_id": "req-a5a6d438-3f63-49aa-9dd2-98d061b122b4", "detail": "There was a conflict when trying to complete your request.\n\n Conflicting resource provider name: compute1 already exists. ", "title": "Conflict"}
1 o# p2 B' _, Q% [: G% F$ r2019-11-21 19:47:09.485 8 ERROR nova.compute.manager [req-cbc37e88-16be-4b5b-be98-d889cd1b01dc - - - - -] Error updating resources for node compute1.: ResourceProviderCreationFailed: Failed to create resource provider compute1
+ d) N+ @; t( D5 a% R- ^# b& z9 b( [发现ResourceProviderCreationFailed: Failed to create resource provider compute1 ,发现resource Provider 创建失败。怀疑数据库resource provider 表没有建出来,继续查看nova-nova-scheduler.log。1 P5 [# \# Z8 J2 b
2、查看nova-scheduler.log
5 L  O, u2 z1 c- o( R' E2019-11-21 20:18:43.360 29 INFO nova.filters [req-448bd5fa-ddc8-45d9-9b8b-a63bdb691335 e0111848d3904a7288df61cac5163f4f 9be97009f556459cb1814232dbedb4a3 - default default] Filter RetryFilter returned 0 hosts
6 h( z' K4 J( `: t4 l2019-11-21 20:18:43.362 29 INFO nova.filters [req-448bd5fa-ddc8-45d9-9b8b-a63bdb691335 e0111848d3904a7288df61cac5163f4f 9be97009f556459cb1814232dbedb4a3 - default default] Filtering removed all hosts for the request with instance ID 'c9542c1c-191e-49f2-815a-fdcacc081af6'. Filter results: ['RetryFilter: (start: 0, end: 0)']. t: y0 [4 z$ p! P( X7 W+ C& Q& P
3、进数据查看数据库表; w/ x( g$ T) B: s
mysql> use nova_api;
& n% N% A+ [1 H2 z$ c! v  I. hmysql[nova_api] >  select * from resource_providers;& K. T# C" O' J" S9 [
+---------------------+---------------------+----+--------------------------------------+----------+------------+----------+------------------+--------------------+9 n: I: ], r/ c1 D1 K9 V! K3 p. R: E' S
| created_at          | updated_at          | id | uuid                                 | name     | generation | can_host | root_provider_id | parent_provider_id |' W  J4 L( q2 C& L/ b+ ~* I; Z5 y
+---------------------+---------------------+----+--------------------------------------+----------+------------+----------+------------------+--------------------+7 ^* ^1 A# a# B6 [
| 2019-11-21 06:17:39 | 2019-11-21 06:17:41 |  3 | 16d1bd53-7919-4fef-9a11-a0e98c149823 | compute1 |          1 |     NULL |                3 |               NULL |
3 P- a& r& X6 o( G: j; u  w2 \2 `) l+---------------------+---------------------+----+--------------------------------------+----------+------------+----------+------------------+--------------------+( a* Y6 Y, d' m$ b& F6 m8 n: g
1 row in set (0.00 sec)
3 N# N- ^# N- Q/ R7 @发现有数据。重新创建虚拟机,依然会发生报错,3 h. c: H0 r% R$ A. U. |' h% p
4、尝试将compute节点从nova service-list中删除,并重新加入到集群中
# T% z& i8 x5 @9 C/ \2 A9 A# 停掉compute节点的nova-compute 服务, C% w+ g* K) {
nova service-delete <计算节点的uuid>! P' t( q& U' {" [8 }/ W% L) ^$ T
# 开启计算节点的nova-compute服务,让计算节点重新注册' e( z* P: g& L5 Z: f+ p
尝试创建虚拟机,发现还是报错。返回去,查看nova-compute的日志发现 There was a conflict when trying to complete your request.\n\n Conflicting resource provider name: compute1 already exists. 。提示矛盾。
  h& f7 K3 c( C8 w% w- z" r5、再次进入数据库,执行 select * from resource_providers;
2 f: G; f/ _$ v( \2 Rmysql> use nova_api;
/ q$ H3 t2 H. r0 {, Nmysql[nova_api] >  select * from resource_providers;# T: F6 U& d* @
+---------------------+---------------------+----+--------------------------------------+----------+------------+----------+------------------+--------------------+
$ W# B& J0 J! r6 i| created_at          | updated_at          | id | uuid                                 | name     | generation | can_host | root_provider_id | parent_provider_id |
' V5 H! x' N! N# r/ N2 [" A+ N5 r% c+---------------------+---------------------+----+--------------------------------------+----------+------------+----------+------------------+--------------------+4 `- m/ e4 ^  Q8 C  V; x
| 2019-11-21 06:17:39 | 2019-11-21 06:17:41 |  3 | 16d1bd53-7919-4fef-9a11-a0e98c149823 | compute1 |          1 |     NULL |                3 |               NULL |+ n1 T) z' B; H& V) ~) n" ?* w
+---------------------+---------------------+----+--------------------------------------+----------+------------+----------+------------------+--------------------+
+ a  G6 b3 o& G1 row in set (0.00 sec)2 M/ a& I9 I6 Y8 l! B
发现新注册的计算节点,但是resource_providers的uuid 没有发生变化,怀疑是注册compute节点的时候,并没有更新resource_providers,尝试删除resource_providers;
0 z8 _6 O8 r( z1 T5 e
6 j5 A. z4 @5 `" n' x4 T5 Q; M7 X# f
8 `# {5 i  O' {; |  r
查找官网,找到了操作 resource_providers的openstack命令,执行如下操作。% K* {: y, T, S: G9 ]! D
相关文档:https://docs.openstack.org/osc-placement/latest/cli/index.html
0 ]: J# W1 q0 F2 m4 y5 g- y相关软件包:https://cbs.centos.org/kojifiles/packages/python-osc-placement/1.3.0/1.el7/noarch/python2-osc-placement-1.3.0-1.el7.noarch.rpm# h4 [# |4 K% E: L& T4 z9 u4 O* Q
# 安装osc-placement 软件包,生成命令行工具8 h* j- l+ q" Y: s6 P
# 执行如下命令:; m( P5 Q# x" X, `  |- e. j
export OS_PLACEMENT_API_VERSION=1.10! @% Y; c) D% t. }; C; \) y
openstack allocation candidate list --resource VCPU=1
& c% ?" m/ v5 q$ P5 _- H# 查看当前resource provider, a9 s6 w& u& M- K( Z& M# s0 O' _
[root@control1 ~]# openstack resource provider  list
8 I6 t/ y, d" L1 a' e+--------------------------------------+----------+------------+
& R6 Z, I# j: i. u4 z5 A  o2 G" q9 l| uuid                                 | name     | generation |) _8 [9 L3 C' O
+--------------------------------------+----------+------------+0 H9 b  }/ Y# J
| 16d1bd53-7919-4fef-9a11-a0e98c149823 | compute1 |          2 |  ^! T0 C. r1 [6 ~$ z: j* t
+--------------------------------------+----------+------------+
( I- u7 ?3 J- R7 r. S# 停止计算节点nova-compute服务
, U( C' S5 j; g/ U- o% R# 从service 中删除compute1' j9 m( S8 |/ O) V3 _" a
nova service-delete  <uuid>
/ ?; H8 K4 W6 \& Q& T# 删除当前resource provider2 C4 @5 ~4 `6 t# [( K- ]
openstack resource provider  delete 16d1bd53-7919-4fef-9a11-a0e98c149823
( C- n( V3 p& v' C# 重启nova-compute服务,让其自动注册
7 y  W( Z2 J, i, }6 B$ B# 查看当前resource provider" p) x2 f2 f5 p! o6 S" \
[root@control1 ~]# openstack resource provider  list# L; @/ }, h8 ]
+--------------------------------------+----------+------------+
# _5 S0 w  Q8 ]5 {3 ~| uuid                                 | name     | generation |; C" q0 c5 G$ r
+--------------------------------------+----------+------------+
0 x/ u6 \) H% s1 |- f| b32cd7b5-26c6-4998-97f1-79fa2315871b | compute1 |          2 |! j- }* }+ u+ Z1 c8 ]2 P8 o
+--------------------------------------+----------+------------+. O+ a8 y$ Z) E8 t- A& t
# # 执行如下命令,验证是否更新了数据
' A+ W) D# [8 \: B) kexport OS_PLACEMENT_API_VERSION=1.10
+ }3 A4 s8 P* X  i- [% iopenstack allocation candidate list --resource VCPU=1
9 y3 i0 J0 C# O& f, A4 R/ ^9 u+ J执行创建云主机,云主机成功创建。
# m* H  [3 \/ x, b$ A& e0 t
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

北京云银创陇科技有限公司以云计算运维,代码开发

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 点击这里给我发消息

GMT+8, 2026-4-8 19:03 , Processed in 0.040490 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

快速回复 返回顶部 返回列表