*** This bug is a duplicate of bug 1610679 ***
https://bugs.launchpad.net/bugs/1610679
For the non-Ironic case that this bug was originally reported against,
it might be a duplicate of bug 1610679 which was fixed in Ocata and
backported to Newton:
https://review.openstack.org/#/q/Ia68298a3f01d89bbf302ac734389f7282176c553,n,z
** This bug has been marked a duplicate of bug 1610679
race conditions between compute and schedule disk report
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1515870
Title:
server can not launch while there's a new nova compute node registed
failed
Status in OpenStack Compute (nova):
Confirmed
Bug description:
1. Exact version of Nova/OpenStack you are running:
kilo 2015.1.0
2.Relevant log files:
2015-11-03 16:00:29.990 3568 ERROR oslo_messaging.rpc.dispatcher
[req-ce8d5d3d-6a79-4827-b472-02940be546bc 60ca5cf0e1bf44b985ee5ceae440fcfc
b2a5638f40fd43a59a9be1e9c12f7d89 - - -] Exception during message handling:
unsupported operand type(s) for *: 'NoneType' and 'int'
2015-11-03 16:00:29.990 3568 TRACE oslo_messaging.rpc.dispatcher Traceback
(most recent call last):
2015-11-03 16:00:29.990 3568 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 142,
in _dispatch_and_reply
2015-11-03 16:00:29.990 3568 TRACE oslo_messaging.rpc.dispatcher
executor_callback))
2015-11-03 16:00:29.990 3568 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 186,
in _dispatch
2015-11-03 16:00:29.990 3568 TRACE oslo_messaging.rpc.dispatcher
executor_callback)
2015-11-03 16:00:29.990 3568 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 130,
in _do_dispatch
2015-11-03 16:00:29.990 3568 TRACE oslo_messaging.rpc.dispatcher result =
func(ctxt, **new_args)
2015-11-03 16:00:29.990 3568 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/oslo_messaging/rpc/server.py", line 142, in
inner
2015-11-03 16:00:29.990 3568 TRACE oslo_messaging.rpc.dispatcher return
func(*args, **kwargs)
2015-11-03 16:00:29.990 3568 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/nova/scheduler/manager.py", line 86, in
select_destinations
2015-11-03 16:00:29.990 3568 TRACE oslo_messaging.rpc.dispatcher
filter_properties)
2015-11-03 16:00:29.990 3568 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/nova/scheduler/filter_scheduler.py", line 67,
in select_destinations
2015-11-03 16:00:29.990 3568 TRACE oslo_messaging.rpc.dispatcher
filter_properties)
2015-11-03 16:00:29.990 3568 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/nova/scheduler/filter_scheduler.py", line
131, in _schedule
2015-11-03 16:00:29.990 3568 TRACE oslo_messaging.rpc.dispatcher hosts =
self._get_all_host_states(elevated)
2015-11-03 16:00:29.990 3568 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/nova/scheduler/filter_scheduler.py", line
176, in _get_all_host_states
2015-11-03 16:00:29.990 3568 TRACE oslo_messaging.rpc.dispatcher return
self.host_manager.get_all_host_states(context)
2015-11-03 16:00:29.990 3568 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/nova/scheduler/host_manager.py", line 561, in
get_all_host_states
2015-11-03 16:00:29.990 3568 TRACE oslo_messaging.rpc.dispatcher
host_state = self.host_state_cls(host, node, compute=compute)
2015-11-03 16:00:29.990 3568 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/nova/scheduler/host_manager.py", line 318, in
host_state_cls
2015-11-03 16:00:29.990 3568 TRACE oslo_messaging.rpc.dispatcher return
HostState(host, node, **kwargs)
2015-11-03 16:00:29.990 3568 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/nova/scheduler/host_manager.py", line 163, in
__init__
2015-11-03 16:00:29.990 3568 TRACE oslo_messaging.rpc.dispatcher
self.update_from_compute_node(compute)
2015-11-03 16:00:29.990 3568 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/nova/scheduler/host_manager.py", line 208, in
update_from_compute_node
2015-11-03 16:00:29.990 3568 TRACE oslo_messaging.rpc.dispatcher
free_disk_mb = free_gb * 1024
2015-11-03 16:00:29.990 3568 TRACE oslo_messaging.rpc.dispatcher TypeError:
unsupported operand type(s) for *: 'NoneType' and 'int'
2015-11-03 16:00:29.990 3568 TRACE oslo_messaging.rpc.dispatcher
2015-11-03 16:00:29.991 3568 ERROR oslo_messaging._drivers.common
[req-ce8d5d3d-6a79-4827-b472-02940be546bc 60ca5cf0e1bf44b985ee5ceae440fcfc
b2a5638f40fd43a59a9be1e9c12f7d89 - - -] Returning exception unsupported operand
type(s) for *: 'NoneType' and 'int' to caller
2015-11-03 16:00:29.991 3568 ERROR oslo_messaging._drivers.common
[req-ce8d5d3d-6a79-4827-b472-02940be546bc 60ca5cf0e1bf44b985ee5ceae440fcfc
b2a5638f40fd43a59a9be1e9c12f7d89 - - -] ['Traceback (most recent call
last):\n', ' File
"/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 142,
in _dispatch_and_reply\n executor_callback))\n', ' File
"/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 186,
in _dispatch\n executor_callback)\n', ' File
"/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 130,
in _do_dispatch\n result = func(ctxt, **new_args)\n', ' File
"/usr/lib/python2.7/site-packages/oslo_messaging/rpc/server.py", line 142, in
inner\n return func(*args, **kwargs)\n', ' File
"/usr/lib/python2.7/site-packages/nova/scheduler/manager.py", line 86, in
select_destinations\n filter_properties)\n', ' File
"/usr/lib/python2.7/site-packages/nova/scheduler/filter_scheduler.py", line 67,
in select_desti
nations\n filter_properties)\n', ' File
"/usr/lib/python2.7/site-packages/nova/scheduler/filter_scheduler.py", line
131, in _schedule\n hosts = self._get_all_host_states(elevated)\n', ' File
"/usr/lib/python2.7/site-packages/nova/scheduler/filter_scheduler.py", line
176, in _get_all_host_states\n return
self.host_manager.get_all_host_states(context)\n', ' File
"/usr/lib/python2.7/site-packages/nova/scheduler/host_manager.py", line 561, in
get_all_host_states\n host_state = self.host_state_cls(host, node,
compute=compute)\n', ' File
"/usr/lib/python2.7/site-packages/nova/scheduler/host_manager.py", line 318, in
host_state_cls\n return HostState(host, node, **kwargs)\n', ' File
"/usr/lib/python2.7/site-packages/nova/scheduler/host_manager.py", line 163, in
__init__\n self.update_from_compute_node(compute)\n', ' File
"/usr/lib/python2.7/site-packages/nova/scheduler/host_manager.py", line 208, in
update_from_compute_node\n free_disk_mb = free_gb * 1024\n', "Ty
peError: unsupported operand type(s) for *: 'NoneType' and 'int'\n"]
3.Reproduce steps:
I can launch VM success,then add a nova compute.
But the info of nova compute registed to mariadb is not enough.
eg. the fram_ram_mb in the table compute_nodes is null.
MariaDB [nova]> select created_at ,updated_at ,deleted_at ,service_id
,free_ram_mb , free_disk_gb ,id ,current_workload , hypervisor_hostname from
compute_nodes where host='NailSBCJslot3rackN9';
+---------------------+------------+------------+------------+-------------+--------------+----+------------------+---------------------+
| created_at | updated_at | deleted_at | service_id | free_ram_mb |
free_disk_gb | id | current_workload | hypervisor_hostname |
+---------------------+------------+------------+------------+-------------+--------------+----+------------------+---------------------+
| 2015-11-03 07:31:57 | NULL | NULL | 8 | NULL |
NULL | 2 | NULL | NailSBCJslot3rackN9 |
+---------------------+------------+------------+------------+-------------+--------------+----+------------------+---------------------+
Expected result:
* the VM can launch success.
There are other nova computes in the system, where can launch VM success.
The "bad" nova compute should not cause the new VM launched failed.
Actual result:
* VM launch failed.
4. Bonus points for reproducing shell script / test:
When launch VM, check whether the items in the table of compute_nodes is null.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1515870/+subscriptions
--
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help : https://help.launchpad.net/ListHelp