Troubleshooting docs for no valid host found error
Change-Id: I0d46b999dfa6b6fa3b5ca5916ed41a3ea5b55ed2
This commit is contained in:
parent
8e7f627685
commit
a07842f215
@ -150,8 +150,9 @@ are all run on the Undercloud and assume a stackrc file has been sourced.
|
||||
$ nova show <server-id>
|
||||
|
||||
The most common error shown will reference the error message ``No valid host
|
||||
was found``. This error is a catch all failure scenario. In this case, look
|
||||
at the following log files for further troubleshooting::
|
||||
was found``. Refer to `No Valid Host Found Error`_ below.
|
||||
|
||||
In other cases, look at the following log files for further troubleshooting::
|
||||
|
||||
/var/log/nova/*
|
||||
/var/log/heat/*
|
||||
@ -167,3 +168,62 @@ are all run on the Undercloud and assume a stackrc file has been sourced.
|
||||
package and then generate a report::
|
||||
|
||||
$ sudo sosreport --all-logs
|
||||
|
||||
No Valid Host Found Error
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Sometimes ``/var/log/nova/nova-conductor.log`` contains the following error::
|
||||
|
||||
NoValidHost: No valid host was found. There are not enough hosts available.
|
||||
|
||||
"No valid host was found" means that the Nova Scheduler could not find a bare
|
||||
metal node suitable for booting the new instance.
|
||||
|
||||
This in turn usually means some mismatch between resources that Nova expects
|
||||
to find and resources that Ironic advertised to Nova.
|
||||
|
||||
A few things should be checked in this case:
|
||||
|
||||
#. Introspection should have succeeded for you before, or you should have
|
||||
entered the required Ironic node properties manually.
|
||||
For each node in ``ironic node-list`` use
|
||||
::
|
||||
|
||||
ironic node-show <IRONIC-NODE-UUID>
|
||||
|
||||
and make sure that ``properties`` JSON field has valid values for keys
|
||||
``cpus``, ``cpu_arch``, ``memory_mb`` and ``local_gb``.
|
||||
|
||||
#. Nova flavor that you are using does not exceed the Ironic node properties
|
||||
above for a required number of nodes. Use
|
||||
::
|
||||
|
||||
nova flavor-show <FLAVOR NAME>
|
||||
|
||||
to compare.
|
||||
|
||||
#. Make sure that enough nodes are in ``available`` state according to
|
||||
``ironic node-list``. Nodes in ``manageable`` state usually mean they
|
||||
have failed introspection.
|
||||
|
||||
#. Make sure nodes you're going to deploy to are not in maintenance mode.
|
||||
Again, use ``ironic node-list`` to check. A node automatically going to
|
||||
maintenance mode usually means wrong power credentials for this node. Check
|
||||
them and then remove maintenance mode::
|
||||
|
||||
ironic node-set-maintenance <IRONIC-NODE-UUID> off
|
||||
|
||||
#. If you're using advanced profile matching with multiple flavors, make sure
|
||||
you have enough nodes corresponding to each flavor/profile. Watch
|
||||
``capabilities`` key in ``properties`` field for ``ironic node-show``.
|
||||
It should contain e.g. ``profile:compute``.
|
||||
|
||||
#. It takes some time for nodes information to propagate from Ironic to Nova
|
||||
after introspection. Our tooling usually accounts for it, but if you did
|
||||
some steps manually, there may be a period of time when nodes are not
|
||||
available to Nova yet. Check that
|
||||
::
|
||||
|
||||
nova hypervisor-stats
|
||||
|
||||
correctly shows total amount of resources in your system.
|
||||
|
Loading…
x
Reference in New Issue
Block a user