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>
|
$ nova show <server-id>
|
||||||
|
|
||||||
The most common error shown will reference the error message ``No valid host
|
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
|
was found``. Refer to `No Valid Host Found Error`_ below.
|
||||||
at the following log files for further troubleshooting::
|
|
||||||
|
In other cases, look at the following log files for further troubleshooting::
|
||||||
|
|
||||||
/var/log/nova/*
|
/var/log/nova/*
|
||||||
/var/log/heat/*
|
/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::
|
package and then generate a report::
|
||||||
|
|
||||||
$ sudo sosreport --all-logs
|
$ 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…
Reference in New Issue
Block a user