nova scheduler: Failed to schedule_run_instance: No valid host was found

Asked by Sumit Sengupta on 2012-04-03

The nova-scheduler during creation of an instance is throwing issue 'Failed to schedule_run_instance: No valid host was found.' This is failing at when it checks that host passes filters or not. Any idea what could be the reason and how to resolve this?
------------------------
2012-04-03 12:37:20 DEBUG nova.scheduler.host_manager [req-49ea5605-9e31-4db6-955c-8acd59cf0f82 baaa0b3c108b4626a083007a72d37b01 4eabbf34471d469a91234b769b5b2af3] Host filter function <bound method RamFilter.host_passes of <nova.scheduler.filters.ram_filter.RamFilter object at 0x4217150>> failed for mymachine-host from (pid=4567) passes_filters /home/myuser/openstack/nova/app/nova/scheduler/host_manager.py:160

2012-04-03 12:37:20 WARNING nova.scheduler.manager [req-49ea5605-9e31-4db6-955c-8acd59cf0f82 baaa0b3c108b4626a083007a72d37b01 4eabbf34471d469a91234b769b5b2af3] Failed to schedule_run_instance: No valid host was found.

2012-04-03 12:37:20 WARNING nova.scheduler.manager [req-49ea5605-9e31-4db6-955c-8acd59cf0f82 baaa0b3c108b4626a083007a72d37b01 4eabbf34471d469a91234b769b5b2af3] Setting instance c6ef30e4-ae64-46b8-aab9-700d3e68165a to ERROR state.

Question information

Language:
English Edit question
Status:
Answered
For:
OpenStack Compute (nova) Edit question
Assignee:
No assignee Edit question
Last query:
2012-04-03
Last reply:
2016-11-23
John Garbutt (johngarbutt) said : #1

It is worth talking a look in the database service table to ensure the compute service is correctly reporting its stats.

It looks a bit like nova thinks you don't have enough RAM to launch your instance.

Vish Ishaya (vishvananda) said : #2

You can tell the scheduler to overcommit ram using ram_allocation_ratio:

###### (FloatOpt) virtual ram to physical ram allocation ratio
# ram_allocation_ratio=1.5

yong sheng gong (gongysh) said : #3

I am not sure about the host status. Maybe you should first run nova-manager service-list to check if there are nova-compute smiling. And then try a tiny flavor instance.

hope it can help.

Sumit Sengupta (sumit-sngpt) said : #4

Solved this by adding following in my nova.conf then restarting openstack. No issues yet but not sure about its side affects.

scheduler_default_filters=AllHostsFilter

Let me know if there would be any issue.

drolfe (drolfe) said : #5

Issue fixed for me

I've had similar errors on my dev openstack deployment , adding

--scheduler_default_filters=AllHostsFilter

to nova.conf on the node running the scheduler service fixed the issue

I'm gussing the default filter didn't like the hypervisor for some reason ?

Hello, I tried adding --scheduler_default_filters=AllHostsFilter to nova.conf, reboot, no success...

Failed to schedule_run_instance: No valid host was found.

nova-manage host list
host zone
2012-07-16 15:13:17 DEBUG nova.utils [req-1bcaad5f-e732-4587-80a6-761ae93d79fa None None] backend <module 'nova.db.sqlalchemy.api' from '/usr/lib/python2.7/dist-packages/nova/db/sqlalchemy/api.pyc'> from (pid=2895) __get_backend /usr/lib/python2.7/dist-packages/nova/utils.py:658
XEN01 nova

Ubuntu 12.04
Followed setup of stackgeek http://stackgeek.com/guides/gettingstarted.html

any developments?

Sampat Ponnaganti (sampat-p) said : #7

I had to set (Icehouse)
scheduler_default_filters = ComputeFilter
ComputeFilter by default returns all hosts so the scheduler will return some instance.

RamFiler as per my knowledge sums up Ram usage of running/suspended...etc except Error state instance flavors. So if you have bunch of suspended instances you cannot spawn any more instances.

Rupesh Chowdhary (rupeshrams) said : #8

There is two possibilities of this issue cause,

1. While launch the instance need to give the --availability-zone to specify the instance launch.

nova boot --image 52459jlrw4k4l --flavor small --nic net-id=540545lkjgd--dngg-lkjlkj52525 test01 --availability-zone kvm1

2. In controller node check the filter as updated properly or not . /etc/nova/nova.conf validate the information at scheduler_default_filters= ( filters must be mention here)

3. In last case check the filter is exist in filters directory or not in the following path, file should be there in the path
     /usr/lib/python2.7/dist-packages/nova/scheduler/filters

Can you help with this problem?

Provide an answer of your own, or ask Sumit Sengupta for more information if necessary.

To post a message you must log in.