Ask Your Question
0

Compute node registration issue

asked 2017-11-25 08:52:19 -0500

NWPerfGuy gravatar image

I have the latest Pike version on OpenStack installed but could not make it work :( When I try to create a new instance I get the error

 "ERROR nova.conductor.manager NoValidHost: No valid host was found."

in the log. I think the problem is that even though the compute nodes are registered:

root@controller:/etc/nova# openstack compute service list
+----+------------------+------------+----------+---------+-------+----------------------------+
| ID | Binary           | Host       | Zone     | Status  | State | Updated At                 |
+----+------------------+------------+----------+---------+-------+----------------------------+
|  4 | nova-consoleauth | controller | internal | enabled | up    | 2017-11-25T14:33:12.000000 |
|  5 | nova-scheduler   | controller | internal | enabled | up    | 2017-11-25T14:33:11.000000 |
|  6 | nova-conductor   | controller | internal | enabled | up    | 2017-11-25T14:33:18.000000 |
|  7 | nova-compute     | compute1   | nova     | enabled | up    | 2017-11-25T14:33:18.000000 |
|  8 | nova-compute     | compute2   | nova     | enabled | up    | 2017-11-25T14:33:13.000000 |
+----+------------------+------------+----------+---------+-------+----------------------------+
root@controller:/etc/nova# nova hypervisor-list
+--------------------------------------+---------------------+-------+---------+
| ID                                   | Hypervisor hostname | State | Status  |
+--------------------------------------+---------------------+-------+---------+
| 2119b68e-73a0-4d50-9614-23e257a8b58b | compute1.lan        | up    | enabled |
| ea9c3ef7-f262-4daf-83ad-d1bc4418313c | compute2.lan        | up    | enabled |
+--------------------------------------+---------------------+-------+---------+
root@controller:/etc/nova#

The resource provider table is empty in MySQL and the upgrade check complains about it as well:

root@controller:/etc/nova# nova-status upgrade check
+-------------------------------------------------------------------+
| Upgrade Check Results                                             |
+-------------------------------------------------------------------+
| Check: Cells v2                                                   |
| Result: Success                                                   |
| Details: None                                                     |
+-------------------------------------------------------------------+
| Check: Placement API                                              |
| Result: Success                                                   |
| Details: None                                                     |
+-------------------------------------------------------------------+
| Check: Resource Providers                                         |
| Result: Warning                                                   |
| Details: There are no compute resource providers in the Placement |
|   service but there are 2 compute nodes in the deployment.        |
|   This means no compute nodes are reporting into the              |
|   Placement service and need to be upgraded and/or fixed.         |
|   See                                                             |
|   http://docs.openstack.org/developer/nova/placement.html         |
|   for more details.                                               |
+-------------------------------------------------------------------+

The placement service is up and running and found no related error in the logs of the controller or the compute nodes. I am stuck here as I do not know what to check in order to figure out the lack of resource provider entries.

Thank you,

Zoltan

edit retag flag offensive close merge delete

Comments

Actually after the reverse engineering of the code it turned out that the only way to create a resource provider record is calling the placement API (POST /placement/resource_providers) that in turn calls the resource_provider.py handler. The question is who should call it and why it is not called.

NWPerfGuy gravatar imageNWPerfGuy ( 2017-11-26 01:53:54 -0500 )edit

1 answer

Sort by ยป oldest newest most voted
1

answered 2017-12-20 14:13:49 -0500

NWPerfGuy gravatar image

Problem solved. It seems no matter what I configure in nova.conf if the reverse DNS lookup works then the host name returned by DNS will be used as the hypervisor name. OpenStack thinks that compute1 is different from compute1.lan so I intentionally broke the DNS system in order make the reverse DNS to fail. After reinstalling the the same software components with the same configuration things started to work flawlessly.

edit flag offensive delete link more

Comments

thanks for sharing

SGPJ gravatar imageSGPJ ( 2018-02-07 10:55:52 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower

Stats

Asked: 2017-11-25 08:52:19 -0500

Seen: 608 times

Last updated: Dec 20 '17