Comment 0 for bug 1787846

Revision history for this message
Rodolfo (atomrag) wrote :

Description case of use:

When launch a instance in the controller on nova conductor appears "NoValidHost: No valid host was found."

this case appears in Pike relase and Queens:

for example resources on the compute:

INFO nova.compute.resource_tracker [req-20c5da6c-a550-408d-85dc-92039e41a3fd - - - - -] Final resource view: name=compute2.example.local phys_ram=15793MB used_ram=2608MB phys_disk=72GB used_disk=62GB total_vcpus=6 used_vcpus=4 pci_stats=[]

my solution of storage is one by LVM with 1TB using cinder-volume, and the other case exists an storage dell FC4020 with 10T free. the creation volume works without problem and attaching also. The problem is the scheduler don't know free space in the resource and only view phys_disk on the local disk in the compute.

sample case:

1) instance one machine with flavor root_disk=31G ram=1G vcpu=2, works with LVM or StorageFC
2) instance machine number two with flavor root_disk=31G ram=1G vcpu=2, works with LVM or StorageFC
3) when instance 3th machine appears "..NoValidHost.." becouse phys_disk=72 and 31*3 = 93GB and 72G<93G.

4) the machine works if the sum of the flavor of the disc does not exceed 31G. A case that may happen is that if the flavor of the disk is greater than 72G it will not work however I can generate several volumes with cinder-volume exceeding the capacity of the local disk of the compute node I can also attach the disks without problems.

5) one solution maybe appears in the documentation https://docs.openstack.org/nova/queens/user/placement.html about :
"...possible to exclude the CoreFilter, RamFilter and DiskFilter from the list of enabled FilterScheduler filters such that scheduling decisions are not based on CPU, RAM or disk usage. Once all computes are reporting into the Placement service, however, and the FilterScheduler starts to use the Placement service for decisions, those excluded filters are ignored and the scheduler will make requests based on VCPU, MEMORY_MB and DISK_GB inventory. If you wish to effectively ignore that type of resource for placement decisions, you will need to adjust the corresponding cpu_allocation_ratio, ram_allocation_ratio, and/or disk_allocation_ratio configuration options to be very high values, e.g. 9999.0...."

in my case i used it disk_allocation_ratio = 9999.0

and it worked , but a i don't know if it's the correct way for this solution or it's a wrong information with nova-placement in the relationship cinder resource capacity.

another solution is the root_disk = 0 in the flavor, but in the documentation appears this's only use for testing or booting instance.

i'm excuse me for my case, but i read it diferent cases and i thinking in report it.

Description packages :

OpenSuse 42.3 pike

Repositorio : Pike
Nombre : openstack-nova-compute
Versión : 16.1.5~dev57-1.1
Arquitectura : noarch
Proveedor : obs://build.opensuse.org/Cloud:OpenStack
Tamaño de instalación : 21,5 KiB
Instalado : Si
Estado : obsoleto (instalada la versión 16.1.5~dev49-1.1)
Paquete de fuentes : openstack-nova-16.1.5~dev57-1.1.src
Resumen : OpenStack Compute (Nova) - Compute

--------------------------------------------------
Repositorio : Pike
Nombre : openstack-nova-scheduler
Versión : 16.1.5~dev57-1.1
Arquitectura : noarch
Proveedor : obs://build.opensuse.org/Cloud:OpenStack
Tamaño de instalación : 11,1 KiB
Instalado : Si
Estado : obsoleto (instalada la versión 16.1.5~dev49-1.1)
Paquete de fuentes : openstack-nova-16.1.5~dev57-1.1.src
Resumen : OpenStack Compute (Nova) - Scheduler
Descripción :
    This package contains the scheduler for OpenStack.

--------------------------------------------
Repositorio : Pike
Nombre : openstack-nova-api
Versión : 16.1.5~dev57-1.1
Arquitectura : noarch
Proveedor : obs://build.opensuse.org/Cloud:OpenStack
Tamaño de instalación : 18,0 KiB
Instalado : Si
Estado : obsoleto (instalada la versión 16.1.5~dev49-1.1)
Paquete de fuentes : openstack-nova-16.1.5~dev57-1.1.src
Resumen : OpenStack Compute (Nova) - API
Descripción :
    This package contains the OpenStack Nova API.

Ubuntu 18 LTS queen:

Package: nova-compute
Version: 2:17.0.5-0ubuntu1
State: installed
Automatically installed: no
Priority: extra
Section: net
Maintainer: Ubuntu Developers <email address hidden>
Architecture: all

Package: nova-scheduler
Version: 2:17.0.5-0ubuntu1
State: installed
Automatically installed: no
Priority: extra
Section: net
Maintainer: Ubuntu Developers <email address hidden>

Package: nova-api
Version: 2:17.0.5-0ubuntu1
State: installed
Automatically installed: no
Priority: extra
Section: net
Maintainer: Ubuntu Developers <email address hidden>

regards